Você está na página 1de 7

Esquema da apresentao

Introduo Inteligncia
Artificial

Representao de rvores de deciso


Problemas apropriados para rvores de deciso
Algoritmo de Aprendizagem Bsico - ID3
Entropia
Ganho de Informao
Busca no espao de estado
Bias indutivo
Problemas do algoritmo ID3 -> C4.5
Exemplos prticos

Aprendizado Simblico
rvores de Deciso

Prof. Andr C. P. L. F. de Carvalho


Marclio Souto
Renato Tins
PAE Silvia Modonese

rvore de Deciso para PlayTennis

rvore de Deciso para Diagnstico


<estado,dor,temperatura,diagnstico>

<Outlook, Temperature, Humidity, Wind, PlayTenis>


Paciente se sente bem?
no

sim

Paciente tem dor?

saudvel
no

Temperatura do paciente?
<= 37

> 37

saudvel

doente

doente

rvore para prever risco de


cesariana

rvores de Deciso

Aprendida a partir do registro mdico de


1000 mulheres
Exemplos Negativos so cesarianas

Representao de rvores de deciso


Cada n interno testa um atributo
Cada ramo corresponde a um valor do atributo
Cada folha atribui uma classificao

[833+,167-] .83+ .17Fetal_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+ .39Fetal_Presentation = 2: [3+,29-] .11+ .89Fetal_Presentation = 3: [8+,22-] .27+ .73-

Como representaramos:
, , XOR
(A B) (C D E)
M de N
5

Quando usar rvores de deciso?


Instncias (exemplos) so representadas por
pares atributo-valor
Funo objetivo assume apenas valores
discretos
Hipteses disjuntivas podem ser
necessrias
Conjunto de treinamento possivelmente
corrompido por rudo
Exemplos:
Diagnstico mdico, diagnstico de
equipamentos, anlise de crdito

Induo top-down de rvores de


deciso (1/2) ID3

Loop principal:
1. A o melhor atributo de deciso para o
prximo n
2. Atribua A como atributo de deciso para n
3. Para cada valor de A, crie um novo
descendente para n
4. Classifique os exemplos de treinamento nos
ns folha
5. Se os exemplos de treinamento esto
classificados perfeitamente, ento PARE,
seno comece novamente a partir dos novos
ns folha

Induo top-down de rvores de


deciso (2/2)

Entropia (1/3)

Qual o melhor atributo?


[29+ , 35-]

[21+, 5-]

[8+, 30-]

S uma amostra dos exemplos de


treinamento
p a proporo de exemplos positivos
em S
p\ a proporo de exemplos negativos
em S
Entropia mede a impureza de S:
Entropia(S)=- p log2 p - p\ log2 p\

[29+ , 35-]

A1=?

A2=?

[18+ , 33-] [11+ , 2-]

Entropia (2/3)

10

Critrio de ganho (1/2)


Gain(S,A)=reduo esperada da entropia
devido a classificao de acordo com A

Entropia(S)=especifica o nr. mnimo de


bits de informao necessrio para
codificar uma classificao de um
membro arbitrrio de S

Gain( S , A) Entropy ( S )

Por qu?
Teoria da Informao: cdigos de comprimento
timo atribui -log2p bits para mensagens que
possuem probabilidade p

| Sv |
Entropy ( S v )
vValues ( A ) | S |

em que Entropy(S)=- p log2 p - p\ log2 p\


Entropy -> Entropia
11

12

Critrio de ganho (2/2)

Critrio de ganho - Exemplo (1/2)


Suponha que S uma coleo de exemplos de treinamento ([9+,5-])
descritos por atributos incluindo Wind, que pode ter os valores Weak
and Strong

Usar o critrio de ganho para decidir!


[29+ , 35-]
A1=?

[29+ , 35-]

Values(Wind ) = Weak , Strong


S = [9+,5]

A2=?

SWeak = [6+,2]
S Strong = [3+,3]
Gain( S ,Wind ) = Entropy ( S )

v{Weak , Strong }

[21+, 5-]

[8+, 30-]

| Sv |
Entropy ( S v )
|S|

= Entropy ( S ) (8 / 14) Entropy ( SWeak ) (6 / 14) Entropy ( S Strong )

[18+ , 33-] [11+ , 2-]

= 0.940 (8 / 14) * 0.811 (6 / 14) * 1.00


= 0.048
13

Critrio de ganho - Exemplo (2/2)

14

Exemplos de treinamento (1/6)


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
Day
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14

Outlook
Sunny
Sunny
Overcast
Rain
Rain
Rain
Overcast
Sunny
Sunny
Rain
Sunny
Overcast
Overcast
Rain

Temperature
Hot
Hot
Hot
Mild
Cool
Cool
Cool
Mild
Cool
Mild
Mild
Mild
Hot
Mild

Humidity
High
High
High
High
Normal
Normal
Normal
High
Normal
Normal
Normal
High
Normal
High

Wind
Weak
Strong
Weak
Weak
Weak
Strong
Strong
Weak
Weak
Weak
Strong
Strong
Weak
Strong

PlayTennis
No
No
Yes
Yes
Yes
No
Yes
No
Yes
Yes
Yes
Yes
Yes
No

15

Exemplos de treinamento (2/6)

16

