Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouLaura Paula Alterado mais de 9 anos atrás
1
1 Árvores de Decisão Marcílio Souto DIMAp/UFRN
2
2 Árvores de Decisão – ADs (1/4) zForma mais simples: yLista de perguntas respostas “sim” ou “não” yHierarquicamente arranjadas yLevam a uma decisão zEstrutura da árvore determinada por meio de aprendizado
3
3 ADs – treinamento (1/10) zTreinamento yAD encontra regras que recursivamente bifurcam (baseadas nos valores dos atributos) o conjunto de dados xSub-conjuntos homogêneos intra sub-conjuntos e xSub-conjuntos heterogêneos inter sub-conjuntos zConteúdo dos sub-conjuntos pode ser descrito por um conjunto de regras
4
4 ADs – treinamento (2/10) Base de Dados “Tempo”
5
5 ADs – treinamento (3/10) Outlook? Sunny Overcast Rain
6
6 ADs – treinamento (4/10)
7
7 ADs – treinamento (5/10) Outlook? Sunny Overcast Rain Humidity? InstOutlookTempHumWindPlay D9sunnycoolnormalweak yes D11sunnymildnormalstrong yes InstOutlookTempHumWindPlay D1sunnyhothighweak no D2sunnyhothighstrong no D8sunnymildhighweak no NormalHigh YES
8
8 ADs – treinamento (6/10)
9
9 ADs – treinamento (7/10) Outlook? Sunny Overcast Rain Humidity? Normal High YES NO Wind? WeakStrong
10
10 ADs – treinamento (8/10) Outlook? Sunny Overcast Rain Humidity? Normal High YES NO Wind? WeakStrong YES NO
11
11 ADs – treinamento (9/10)
12
12 ADs – treinamento (10/10) Como classificar ? Outlook? Sunny Overcast Rain Humidity? Normal High YES NO Wind? WeakStrong YES NO
13
13 Indução top-down de árvores de decisão zQual é o melhor atributo? [29+, 35-] [21+, 5-][8+, 30-] [29+, 35-] A2=? [18+, 33-][11+, 2-] A1=?
14
14 Entropia (1/3) zS é uma amostra dos exemplos de treinamento zp é a proporção de exemplos positivos em S zp é a proporção de exemplos negativos em S zEntropia mede a “impureza” de S: yEntropia(S)=- p log 2 p - p log 2 p yPara mais de duas (n) classes
15
15 Entropia (2/3) zEntropia(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.
16
16 Entropia (3/3) zPortanto, o nr. de bits esperados para codificar ou de elementos aleatórios de S: y p (-log 2 p ) + p (-log 2 p ) yEntropia(S)=- p log 2 p - p log 2 p
17
17 Entropia - Exemplo I zSe p é 1, o destinatário sabe que o exemplo selecionado será positivo yNenhuma mensagem precisa ser enviada yEntropia é 0 (mínima) zSe p é 0.5, um bit é necessário para indicar se o exemplo selecionado é ou yEntropia é 1 (máxima) zSe 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
18
18 Entropia - Gráfico
19
19 Entropia - Exemplo I zSuponha que S é uma coleção de 14 exemplos, incluindo 9 positivos e 5 negativos (o exemplo da base de dados “Tempo”) yNotação: [9+,5-] zA entropia de S em relação a esta classificação booleana é dada por:
20
20 Critério de ganho (1/2) Gain(S,A)=redução esperada da entropia devido a “classificação” de acordo com A
21
21 Critério de ganho (2/2) zUsar o critério de ganho para decidir! [29+, 35-] [21+, 5-][8+, 30-] [29+, 35-] A2=? [18+, 33-][11+, 2-] A1=?
22
22 Critério de ganho - Exemplo (1/2) zSuponha 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”).
23
23 Critério de ganho - Exemplo (2/2)
24
24 Exemplos de treinamento (1/3)
25
25 Exemplos de treinamento (2/3) zQue atributo deve ser selecionado para ser a raiz da árvore? yGain(S,Outlook) = 0.246 yGain(S,Humidity) = 0.151 yGain(S,Wind) = 0.048 yGain(S,Temperature) = 0.029 zem que S denota a coleção de exemplos na tabela anterior
26
26
27
27 Overfitting em árvores de decisão zSuponha que adicionamos um exemplo de treinamento com ruído #15: ySunny, Hot, Normal, Strong, PlayTennis=No yQual seria seu efeito na árvore anterior:
28
28 Overfitting zConsidere o erro da hipótese h sobre ydados do treinamento: erro train (h) ydistribuição completa D dos dados: erro D (h) zUma hipótese h H “overfits” (se super ajusta) o conjunto de dados se há uma hipótese alternativa h´ H tal que yerro train (h) < erro train (h´) e yerro D (h) > erro D (h´)
29
29 Overfitting na aprendizagem de árvores de decisão (1/2)
30
30 Overfitting na aprendizagem de árvores de decisão (2/2) zComo evitar overfitting? yParar o crescimento da árvore quando a divisão dos dados não é estatisticamente significativa yDeixar a árvore crescer completamente para, então, poda-la (post-prune) zComo escolher a “melhor” árvore: yMedir a performance sobre o cj. de dados treinamento yMedir a performance sobre um cj. de dados (separado) de validação yMDL: minimizar - size(tree)+size(misclassification(tree))
31
31 Reduzindo o erro através da poda zDivida os dados em cj. de treinamento e validação zFaça até que uma poda adicional seja prejudicial: y1. Avalie o impacto sobre o cj. de validação de podar cada nó possível (e seus descendentes) y2. Gulosamente remova aquele que melhora mais a performance no cj. de validação
32
32 Efeito do uso da técnica de poda
33
33 Podando as regras z1. Converta a árvore para um conjunto equivalente de regras z2. Pode cada regra independentemente umas das outras z3. Ordene as regras finais em uma seqüência deseja para uso yEstes é um dos métodos mais utilizados (e.g., C4.5)
34
34 Atributos com valores contínuos zCrie um atributo discreto para testar um que seja contínuo yTemperature = 82.5 y(Temperature > 72.3) = t,f Temperature: 40 48 60 72 80 90 PlayTennis: NO NO YES YES YES NO
35
35 Atributos Numéricos: Exemplo
36
36 Atributos Numéricos: Exemplo
37
37 Atributos Numéricos: Exemplo
38
38 Atributos Numéricos: Exemplo
39
39 Atributos Numéricos: Exemplo Sensor_1? > 83,46<= 83,46
40
40 Atributos Numéricos: Exemplo
41
41 Atributos Numéricos: Exemplo Sensor_1? > 83,46<= 83,46
42
42 Atributos Numéricos: Exemplo Sensor_1? > 83,46<= 83,46 Sensor_2? > 12,84 <= 12,84
43
43 Atributos Numéricos: Exemplo
44
44 Atributos Numéricos: Exemplo (Ruído)
45
45 Atributos Numéricos: Exemplo (Ruído) Sensor_1? > 83,46<= 83,46 Sensor_2? > 12,74 <= 12,74
46
46 Atributos Numéricos: Exemplo (Ruído) Sensor_1? > 83,46<= 83,46 Sensor_2? > 12,74 <= 12,74 Sensor_2? >13,30 <=13,30 Overfitting!
47
47 Atributos com vários valores (1/2) zProblema: ySe o atributo tem vários valores, Gain o selecionará ySuponha o uso de Date = 3/06/00 como atributo zUm abordagem: use GainRatio
48
48 Atributos com vários valores (2/2) Onde S i é um subconjunto de S para o qual A tem valor v i
49
49 Atributos com custo zConsidere yDiagnóstico médico, BloodTest tem custo R$500 yRobótica, Width_from_1ft tem custo 23 sec. zComo aprender uma árvore consistente com um valor de custo esperado baixo? zUma abordagem: substitua Gain por:
50
50 Atributos com custo (2/2) Tan e Schlimmer (1990) Nunez (1988) Onde w [0,1] determinar a importância do custo
51
51 Valores de atributo desconhecidos (1/2) zE se valores do atributo A estão faltando para alguns exemplos? zMesmo assim use os exemplos de treinamento, e organize a árvore como segue: ySe um nó n testa A, atribua um valor para A que seja o mais comum entre os outros exemplos classificados nó n yAtribua para A um valor que seja o mais comum entre os outros exemplos com o mesmo valor objetivo (target value )
52
52 Valores de atributo desconhecidos (2/2) yAtribua uma probabilidade p i para cada valor possível v i de A xatribua uma fração p i de exemplos para cada descendente da árvore yClassifique exemplos novos da mesma maneira
53
53 ADs - conclusão zVantagens: yEstrutura de fácil manipulação yProduzem modelos que podem ser facilmente interpretados por humanos zDesvantagens: yPouca robustez a dados de grande dimensão yAcurácia afetada por atributos pouco relevantes yDificuldade em lidar com dados contínuos
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.