Induo de rvore de Deciso Jacques Robin Roteiro
Indução de Árvore de Decisão Jacques Robin
Roteiro 1. 2. 3. 4. 5. 6. 7. 8. 9. Entrada e saída da indução de árvore decisão Tarefas de aprendizagem implementadas por ID 3 Exemplo Algoritmo básico e complexidade Heurísticas de escolha do atributo de partição de exemplos Poda da árvore para evitar overfitting Atributos numéricos, multi-valorados, nulos e numerosos Árvores de regressão e de modelo Vantagens e limitações de ID 3
Entrada e saída da indução de árvore de decisão (ID 3) age? 30. . 40 <=30 student? no yes >40 credit rating? yes excellent fair no yes
Tarefas de aprendizagem realizáveis por ID 3 E Classificação: E Atributos classificadores nos ramos E Valores da classe nas folhas E Regressão: E Valores das variáveis fornecidas nos ramos E Valor da variável a estimar nas folhas E Previsão temporal: E Valores passadas do atributo a prever nos ramos E Valor futura do atributo a prever nas folhas E Detecção de padrão: E Valores antecedentes da associação nos ramos E Valores conseqüentes da associação nas folhas E Controle: E Atributos descrevendo situação nos ramos E Ação a executar nessa situação nas folhas E Otimização: E Valores das variáveis do domínio da função a otimizar nos ramos E Valor da imagem máxima ou mínima da função das folhas
Expressividade das árvores de decisão E Representação como programa lógico: age? 30. . 40 <=30 student? no yes >40 credit rating? yes excellent fair no yes buy(X, computer) : - age(X) <= 30, student(X), credit. Rating(X, fair). buy(X, computer) : - age(X) >= 30, age(X) <= 40. buy(X, computer) : - age(X) > 40, credit. Rating(X, fair).
Expressividade das árvores de decisão E Representação proposicional: age? 30. . 40 <=30 student? no yes >40 credit rating? yes excellent fair no yes ((under 30 student) 30 something (over 40 fair. Credit. Rating) buy. Computer ((under 30 student) (over 40 excellent. Credit. Rating) buy. Computer) (under 30 30 something over 40) (under 30 30 something) (under 30 over 40) (over 40 30 something) (fair. Credit. Rating excellent. Credit. Rating)
Expressividade das árvores de decisão E Pode representar qualquer função booleana E 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 E Cardinal do espaço de hipótese de uma tarefa de aprendizagem com 6 atributos booleanos: 18. 446. 744. 073. 709. 551. 661 E Mesmo para problemas pequenos: E Aprender árvores pequenos o suficiente para serem inteligível e então validáveis E Requer heurísticas (i. e. , viés) podendo a busca no espaço de hipótese de maneira violenta E 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. . .
Algoritmo básico de ID 3 E Escolher dentro do conjunto de atributo atual A = {A 1, . . . , Ak} o atributo Ai que separa melhor o conjunto atual de exemplos E em termos dos valores do atributo a prever P E Dividir E em termos dos valores de Ai = {Vi 1, . . . , Vik} i. e. , E = Ej, x Ej, Ai(x) = Vij, criando um novo arco teste Ai(x) = Vii na árvore para cada Ej E Para todos Ei ainda heterogêneos em termos do valor de P i. e. , x, y Ei, P(x) P(y), E Recursivamente reaplicar algoritmo sobre Ej com o conjunto de atributo A´= A – {Ai} E Continuar até que: E Todos os Ej seja homogêneos em termos do valor de P E Não tenha mais atributos a processar, i. e. , A´=
Viés de aprendizagem de ID 3 age E Árvore aprendida com viés de ID 3 E Número de bits: 3 <=30 30. . 40 >40 student buy + - - + credit excel fair - + + E Árvore “aprendida” sem viés E Número de bits: 6 age BC <=30 30. . 40 >40 income high medium low student student student + - + - + - CR CR CR CR CR e f ? ? e f e ? ? f e f e ? ? ? f e f ? ? e f e f e f e ? ? f e f e f ? ?
Heurísticas de escolha de atributo de partição de exemplos E Ganho da informação E Índice GINI
Ganho da informação E Informação (em número de bits) esperada necessária para classificar, em m classes, amostra arbitrária de s exemplos: Si = numero de exemplos de classe i E Informação esperada necessária para classificar, em m classes, dado o valor, entre V valores possíveis, do atributo A (entropia de A): Si j = numero de exemplos de classe i com valor j para atributo A E Ganho de informação pelo conhecimento do valor de A:
Exemplo de escolha de atributo baseado na heurística do maior ganho de informação Class p: buys. Computer = “yes” g Class n: buys. Computer = “no” g I(p, n) = I(9, 5) = 0. 940 g Entropia para age: g age <= 30 para 5/14 dos exemplos dos quais 2 buy. Computer = yes e 3 buy. Computer = no
Exemplo de ID 3 age? <=30 31. . 40 +: e 9, e 11 +: e 3, e 7, e 12, e 13 -: e 1, e 2, e 8 >40 +: e 4, e 5, e 10 -: e 6, e 14
Exemplo de ID 3 age? <=30 31. . 40 +: e 9, e 11 +: e 3, e 7, e 12, e 13 -: e 1, e 2, e 8 student? no yes +: e 9, e 11 -: e 1, e 2, e 8 >40 +: e 4, e 5, e 10 -: e 6, e 14
Exemplo de ID 3 age? <=30 31. . 40 >40 +: e 9, e 11 +: e 3, e 7, e 12, e 13 +: e 4, e 5, e 10 -: e 1, e 2, e 8 -: e 6, e 14 student? credit rating? no yes excellent fair +: e 9, e 11 -: e 1, e 2, e 8 -: e 6, e 14 +: e 4, e 5, e 10
Poda de árvores para evitar overfitting E Broto de decisão: árvore de decisão de profundidade 1 E Em muitos casos, tão precisão se não melhor sobre conjunto de teste do que árvore de decisão completa gerada por ID 3 E Caso também de k. NN, Classificador Bayesiana Ingênuo e Regra de Classificação 1 R, i. e. , regra da forma: atributo a = v classe = c E 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 E Sugere idéia de podar árvores geradas por ID 3 para melhorar sua generalidade E Pré-poda: E Introduzir novo ramo na árvore apenas para gerar divisão de exemplos estatisticamente significativa (por exemplo usando um test 2 E Pós-poda: E 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
Operações de pós-poda: colapso de ramo age? 30. . 40 <=30 student? no yes >40 <=30 30. . 40 credit rating? yes excellent fair no yes >40 credit rating? no yes excellent fair no yes
Operações de pós-poda: elevação de ramo age? student? 30. . 40 <=30 student? no yes yes >40 no yes credit rating? age? credit rating? excellent fair <=30 30. . 40 >40 excellent fair no yes yes no yes
Pós-poda E Processa a árvore de baixo para cima estimando benefício, em cada nó, de uma das duas operações E Divide conjunto de exemplos em 3 partes: E Conjunto de construção da árvore E Conjunto de poda da árvore E Conjunto de teste da árvore podada E Problemático com conjunto de exemplos pequenos: E Solução de C 4. 5 E 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
Complexidade de ID 3 E Abstrair e exemplos de treinamento, Ecada um descrito por a atributos Epor uma árvore de decisão de profundidade O(log n) E Execução: O(log n) E Treinamento sem poda: O(mn log n) E Pós-poda: O(n (log n)2)
Outras dificuldades práticas E Atributos multi-valorados E ID 3 supõe que cada atributo de cada exemplo possui apenas um único valor E Nem é sempre o caso: ex, filhos de uma pessoa E Atributos com distribuição de valores muito desigual E ID 3 tende a gerar broto de decisão
Atributos numerosos E Ganho de informação super-estima atributos com muitos valores distintos E Atributos com um valor distinto por exemplo, completamente inútil para classificação, no entanto com maior ganho de informação E Uma solução simples: usar razão do ganho sobre número de valores do atributo
Atributos nulos E Utilização: E Como classificar novo exemplo com atributo nulo ? E Prever valor nulo como sendo valor adicional E Treinamento: E Simplesmente excluir exemplos ou atributos com valores nulos não é sempre viável porque: E As vezes exemplo com valor nulo para determinado atributo, é extremamente informativo com respeito a outros atributos, E ou atributo com valor nulo para determinado exemplo, é extremamente informativo via seus valores para outros exemplos E tamanho e dimensionalidade dos exemplos de treinamento ficam baixo demais E É necessário modificar a fórmula do ganho de informação para a tornar tolerante a valores nulos
Atributos numéricos E Qual é a partição em faixa de valores que maximiza o ganho de informação ?
Árvore de regressão Regressão linear paramêtrica: PRP = - 56. 1 + 0. 049 MYCT + 0. 015 MMIN + 0. 006 MMAX + 0. 630 CACH - 0. 270 CHMIN + 1. 46 CHMAX Árvore de regressão para mesma tarefa:
Árvore de modelo para mesma tarefa: LM 1: PRP = 8. 29 + 0. 004 MMAX + 2. 77 CHMIN LM 2: PRP = 20. 3 + 0. 004 MMIN – 3. 99 CHMIN + 0. 946 CHMAX LM 3: PRP = 38. 1 + 0. 012 MMIN LM 4: PRP = 19. 5 + 0. 002 MMAX + 0. 698 CACH + 0. 969 CHMAX LM 5: PRP = 285 – 1. 46 MYCT + 1. 02 CACH – 9. 39 CHMIN LM 6: PRP = -65. 8 + 0. 03 MMIN – 2. 94 CHMIN + 4. 98 CHMAX
Vantagens de ID 3 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 E Processa cada exemplo apenas uma única vez E E E
Limitações de ID 3 E Redundância para representar sem muita redundância funções sem ordem claro de poder separativo dos exemplos entre atributos E Não pode aprender relacionamentos genéricos entre vários indivíduos, E ex: árvore de decisão definindo conceito de mãe, de ancestral ? E Não é incremental: todos os exemplos tem que ser disponíveis com antecedência
- Slides: 28