Exemplos de treinamento (3/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 coleo de exemplos
na tabela anterior
17

18

Exemplos de treinamento (4/6)


Teste
Exemplo
If outlook=sunny D1
D2
D8
D9
D11
If
D3
outlook=overcast D7
D12
D13
If outlook=rain D4
D5
D6
D10
D14

Outlook
Sunny
Sunny
Sunny
Sunny
Sunny
Overcast
Overcast
Overcast
Overcast
Rain
Rain
Rain
Rain
Rain

Temperature
Hot
Hot
Mild
Cool
Mild
Hot
Cold
Mild
Hot
Mild
Cool
Cool
Mild
Mild

Humidity
High
High
High
Normal
Normal
High
Normal
High
Normal
High
Normal
Normal
Normal
High

Wind
Weak
Strong
Weak
Weak
Strong
Weak
Strong
Strong
Weak
Weak
Weak
Strong
Weak
Strong

Exemplos de treinamento (5/6)

Play?
No
No
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
No

19

Busca no espao de hipteses ID3

Exemplos de treinamento (6/6)


Teste
If outlook=sunny
and
humidity=high

Exemplo
D1
D2
D8

Outlook
Sunny
Sunny
Sunny

Temperature
Hot
Hot
Mild

Humidity
High
High
High

Wind
Weak
Strong
Weak

If outlook=sunny
and
humidity=nomal
If
outlook=overcast

D9
D11

Sunny
Sunny

Cool
Mild

Normal
Normal

Weak Yes
Strong Yes

Overcast
Overcast
Overcast
Overcast
Rain
Rain
Rain
Rain
Rain

Hot
Cold
Mild
Hot
Cool
Mild
Mild
Cool
Mild

High
Normal
High
Normal
Normal
High
High
Normal
Normal

Weak
Strong
Strong
Weak
Strong
Strong
Weak
Weak
Weak

D3
D7
D12
D13
If outlook=rain D6
and wind=strong D14
If outlook=rain D4
and wind=weak D5
D10

20

Play?
No
No
No

Yes
Yes
Yes
Yes
No
No
Yes
Yes
Yes

21

Busca no espao de hipteses por


ID3
Espao de hipteses completo
A funo objetivo com certeza est contido nele
Tem como sada uma nica hiptese (qual?)
No pode lidar com vrias perguntas....
No h backtracking
Mnimo local
Escolhas para busca baseadas em estatstica
Robusto contra dados com rudo
Inductive bias: aprox prefere a menor rvore
23

22

Overfitting em rvores de deciso


Suponha que adicionamos um exemplo de
treinamento com rudo #15:
Sunny, Hot, Normal, Strong, PlayTennis=No
Qual seria seu efeito na rvore anterior:

24

Overfitting na aprendizagem de
rvores de deciso (1/2)

Overfitting Super-ajustamento
Considere o erro da hiptese h sobre
dados do treinamento: errotrain(h)
distribuio completa D dos dados: erroD(h)

Uma hiptese h H super-ajusta o


conjunto de dados se h uma hiptese
alternativa h H tal que
errotrain(h) < errotrain(h) e
erroD(h) > erroD(h)
25

26

Overfitting na aprendizagem de
rvores de deciso (2/2)

Reduzindo o erro atravs da poda

Como evitar overfitting?


Parar o crescimento da rvore quando a diviso
dos dados no estatisticamente significativa
Deixar a rvore crescer completamente para,
ento, 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 validao
MDL: minimizar size(tree)+size(misclassification(tree))

Divida os dados em cj. de treinamento e validao


Faa at que uma poda adicional seja prejudicial:
1. Avalie o impacto sobre o cj. de validao de
podar cada n possvel (e seus descendentes)
2. Remova aquele que melhora mais a performance
no cj. de validao
Produz a menor verso da sub-rvore mais precisa
E se os dados so limitados?

27

28

Efeito do uso da tcnica de poda

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
seqncia deseja para uso

29

Estes um dos mtodos mais utilizados


(e.g., C4.5)
30

Convertendo uma rvore em


regras

Convertendo uma rvore em


regras
IF (Outlook = Sunny) (Humidity = High)
THEN PlayTennis = No
IF (Outlook = Sunny) (Humidity =
Normal) THEN PlayTennis = YES

..........
31

Atributos com valores contnuos

32

Atributos com vrios valores (1/2)

Crie um atributo discreto para testar um


que seja contnuo
Temperature = 82.5
(Temperature > 72.3) = t,f

Problema:
Se o atributo tem vrios valores, Gain o
selecionar
Suponha o uso de Date = 3/06/00 como
atributo

Um abordagem: use GainRatio


Temperature:

40

48

60

72

80

90

PlayTennis:

NO NO YES YES YES NO


33

Atributos com vrios valores (2/2)


Gain( S , A)
GainRation( S , A)
SplitInformation( S , A)
| Si |
|S |
log 2 i
|S|
i =1 | S |
c

SplitInformation( S , A)

Em que Si um subconjunto de S para o qual A tem valor vi


35

34

Exemplos Prticos
GASOIL
Sistema de separao de gs-leo em
plataformas de petrleo
Sistema de 10 pessoas-ano se baseado em
regras
Desenvolvido em 100 pessoas-dia
Piloto automtico de um Cessna
Treinado por trs pilotos
Obteve um desempenho melhor que os trs
Minerao de dados
Recuperao de Informao
36

Redes Neurais X rvores de


Deciso

Bibliografia
Braga, A.;Carvalho, A. C. P. L. F. & Ludermir, T. : Redes
Neurais Artificiais: Teoria e Aplicaes. Publicado pela
Editora Livro Tcnico e Cientfico, Rio de Janeiro, Brasil,
2000 (livro texto)

Algoritmo TREPAN
Representa uma rede neural atravs de
uma rvore de deciso
Algoritmo geral de extrao de
conhecimento de redes neurais

Rezende, S. O. (Coordenadora): Sistemas Inteligentes:


Fundamentos e Aplicaes. Publicado pela Editora Manole
LTDA, So Paulo, Brasil, 2002 (livro texto)
Mithcell, T.: Machine Learning, McGraw-Hill, 1997.
Haykin, S.: Neural Networks: A Comprehensive Foundation,
Prentice Hall, 1999

37

38

Você também pode gostar