Você está na página 1de 29

Aprendizado de rvores de

Deciso
Ricardo Prudncio

Introduo
Seres humanos manipulam smbolos em
alto nvel
Tomamos decises a partir de regras e
modelos que generalizamos
Realizamos inferncias a partir dos dados
que temos e do nosso conhecimento
explcito

Conhecimento Simblico
Conhecimento adquirido pode ser
representado em linguagens de alto nvel
De forma legvel e interpretvel por humanos

Motivaes
Compreender um problema (mais do que
obter modelos precisos)
Justificar decises
Incorporar novo conhecimento

Conhecimento Simblico
Algoritmos de rvores de deciso e regras
adquirem conhecimento simblico a partir
de dados de treinamento
Conhecimento podem ser representado
em linguagens com diferentes graus de
expressividade

Linguagens de Representao
Linguagem de Ordem Zero, ou Clculo
Proposicional
Conjunes, disjunes e negaes de
contantes booleanas
Ex: Fmea AND Adulta -> Pode_ter_filhos

Pequeno poder de expressividade e pouco


usada na prtica

Linguagens de Representao
Lgica de Atributos
Semelhante ao clculo proposicional, porm
com atributos que recebem valores
Ex: sexo = F AND Idade = A -> Classe = Pode_filhos

Usado na maioria dos algoritmos de


aprendizado de regras e rvores de deciso
Mdio poder de expressividade
Dificuldade de expressar relacionamento entre
objetos

Linguagens de Representao
Lgica de Primeira Ordem
Predicados associados a argumentos
Ex: IRMAO(X,Y) :- HOMEM(X), PAI(Z,X), PAI(Z,Y)

Usado em programao em lgica indutiva


Inductive Logic Programming (ILP)

Alto poder de expressividade, porm algoritmos


se tornam mais complexos

rvores de Deciso
Ampla classe de algoritmos de aprendizado
Exemplo: ID3, C4.5, CART,...

Conhecimento representado em uma rvore


de deciso, em geral, na linguagem da
lgica de atributos

rvores de Deciso
Cada n interno (no-terminal)
contm um teste sobre os
valores de um dado atributo

Cores

No
Filme
Ruim
(p = 0.7)

Musical
Filme
Ruim
(p = 1.0)

Folhas da rvore (ns terminais)


so associadas s classes

Sim

Comumente, acompanhadas com


graus de confiana

Gnero

Ao
Filme
Bom
(p = 0.8)

Drama
Filme
Ruim
(p = 0.6)

Novas instncias classificadas


percorrendo a rvore a partir da
raiz at as folhas

rvores de Deciso
- Construo
rvore de deciso construda de forma
recursiva da raiz para as folhas (top-down)
A cada n, escolhido um teste que separe
melhor os exemplos de classes diferentes
Maximizao de critrio de separao

Ns terminais so criados ao atingir um critrio


de parada
Ex.: todos os exemplos do n pertencem uma s
classe

rvores de Deciso
- Construo
AD(Exemplos:D; Atributos:A; Alvo:C)
Crie n_raiz
SE Critrio_de_Parada
ENTO Crie n terminal associada classe
mais freqente
SENO Encontre atributo aj cujo teste de deciso
maximize a separao dos exemplos que
atinjem o n
- PARA CADA valor v do teste
adicione nova sub-rvore

- Sub_arvore = AD(D[aj = v], A {aj}, C)

rvores de Deciso
Critrios de Separao
Ganho de Informao (Information Gain)
Impureza ou incerteza de um n pode ser
medida atravs da Entropia

Ent (C , D)
ci

D[C ci ]
|D|

log 2

D[C ci ]
|D|

Propriedades da Entropia:
Se todos os exemplos de D so da mesma classe
ento entropia assume valor mnimo
Ent(C,D) = 0

Se todos as classes tm o mesmo nmero de


exemplos em D ento entropia assume valor mximo

rvores de Deciso
Critrios de Separao
Ganho de Informao (Information Gain)
O ganho de um atributo/teste definido pela
reduo de Entropia proporcionada aps a
separao dos exemplos do n
InfoGain (a, C , D) Ent (C , D)
vi

Entropia do n pai

D[ a vi ]
D

Ent (C , D[ a vi ] )

Entropia do n filho
ponderada pelo nmero
de exemplos do n

rvores de Deciso
Critrios de Separao
Critrio de Gini
Frmula alternativa para medir impureza

Gini (C , D) 1
ci

D[C ci ]
D

GiniGain (a, C , D) Gini (C , D)


vi

D[ a vi ]
D

Gini (C , D[ a vi ] )

rvores de Deciso
Critrios de Separao
Gain Ratio
Valor normalizado do ganho de informao
Boa alternativa quando os atributos possuem
muitos valores
Ex.: E se algum colocasse o atributo Data como
preditor?

InfoGain (a, C , D)
GainRatio(a, C , D)
Entropia(a, D)

