Download - aula-ia08
Introdução à Inteligência Artificial
Aprendizado Simbólico Árvores de Decisão
Prof. André C. P. L. F. de CarvalhoMarcílio SoutoRenato TinósPAE Silvia Modonese
2
Esquema da apresentação• Representação de árvores de decisão• Problemas apropriados para árvores de decisão• Algoritmo de Aprendizagem Básico - ID3
• Entropia• Ganho de Informação
• Busca no espaço de estado• Bias indutivo• Problemas do algoritmo ID3 -> C4.5• Exemplos práticos
3
Árvore de Decisão para Diagnóstico<estado,dor,temperatura,diagnóstico>
Paciente tem dor?
Temperatura do paciente?
Paciente se sente bem?
sim não
saudávelnão
doente
<= 37 > 37
saudável doente
4
Árvore de Decisão para PlayTennis
<Outlook, Temperature, Humidity, Wind, PlayTenis>
5
Árvore para prever risco de cesariana
• Aprendida a partir do registro médico de 1000 mulheres
• Exemplos Negativos são cesarianas• [833+,167-] .83+ .17-• Fetal_Presentation = 1: [822+,116-] .88+ .12-• | Previous_Csection = 0: [767+,81-] .90+ .10-• | | Primiparous = 0: [399+,13-] .97+ .03-• | | Primiparous = 1: [368+,68-] .84+ .16-• | | | Fetal_Distress = 0: [334+,47-] .88+ .12-• | | | | Birth_Weight < 3349: [201+,10.6-] .95+ .05-• | | | | Birth_Weight >= 3349: [133+,36.4-] .78+ .22-• | | | Fetal_Distress = 1: [34+,21-] .62+ .38-• | Previous_Csection = 1: [55+,35-] .61+ .39-• Fetal_Presentation = 2: [3+,29-] .11+ .89-• Fetal_Presentation = 3: [8+,22-] .27+ .73-
6
Árvores de Decisão• Representação de árvores de decisão
• Cada nó interno testa um atributo• Cada ramo corresponde a um valor do atributo• Cada folha atribui uma classificação
• Como representaríamos:• ∧, ∨, XOR• (A ∧ B) ∨ (C ∧ ¬ D ∧ E)• M de N
7
Quando usar árvores de decisão?• Instâncias (exemplos) são representadas por
pares atributo-valor• Função objetivo assume apenas valores
discretos• Hipóteses disjuntivas podem ser
necessárias• Conjunto de treinamento possivelmente
corrompido por ruído• Exemplos:
• Diagnóstico médico, diagnóstico de equipamentos, análise de crédito
8
Indução top-down de árvores de decisão (1/2) – ID3
• Loop principal:1. A ← o “melhor” atributo de decisão para o
próximo nó2. Atribua A como atributo de decisão para nó3. Para cada valor de A, crie um novo
descendente para nó4. Classifique os exemplos de treinamento nos
nós folha5. Se os exemplos de treinamento estão
classificados perfeitamente, então PARE, senão comece novamente a partir dos novos nós folha
9
Indução top-down de árvores de decisão (2/2)
• Qual é o melhor atributo?[29+ , 35-]
[21+, 5-] [8+, 30-]
[29+ , 35-]
A2=?
[18+ , 33-] [11+ , 2-]
A1=?
10
Entropia (1/3)
• S é uma amostra dos exemplos de treinamento
• p⊕ é a proporção de exemplos positivos em S
• p é a proporção de exemplos negativos em S
• Entropia mede a “impureza” de S:• Entropia(S)=- p⊕ log2 p⊕ - p log2 p
11
Entropia (2/3)
• 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
• Por quê?• Teoria da Informação: códigos de comprimento
ótimo atribui -log2p bits para mensagens que possuem probabilidade p
12
Critério de ganho (1/2)
)(||||
)(),()(
vAValuesv
v SEntropySSSEntropyASGain ∑
∈
−≡
Gain(S,A)=redução esperada da entropia devido a “classificação” de acordo com A
em que Entropy(S)=- p⊕ log2 p⊕ - p log2 pEntropy -> Entropia
13
Critério de ganho (2/2)
• Usar o critério de ganho para decidir![29+ , 35-]
[21+, 5-] [8+, 30-]
[29+ , 35-]
A2=?
[18+ , 33-] [11+ , 2-]
A1=?
14
Critério de ganho - Exemplo (1/2)• Suponha que S é uma coleção de exemplos de treinamento ([9+,5-])
descritos por atributos incluindo Wind, que pode ter os valores Weakand Strong
048.000.1*)14/6(811.0*)14/8(940.0
)()14/6()()14/8()(
)(||||
)(),(
]3,3[]2,6[]5,9[
,)(
},{
=−−=
−−=
−=
−+=−+=−+=
=
∑∈
StrongWeak
vStrongWeakv
v
Strong
Weak
SEntropySEntropySEntropy
SEntropySSSEntropyWindSGain
SS
SStrongWeakWindValues
15
Critério de ganho - Exemplo (2/2)
16
Exemplos de treinamento (1/6)
Day Outlook Temperature Humidity Wind PlayTennisD1 Sunny Hot High Weak NoD2 Sunny Hot High Strong NoD3 Overcast Hot High Weak YesD4 Rain Mild High Weak YesD5 Rain Cool Normal Weak YesD6 Rain Cool Normal Strong NoD7 Overcast Cool Normal Strong YesD8 Sunny Mild High Weak NoD9 Sunny Cool Normal Weak YesD10 Rain Mild Normal Weak YesD11 Sunny Mild Normal Strong YesD12 Overcast Mild High Strong YesD13 Overcast Hot Normal Weak YesD14 Rain Mild High Strong No
Considere a tarefa de aprendizagem representada pelos exemplos de treinamento na tabela abaixo, onde o objetivo é prever o atributo PlayTenis baseando-se nos outros atributos
17
Exemplos de treinamento (2/6)
• Que atributo deve ser selecionado para ser a raiz da árvore?• Gain(S,Outlook) = 0.246• Gain(S,Humidity) = 0.151• Gain(S,Wind) = 0.048• Gain(S,Temperature) = 0.029
• Em que S denota a coleção de exemplos na tabela anterior
18
Exemplos de treinamento (3/6)
19
Exemplos de treinamento (4/6)
Teste Exemplo Outlook Temperature Humidity Wind Play? If outlook=sunny D1
D2 D8 D9 D11
Sunny Sunny Sunny Sunny Sunny
Hot Hot Mild Cool Mild
High High High Normal Normal
Weak Strong Weak Weak Strong
No No No Yes Yes
If outlook=overcast
D3 D7 D12 D13
Overcast Overcast Overcast Overcast
Hot Cold Mild Hot
High Normal High Normal
Weak Strong Strong Weak
Yes Yes Yes Yes
If outlook=rain D4 D5 D6 D10 D14
Rain Rain Rain Rain Rain
Mild Cool Cool Mild Mild
High Normal Normal Normal High
Weak Weak Strong Weak Strong
Yes Yes No Yes No
20
Exemplos de treinamento (5/6)
21
Exemplos de treinamento (6/6)
Teste Exemplo Outlook Temperature Humidity Wind Play? If outlook=sunny and humidity=high
D1 D2 D8
Sunny Sunny Sunny
Hot Hot Mild
High High High
Weak Strong Weak
No No No
If outlook=sunny and humidity=nomal
D9 D11
Sunny Sunny
Cool Mild
Normal Normal
Weak Strong
Yes Yes
If outlook=overcast
D3 D7 D12 D13
Overcast Overcast Overcast Overcast
Hot Cold Mild Hot
High Normal High Normal
Weak Strong Strong Weak
Yes Yes Yes Yes
If outlook=rain and wind=strong
D6 D14
Rain Rain
Cool Mild
Normal High
Strong Strong
No No
If outlook=rain and wind=weak
D4 D5 D10
Rain Rain Rain
Mild Cool Mild
High Normal Normal
Weak Weak Weak
Yes Yes Yes
22
Busca no espaço de hipóteses -ID3
23
Busca no espaço de hipóteses por ID3
• Espaço de hipóteses completo• A função objetivo com certeza está contido nele
• Tem como saída uma única hipótese (qual?)• Não pode lidar com várias perguntas....
• Não há backtracking• Mínimo local
• Escolhas para busca baseadas em estatística• Robusto contra dados com ruído
• Inductive bias: aprox “prefere a menor árvore”
24
Overfitting em árvores de decisão• Suponha que adicionamos um exemplo de
treinamento com ruído #15:• Sunny, Hot, Normal, Strong, PlayTennis=No• Qual seria seu efeito na árvore anterior:
25
Overfitting – Super-ajustamento
• Considere o erro da hipótese h sobre• dados do treinamento: errotrain(h)• distribuição completa D dos dados: erroD(h)
• Uma hipótese h ∈ H “super-ajusta” o conjunto de dados se há uma hipótese alternativa h´ ∈ H tal que• errotrain(h) < errotrain(h´) e• erroD(h) > erroD(h´)
26
Overfitting na aprendizagem de árvores de decisão (1/2)
27
Overfitting na aprendizagem de árvores de decisão (2/2)
• Como evitar overfitting?• Parar o crescimento da árvore quando a divisão
dos dados não é estatisticamente significativa• Deixar a árvore crescer completamente para,
então, poda-la (post-prune)• Como escolher a “melhor” árvore:
• Medir a performance sobre o cj. de dados treinamento
• Medir a performance sobre um cj. de dados (separado) de validação
• MDL: minimizar -size(tree)+size(misclassification(tree))
28
Reduzindo o erro através da poda
• Divida os dados em cj. de treinamento e validação• Faça até que uma poda adicional seja prejudicial:
1. Avalie o impacto sobre o cj. de validação de podar cada nó possível (e seus descendentes)
2. Remova aquele que melhora mais a performance no cj. de validação
• Produz a menor versão da sub-árvore mais precisa• E se os dados são limitados?
29
Efeito do uso da técnica de poda
30
Podando as regras
1. Converta a árvore para um conjunto equivalente de regras
2. Pode cada regra independentemente umas das outras
3. Ordene as regras finais em uma seqüência deseja para uso
• Estes é um dos métodos mais utilizados (e.g., C4.5)
31
Convertendo uma árvore em regras
32
Convertendo uma árvore em regras
• IF (Outlook = Sunny) ∧ (Humidity = High)THEN PlayTennis = No
• IF (Outlook = Sunny) ∧ (Humidity = Normal) THEN PlayTennis = YES
..........
33
Atributos com valores contínuos
• Crie um atributo discreto para testar um que seja contínuo• Temperature = 82.5• (Temperature > 72.3) = t,f
Temperature: 40 48 60 72 80 90
PlayTennis: NO NO YES YES YES NO
34
Atributos com vários valores (1/2)
• Problema:• Se o atributo tem vários valores, Gain o
selecionará• Suponha o uso de Date = 3/06/00 como
atributo• Um abordagem: use GainRatio
35
Atributos com vários valores (2/2)
||||
log||||
),(
),(),(),(
21 S
SSSASmationSplitInfor
ASmationSplitInforASGainASGainRation
ic
i
i∑=
−≡
≡
Em que Si é um subconjunto de S para o qual A tem valor vi
36
Exemplos Práticos• GASOIL
• Sistema de separação de gás-óleo em plataformas de petróleo
• Sistema de 10 pessoas-ano se baseado em regras
• Desenvolvido em 100 pessoas-dia• Piloto automático de um Cessna
• Treinado por três pilotos• Obteve um desempenho melhor que os três
• Mineração de dados• Recuperação de Informação
37
Redes Neurais X Árvores de Decisão
• Algoritmo TREPAN• Representa uma rede neural através de
uma árvore de decisão• Algoritmo geral de extração de
conhecimento de redes neurais
38
Bibliografia
• Braga, A.;Carvalho, A. C. P. L. F. & Ludermir, T. : Redes Neurais Artificiais: Teoria e Aplicações. Publicado pela Editora Livro Técnico e Científico, Rio de Janeiro, Brasil, 2000 (livro texto)
• Rezende, S. O. (Coordenadora): Sistemas Inteligentes: Fundamentos e Aplicações. Publicado pela Editora ManoleLTDA, São Paulo, Brasil, 2002 (livro texto)
• Mithcell, T.: Machine Learning, McGraw-Hill, 1997.
• Haykin, S.: Neural Networks: A Comprehensive Foundation, Prentice Hall, 1999