rvores de Deciso Marclio Souto DIMApUFRN 1 rvores

  • Slides: 53
Download presentation
Árvores de Decisão Marcílio Souto DIMAp/UFRN 1

Árvores de Decisão Marcílio Souto DIMAp/UFRN 1

Árvores de Decisão – ADs (1/4) z. Forma mais simples: y. Lista de perguntas

Árvores de Decisão – ADs (1/4) z. Forma mais simples: y. Lista de perguntas respostas “sim” ou “não” y. Hierarquicamente arranjadas y. Levam a uma decisão z. Estrutura da árvore determinada por meio de aprendizado 2

ADs – treinamento (1/10) z. Treinamento y. AD encontra regras que recursivamente bifurcam (baseadas

ADs – treinamento (1/10) z. Treinamento y. AD encontra regras que recursivamente bifurcam (baseadas nos valores dos atributos) o conjunto de dados x. Sub-conjuntos homogêneos intra sub-conjuntos e x. Sub-conjuntos heterogêneos inter sub-conjuntos z. Conteúdo dos sub-conjuntos pode ser descrito por um conjunto de regras 3

ADs – treinamento (2/10) Base de Dados “Tempo” 4

ADs – treinamento (2/10) Base de Dados “Tempo” 4

ADs – treinamento (3/10) Outlook? Sunny Rain Overcast 5

ADs – treinamento (3/10) Outlook? Sunny Rain Overcast 5

ADs – treinamento (4/10) 6

ADs – treinamento (4/10) 6

ADs – treinamento (5/10) Outlook? Sunny YES Humidity? Normal Inst D 9 D 11

ADs – treinamento (5/10) Outlook? Sunny YES Humidity? Normal Inst D 9 D 11 Outlook Temp sunny cool sunny mild Hum Wind Play normal weak yes normal strong yes Rain Overcast High Inst D 1 D 2 D 8 Outlook sunny Temp hot mild Hum high Wind weak strong weak Play no no no 7

ADs – treinamento (6/10) 8

ADs – treinamento (6/10) 8

ADs – treinamento (7/10) Outlook? Sunny Humidity? Normal Overcast YES Wind? High Weak YES

ADs – treinamento (7/10) Outlook? Sunny Humidity? Normal Overcast YES Wind? High Weak YES Rain Strong NO 9

ADs – treinamento (8/10) Outlook? Sunny Humidity? Normal YES High NO Overcast Rain YES

ADs – treinamento (8/10) Outlook? Sunny Humidity? Normal YES High NO Overcast Rain YES Wind? Weak Strong YES NO 10

ADs – treinamento (9/10) 11

ADs – treinamento (9/10) 11

ADs – treinamento (10/10) Como classificar <rain, hot, high, normal, strong>? Outlook? Sunny Humidity?

ADs – treinamento (10/10) Como classificar <rain, hot, high, normal, strong>? Outlook? Sunny Humidity? Normal YES High NO Overcast Rain YES Wind? Weak Strong YES NO 12

Indução top-down de árvores de decisão z Qual é o melhor atributo? [29+ ,

Indução top-down de árvores de decisão z Qual é o melhor atributo? [29+ , 35 -] A 1=? [21+, 5 -] [8+, 30 -] [29+ , 35 -] A 2=? [18+ , 33 -] [11+ , 2 -] 13

Entropia (1/3) z S é uma amostra dos exemplos de treinamento z p é

Entropia (1/3) z S é uma amostra dos exemplos de treinamento z p é a proporção de exemplos positivos em S z p é a proporção de exemplos negativos em S z Entropia mede a “impureza” de S: y. Entropia(S)=- p log 2 p y. Para mais de duas (n) classes 14

Entropia (2/3) z Entropia(S)=especifica o nr. mínimo de bits de informação necessário para codificar

Entropia (2/3) z Entropia(S)=especifica o nr. mínimo de bits de informação necessário para codificar uma classificação de um membro arbitrário de S. 15

Entropia (3/3) z Portanto, o nr. de bits esperados para codificar ou de elementos

Entropia (3/3) z Portanto, o nr. de bits esperados para codificar ou de elementos aleatórios de S: y p (-log 2 p ) + p (-log 2 p ) y. Entropia(S)=- p log 2 p 16

Entropia - Exemplo I z Se p é 1, o destinatário sabe que o

Entropia - Exemplo I z Se p é 1, o destinatário sabe que o exemplo selecionado será positivo y. Nenhuma mensagem precisa ser enviada y. Entropia é 0 (mínima) z Se p é 0. 5, um bit é necessário para indicar se o exemplo selecionado é ou y. Entropia é 1 (máxima) z Se p é 0. 8, então uma coleção de mensagens podem ser codificadas usando-se - em média menos de um bit - códigos mais curtos para e mais longos para 17

Entropia - Gráfico 18

Entropia - Gráfico 18

Entropia - Exemplo I z Suponha que S é uma coleção de 14 exemplos,

Entropia - Exemplo I z Suponha que S é uma coleção de 14 exemplos, incluindo 9 positivos e 5 negativos (o exemplo da base de dados “Tempo”) y. Notação: [9+, 5 -] z A entropia de S em relação a esta classificação booleana é dada por: 19

Critério de ganho (1/2) Gain(S, A)=redução esperada da entropia devido a “classificação” de acordo

Critério de ganho (1/2) Gain(S, A)=redução esperada da entropia devido a “classificação” de acordo com A 20

Critério de ganho (2/2) z. Usar o critério de ganho para decidir! [29+ ,

Critério de ganho (2/2) z. Usar o critério de ganho para decidir! [29+ , 35 -] A 1=? [21+, 5 -] [8+, 30 -] [29+ , 35 -] A 2=? [18+ , 33 -] [11+ , 2 -] 21

Critério de ganho - Exemplo (1/2) z Suponha que S é uma coleção de

Critério de ganho - Exemplo (1/2) z Suponha que S é uma coleção de exemplos de treinamento ([9+, 5 -]) descritos por atributos incluindo Wind, que pode ter os valores Weak and Strong (base d dados “Tempo”). 22

Critério de ganho - Exemplo (2/2) 23

Critério de ganho - Exemplo (2/2) 23

Exemplos de treinamento (1/3) 24

Exemplos de treinamento (1/3) 24

Exemplos de treinamento (2/3) z. Que atributo deve ser selecionado para ser a raiz

Exemplos de treinamento (2/3) z. Que atributo deve ser selecionado para ser a raiz da árvore? y. Gain(S, Outlook) = 0. 246 y. Gain(S, Humidity) = 0. 151 y. Gain(S, Wind) = 0. 048 y. Gain(S, Temperature) = 0. 029 zem que S denota a coleção de exemplos na tabela anterior 25

26

26

Overfitting em árvores de decisão z Suponha que adicionamos um exemplo de treinamento com

Overfitting em árvores de decisão z Suponha que adicionamos um exemplo de treinamento com ruído #15: y Sunny, Hot, Normal, Strong, Play. Tennis=No y Qual seria seu efeito na árvore anterior: 27

Overfitting z Considere o erro da hipótese h sobre ydados do treinamento: errotrain(h) ydistribuição

Overfitting z Considere o erro da hipótese h sobre ydados do treinamento: errotrain(h) ydistribuição completa D dos dados: erro. D(h) z Uma hipótese h H “overfits” (se super ajusta) o conjunto de dados se há uma hipótese alternativa h´ H tal que yerrotrain(h) < errotrain(h´) e yerro. D(h) > erro. D(h´) 28

Overfitting na aprendizagem de árvores de decisão (1/2) 29

Overfitting na aprendizagem de árvores de decisão (1/2) 29

Overfitting na aprendizagem de árvores de decisão (2/2) z Como evitar overfitting? y. Parar

Overfitting na aprendizagem de árvores de decisão (2/2) z Como evitar overfitting? y. Parar o crescimento da árvore quando a divisão dos dados não é estatisticamente significativa y. Deixar a árvore crescer completamente para, então, poda-la (post-prune) z Como escolher a “melhor” árvore: y. Medir a performance sobre o cj. de dados treinamento y. Medir a performance sobre um cj. de dados (separado) de validação y. MDL: minimizar - size(tree)+size(misclassification(tree)) 30

Reduzindo o erro através da poda z Divida os dados em cj. de treinamento

Reduzindo o erro através da poda z Divida os dados em cj. de treinamento e validação z Faça até que uma poda adicional seja prejudicial: y 1. Avalie o impacto sobre o cj. de validação de podar cada nó possível (e seus descendentes) y 2. Gulosamente remova aquele que melhora mais a performance no cj. de validação 31

Efeito do uso da técnica de poda 32

Efeito do uso da técnica de poda 32

Podando as regras z 1. Converta a árvore para um conjunto equivalente de regras

Podando as regras z 1. Converta a árvore para um conjunto equivalente de regras z 2. Pode cada regra independentemente umas das outras z 3. Ordene as regras finais em uma seqüência deseja para uso y. Estes é um dos métodos mais utilizados (e. g. , C 4. 5) 33

Atributos com valores contínuos z. Crie um atributo discreto para testar um que seja

Atributos com valores contínuos z. Crie um atributo discreto para testar um que seja contínuo y. Temperature = 82. 5 y(Temperature > 72. 3) = t, f Temperature: 40 48 60 72 80 90 Play. Tennis: NO NO YES YES NO 34

Atributos Numéricos: Exemplo 35

Atributos Numéricos: Exemplo 35

Atributos Numéricos: Exemplo 36

Atributos Numéricos: Exemplo 36

Atributos Numéricos: Exemplo 37

Atributos Numéricos: Exemplo 37

Atributos Numéricos: Exemplo 38

Atributos Numéricos: Exemplo 38

Atributos Numéricos: Exemplo Sensor_1? > 83, 46 <= 83, 46 39

Atributos Numéricos: Exemplo Sensor_1? > 83, 46 <= 83, 46 39

Atributos Numéricos: Exemplo 40

Atributos Numéricos: Exemplo 40

Atributos Numéricos: Exemplo Sensor_1? > 83, 46 <= 83, 46 41

Atributos Numéricos: Exemplo Sensor_1? > 83, 46 <= 83, 46 41

Atributos Numéricos: Exemplo Sensor_1? > 83, 46 <= 83, 46 Sensor_2? > 12, 84

Atributos Numéricos: Exemplo Sensor_1? > 83, 46 <= 83, 46 Sensor_2? > 12, 84 <= 12, 84 42

Atributos Numéricos: Exemplo 43

Atributos Numéricos: Exemplo 43

Atributos Numéricos: Exemplo (Ruído) 44

Atributos Numéricos: Exemplo (Ruído) 44

Atributos Numéricos: Exemplo (Ruído) Sensor_1? > 83, 46 <= 83, 46 Sensor_2? > 12,

Atributos Numéricos: Exemplo (Ruído) Sensor_1? > 83, 46 <= 83, 46 Sensor_2? > 12, 74 <= 12, 74 45

Atributos Numéricos: Exemplo (Ruído) Sensor_1? > 83, 46 <= 83, 46 Sensor_2? > 12,

Atributos Numéricos: Exemplo (Ruído) Sensor_1? > 83, 46 <= 83, 46 Sensor_2? > 12, 74 >13, 30 <= 12, 74 Sensor_2? <=13, 30 Overfitting! 46

Atributos com vários valores (1/2) z Problema: y. Se o atributo tem vários valores,

Atributos com vários valores (1/2) z Problema: y. Se o atributo tem vários valores, Gain o selecionará y. Suponha o uso de Date = 3/06/00 como atributo z Um abordagem: use Gain. Ratio 47

Atributos com vários valores (2/2) Onde Si é um subconjunto de S para o

Atributos com vários valores (2/2) Onde Si é um subconjunto de S para o qual A tem valor vi 48

Atributos com custo z Considere y. Diagnóstico médico, Blood. Test tem custo R$500 y.

Atributos com custo z Considere y. Diagnóstico médico, Blood. Test tem custo R$500 y. Robótica, Width_from_1 ft tem custo 23 sec. z Como aprender uma árvore consistente com um valor de custo esperado baixo? z Uma abordagem: substitua Gain por: 49

Atributos com custo (2/2) Tan e Schlimmer (1990) Nunez (1988) Onde w [0, 1]

Atributos com custo (2/2) Tan e Schlimmer (1990) Nunez (1988) Onde w [0, 1] determinar a importância do custo 50

Valores de atributo desconhecidos (1/2) z E se valores do atributo A estão faltando

Valores de atributo desconhecidos (1/2) z E se valores do atributo A estão faltando para alguns exemplos? z Mesmo assim use os exemplos de treinamento, e organize a árvore como segue: y. Se um nó n testa A, atribua um valor para A que seja o mais comum entre os outros exemplos classificados nó n y. Atribua para A um valor que seja o mais comum entre os outros exemplos com o mesmo valor objetivo (target value) 51

Valores de atributo desconhecidos (2/2) y. Atribua uma probabilidade pi para cada valor possível

Valores de atributo desconhecidos (2/2) y. Atribua uma probabilidade pi para cada valor possível vi de A xatribua uma fração pi de exemplos para cada descendente da árvore y. Classifique exemplos novos da mesma maneira 52

ADs - conclusão z Vantagens: y. Estrutura de fácil manipulação y. Produzem modelos que

ADs - conclusão z Vantagens: y. Estrutura de fácil manipulação y. Produzem modelos que podem ser facilmente interpretados por humanos z Desvantagens: y. Pouca robustez a dados de grande dimensão y. Acurácia afetada por atributos pouco relevantes y. Dificuldade em lidar com dados contínuos 53