aula-ia08

7
Introdução à Inteligência Artificial Aprendizado Simbólico Árvores de Decisão Prof. André C. P. L. F. de Carvalho Marcílio Souto Renato Tinós PAE 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ável nã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

description

ia

Transcript of aula-ia08

Page 1: 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

Page 2: aula-ia08

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

Page 3: aula-ia08

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)

Page 4: aula-ia08

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:

Page 5: aula-ia08

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)

Page 6: aula-ia08

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

Page 7: aula-ia08

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