rvores de Deciso
Lidando com atributos numricos:
Testes so da forma: atributo > valor
Procedimento:
Ordene os valores do atributo observados no
conjunto de treinamento
Considere a mdia de valores adjacentes como
possveis testes
Por eficincia, considere apenas os valores onde so
observadas mudanas de classe
54
Temperatura:
Classe:

40
A

48
A

95
60
B

72
B

80
B

Valores candidatos
90
A

rvores de Deciso
Critrios de Parada
Totalidade (ou alternativamente, a maioria) do
exemplos do n pertencem a mesma classe
Profundidade mxima para o n
Nmero mnimo de exemplos no n
Ganho pouco significativo no critrio de separao
Obs.: valores definidos como parmetros do
aprendizado

rvores de Deciso - Exemplo


Day Outlook
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14

Sunny
Sunny
Overcast
Rain
Rain
Rain
Overcast
Sunny
Sunny
Rain
Sunny
Overcast
Overcast
Rain

Temp. Humit.
Hot
Hot
Hot
Mild
Cool
Cool
Cool
Mild
Cool
Mild
Mild
Mild
Hot
Mild

Wind

High
Weak
High
Strong
High
Weak
High
Weak
Normal Weak
Normal Strong
Normal Strong
High
Weak
Normal Weak
Normal Weak
Normal Strong
High
Strong
Normal Weak
High
Strong

Play
No
No
Yes
Yes
Yes
No
Yes
No
Yes
Yes
Yes
Yes
Yes
No

rvores de Deciso - Exemplo


Raz: [9+; 5-]
Entropia = - 9/14*log2(9/14) - 5/14*log2(5/14) = 0.940

Considerando teste com atributo Outlook


Outlook = Sunny: [2+;3-]
Entropia = - 2/5*log2(2/5) - 3/5*log2(3/5) = 0.971

Outlook = Overcast: [4+;0-]


Entropia = - 4/4*log2(4/4) - 0/4*log2(0/4) = 0.0

Outlook = Rain: [3+;2-]


Entropia = - 3/5*log2(3/5) - 2/5*log2(2/5) = 0.971

Mdia: 5/14*0.971 + 4/14*0.0 + 5/14*0.971 = 0.694


Ganho de Informao: 0.940 - 0.694 = 0.246

rvores de Deciso - Exemplo


Considerando os outros atributos:
Ganho(Outlook, D) = 0.246
Ganho(Humit., D) = 0.151
Ganho(Wind, D) = 0.048
Ganho(Temp., D) = 0.029

Atributo Outlook o escolhido na raz

rvores de Deciso - Exemplo


[9+; 5-]
Entropia: 0.940

Outlook
Rain

Sunny

[2+; 3-]
Entropia: 0.971

Overcast

?
Humit.?
Temp.?
Wind?

Yes
[4+; 0-]

[3+; 2-]
Entropia: 0.971

?
Humit.?
Temp.?
Wind?

rvores de Deciso
- Poda
rvores de deciso podem super-ajustar os
dados de treinamento (overfitting)
Sempre possvel crescer a rvore de forma a
classificar corretamente todos os dados

N prtica, a rvore podada, i.e., ns


desnecessrios so cortados

rvores de Deciso
- Poda
Procedimento:
Passo 1: Separe um conjunto de validao
diferente do conjunto de treinamento
Passo 2: Gere a rvore de deciso completa
usando o conjunto de treinamento
Passo 3: Para cada n da rvore:
Passo 3.1: Computar o erro no conjunto de validao
obtido se a sub-rvore do n fosse cortada da rvore
Passo 3.2: Efetue a eliminao da sub-rvore, caso o
erro de validao se mantenha ou diminua

rvores de Deciso
- Discusso
Vantagens:
Geram modelos dos dados (i.e., mtodo eager)
Conhecimento interpretvel
Pouca sensibilidade a atributos irrelevantes
Uma vez que implementam seleo de atributos

Desvantagens:
Em geral, menos precisos comparados com
algoritmos como redes neurais e SVMs

rvores de Deciso
Diferentes verses de algoritmos podem ser
encontradas na literatura
Algoritmo ID3 verso bsica de AD para
atributos categricos, com InfoGain
Algoritmo C4.5 extenso do ID3 para atributos
categricos e numricos, com GainRatio

rvores de Deciso
- no WEKA

rvores de Deciso
- no WEKA

Parmetros Importantes
confidenceFactor: ?????
minNumObj: nmero
mnimo de exemplos em uma
folha
numFold: controla a
quantidade de exemplos de
validao usados para poda

rvores de Deciso
- no WEKA

rvore Gerada

Referncias
T. Mitchell, Machine Learning, Cap. 3, 1997.
M. Monard, J. Baranauskas, Induo de
Regras e rvores de Deciso, Sistemas
Inteligentes, Cap. 5, 2005.
J. R. Quinlan, Induction of Decision Trees,
Machine Learning, Vol.1, N.1, 1986.

Você também pode gostar