A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Indução de Árvore de Decisão Jacques Robin. Roteiro 1.Entrada e saída da indução de árvore decisão 2.Tarefas de aprendizagem implementadas por ID3 3.Exemplo.

Apresentações semelhantes


Apresentação em tema: "Indução de Árvore de Decisão Jacques Robin. Roteiro 1.Entrada e saída da indução de árvore decisão 2.Tarefas de aprendizagem implementadas por ID3 3.Exemplo."— Transcrição da apresentação:

1 Indução de Árvore de Decisão Jacques Robin

2 Roteiro 1.Entrada e saída da indução de árvore decisão 2.Tarefas de aprendizagem implementadas por ID3 3.Exemplo 4.Algoritmo básico e complexidade 5.Heurísticas de escolha do atributo de partição de exemplos 6.Poda da árvore para evitar overfitting 7.Atributos numéricos, multi-valorados, nulos e numerosos 8.Árvores de regressão e de modelo 9.Vantagens e limitações de ID3

3 Entrada e saída da indução de árvore de decisão (ID3) age? student?credit rating? noyesfairexcellent no yes <=30>

4 Tarefas de aprendizagem realizáveis por ID3  Classificação:  Atributos classificadores nos ramos  Valores da classe nas folhas  Regressão:  Valores das variáveis fornecidas nos ramos  Valor da variável a estimar nas folhas  Previsão temporal:  Valores passadas do atributo a prever nos ramos  Valor futura do atributo a prever nas folhas  Detecção de padrão:  Valores antecedentes da associação nos ramos  Valores conseqüentes da associação nas folhas  Controle:  Atributos descrevendo situação nos ramos  Ação a executar nessa situação nas folhas  Otimização:  Valores das variáveis do domínio da função a otimizar nos ramos  Valor da imagem máxima ou mínima da função das folhas

5 Expressividade das árvores de decisão  Representação como programa lógico: buy(X,computer) :- age(X) <= 30, student(X), creditRating(X,fair). buy(X,computer) :- age(X) >= 30, age(X) <= 40. buy(X,computer) :- age(X) > 40, creditRating(X,fair). age? student?credit rating? noyesfairexcellent no yes <=30>

6 Expressividade das árvores de decisão  Representação proposicional:    ((under30  student)  30something  (over40  fairCreditRating)  buyComputer      ((under30   student)   (over40  excellentCreditRating)              buyComputer)  (under30  30something  over40)   (under30  30something)   (under30  over40)   (over40  30something)    (fairCreditRating  excellentCreditRating)      (fairCreditRating  excellentCreditRating) age? student?credit rating? noyesfairexcellent no yes <=30>

7 Expressividade das árvores de decisão  Pode representar qualquer função booleana  No entanto, algumas funções – como a função de paridade ou de maioria – só podem serem representadas por uma árvore de tamanho exponencial no número de atributos  Cardinal do espaço de hipótese de uma tarefa de aprendizagem com 6 atributos booleanos:  Mesmo para problemas pequenos:  Aprender árvores pequenos o suficiente para serem inteligível e então validáveis  Requer heurísticas (i.e., viés) podendo a busca no espaço de hipótese de maneira violenta  Em recuperação de informação utiliza-se geralmente um número de atributo igual a o número de palavras na língua utilizada nos documentos...

8 Algoritmo básico de ID3  Escolher dentro do conjunto de atributo atual A = {A 1,..., A k } o atributo A i que separa melhor o conjunto atual de exemplos E em termos dos valores do atributo a prever P  Dividir E em termos dos valores de A i = {V i 1,..., V i k } i.e., E =  E j,  x  E j, A i (x) = V i j, criando um novo arco teste A i (x) = V i i na árvore para cada E j  Para todos E i ainda heterogêneos em termos do valor de P i.e.,  x,y  E i, P(x)  P(y),  Recursivamente reaplicar algoritmo sobre E j com o conjunto de atributo A´= A – {A i }  Continuar até que:  Todos os Ej seja homogêneos em termos do valor de P  Não tenha mais atributos a processar, i.e., A´= 

9 Viés de aprendizagem de ID3 age <= >40 income highmediumlowhighmediumlowhighmediumlow student CR efefefefefefefefefefefefefefefefefef BC??????????????????????  Árvore aprendida com viés de ID3  Número de bits: 3 age <= >40 studentcredit +-excelfair buy-++-+  Árvore “aprendida” sem viés  Número de bits: 6

10  Ganho da informação  Índice GINI Heurísticas de escolha de atributo de partição de exemplos

11  Informação (em número de bits) esperada necessária para classificar, em m classes, amostra arbitrária de s exemplos:  Informação esperada necessária para classificar, em m classes, dado o valor, entre V valores possíveis, do atributo A (entropia de A):  Ganho de informação pelo conhecimento do valor de A: Ganho da informação S i = numero de exemplos de classe i S i j = numero de exemplos de classe i com valor j para atributo A

12  Class p: buysComputer = “yes”  Class n: buysComputer = “no”  I(p, n) = I(9, 5) =  Entropia para age: Exemplo de escolha de atributo baseado na heurística do maior ganho de informação age <= 30 para 5/14 dos exemplos dos quais 2 buyComputer = yes e 3 buyComputer = no

13 Exemplo de ID3 age? <=30> : e9, e11 -: e1, e2, e8 +: e3, e7, e12, e13+: e4, e5, e10 -: e6, e14

14 Exemplo de ID3 age? <=30> : e9, e11 -: e1, e2, e8 +: e3, e7, e12, e13+: e4, e5, e10 -: e6, e14 student? noyes +: e9, e11-: e1, e2, e8

15 Exemplo de ID3 age? <=30> : e9, e11 -: e1, e2, e8 +: e3, e7, e12, e13+: e4, e5, e10 -: e6, e14 student? noyes +: e9, e11-: e1, e2, e8 credit rating? fairexcellent -: e6, e14+: e4, e5, e10

16 Poda de árvores para evitar overfitting  Broto de decisão: árvore de decisão de profundidade 1  Em muitos casos, tão precisão se não melhor sobre conjunto de teste do que árvore de decisão completa gerada por ID3  Caso também de kNN, Classificador Bayesiana Ingênuo e Regra de Classificação 1R, i.e., regra da forma: atributo a = v  classe = c  Em processo de aprendizagem qualquer, sempre começar pelo uso desses métodos simplórios, pós as vezes eles são suficientes, e sempre eles constituem um caso base para a avaliação de métodos mais sofisticados  Sugere idéia de podar árvores geradas por ID3 para melhorar sua generalidade  Pré-poda:  Introduzir novo ramo na árvore apenas para gerar divisão de exemplos estatisticamente significativa (por exemplo usando um test  2  Pós-poda:  Podar árvore completa testando diferencia de precisão sobre outro conjunto de exemplos de duas operações de poda, colapso de ramo e subida de ramo

17 Operações de pós-poda: colapso de ramo age? student?credit rating? noyesfairexcellent no yes <=30> age? credit rating? fairexcellent no yes <=30>

18 Operações de pós-poda: elevação de ramo age? student?credit rating? noyesfairexcellent no yes <=30> no yes student? noyes credit rating?age? fairexcellent <=30>

19 Pós-poda  Processa a árvore de baixo para cima estimando benefício, em cada nó, de uma das duas operações  Divide conjunto de exemplos em 3 partes:  Conjunto de construção da árvore  Conjunto de poda da árvore  Conjunto de teste da árvore podada  Problemático com conjunto de exemplos pequenos:  Solução de C4.5  Executa poda sobre mesmo conjunto do que a construção, usando um estimador estatístico diferente do ganho de informação usado para construção

20 Complexidade de ID3  Abstrair e exemplos de treinamento,  cada um descrito por a atributos  por uma árvore de decisão de profundidade O(log n)  Execução: O(log n)  Treinamento sem poda: O(mn log n)  Pós-poda: O(n (log n) 2 )

21 Outras dificuldades práticas  Atributos multi-valorados  ID3 supõe que cada atributo de cada exemplo possui apenas um único valor  Nem é sempre o caso: ex, filhos de uma pessoa  Atributos com distribuição de valores muito desigual  ID3 tende a gerar broto de decisão

22 Atributos numerosos  Ganho de informação super-estima atributos com muitos valores distintos  Atributos com um valor distinto por exemplo, completamente inútil para classificação, no entanto com maior ganho de informação  Uma solução simples: usar razão do ganho sobre número de valores do atributo

23 Atributos nulos  Utilização:  Como classificar novo exemplo com atributo nulo ?  Prever valor nulo como sendo valor adicional  Treinamento:  Simplesmente excluir exemplos ou atributos com valores nulos não é sempre viável porque:  As vezes exemplo com valor nulo para determinado atributo, é extremamente informativo com respeito a outros atributos,  ou atributo com valor com valor nulo para determinado exemplo, é extremamente informativo via seus valores para outros exemplos  tamanho e dimensionalidade dos exemplos de treinamento ficam baixo demais  É necessário modificar a fórmula do ganho de informação para a tornar tolerante a valores nulos

24 Atributos numéricos  Qual é a partição em faixa de valores que maximiza o ganho de informação ?

25 Árvore de regressão Regressão linear paramêtrica: PRP = MYCT MMIN MMAX CACH CHMIN CHMAX Árvore de regressão para mesma tarefa:

26 Árvore de modelo LM1: PRP = MMAX CHMIN LM2: PRP = MMIN – 3.99 CHMIN CHMAX LM3: PRP = MMIN LM4: PRP = MMAX CACH CHMAX LM5: PRP = 285 – 1.46 MYCT CACH – 9.39 CHMIN LM6: PRP = MMIN – 2.94 CHMIN CHMAX Árvore de modelo para mesma tarefa:

27 Vantagens de ID3  Muito versátil  Algoritmo de aprendizagem muito simples, e então fácil de entender  Muito bem estudado  Eficiente e escalável  Disponível na grande maioria das caixas de ferramenta gerais para aprendizagem  Processa cada exemplo apenas uma única vez

28 Limitações de ID3  Redundância para representar sem muita redundância funções sem ordem claro de poder separativo dos exemplos entre atributos  Não pode aprender relacionamentos genéricos entre vários indivíduos,  ex: árvore de decisão definindo conceito de mãe, de ancestral ?  Não é incremental: todos os exemplos tem que ser disponíveis com antecedência


Carregar ppt "Indução de Árvore de Decisão Jacques Robin. Roteiro 1.Entrada e saída da indução de árvore decisão 2.Tarefas de aprendizagem implementadas por ID3 3.Exemplo."

Apresentações semelhantes


Anúncios Google