You are on page 1of 22

rvores de Deciso

Joo Gama
Jgama@liacc.up.pt

Sumario
rvores de deciso
Motivao
Construo de uma rvore de deciso
Critrios para seleccionar atributos
Entropia
Podar a rvore
Estimativas de erro
Extenses
rvores multivariadas

2002 Joo Gama 2

1
rvores de Deciso
Uma rvore de deciso utiliza uma estratgia de dividir-
para-conquistar:
Um problema complexo decomposto em sub-problemas mais
simples.
Recursivamente a mesma estratgia aplicada a cada sub-
problema.
A capacidade de discriminao de uma rvore vem da:
Diviso do espao definido pelos atributos em sub-espaos.
A cada sub-espao associada uma classe.
Crescente interesse
CART (Breiman, Friedman, et.al.)
C4.5 (Quinlan)
Splus, Statistica, SPSS , R

2002 Joo Gama 3

rvores de deciso Exemplo da partio do espao dos atributos

2002 Joo Gama 4

2
O que uma Arvore de Deciso?
Representao por rvores de deciso:
Cada n de deciso contem um teste
num atributo.
Cada ramo descendente corresponde a
um possvel valor deste atributo.
Cada Folha est associada a uma
classe.
Cada percurso na arvore (da raiz
folha) corresponde a uma regra de
classificao.
No espao definido pelos atributos:
Cada folha corresponde a uma regio
Hiper-rectngulo
A interseco dos hiper-rectngulos
vazio
A unio dos hiper-rectngulos o
espao completa.

2002 Joo Gama 5

Representao
Uma rvore de deciso representa a disjuno de conjunes
de restries nos valores dos atributos
Cada ramo na rvore uma conjuno de condies
O conjunto de ramos na rvore so disjuntos
DNF (disjuntive normal form)

Qualquer funo lgica pode ser representada por um rvore de


deciso.
Exemplo a or b a
0 1
b +
0 1
- +
2002 Joo Gama 6

3
Construo de uma rvore de deciso
A ideia base:
1. Escolher um atributo.
2. Estender a rvore adicionando um ramo para cada valor do
atributo.
3. Passar os exemplos para as folhas (tendo em conta o valor do
atributo escolhido)
4. Para cada folha
1. Se todos os exemplos so da mesma classe, associar essa classe folha
2. Seno repetir os passos 1 a 4

2002 Joo Gama 7

Exemplos de rvores de Deciso


Atributos binrios A
1. And 0 1
A B AB 0 B
0 1
0 0 0
0 1
0 1 0
1 0 0
1 1 1

1. Exerccios:
1. Representar Or, Xor
2. ( A B ) (C D)

2002 Joo Gama 8

4
Exemplos:
O conjunto de dados original: Selecciona um atributo:

Tempo Temperatu. Humidade vento Joga


Sol 85 85 No No Vento
Sol 80 90 Sim No
Nublado 83 86 No Sim
No
Chuva 70 96 No Sim Sim
Chuva 68 80 No Sim
Chuva 65 70 Sim No
Nublado 64 65 Sim Sim
Sol 72 95 No No
Sol 69 70 No Sim
Chuva 75 80 No Sim
Sol 75 70 Sim Sim
Nublado 72 90 Sim Sim
Nublado 81 75 No Sim Qual o melhor atributo?
Chuva 71 91 Sim No

2002 Joo Gama 9

Critrios para Escolha do Atributo


Como medir a habilidade de um dado atributo discriminar
as classes?
Existem muitas medidas.
Todas concordam em dois pontos:
Uma diviso que mantm as propores de classes em todas as
parties intil.
Uma diviso onde em cada partio todos os exemplos so da
mesma classe tem utilidade mxima.
10 / 10 10 / 10

5/5 5/5 10 / 0 0 / 10

2002 Joo Gama 10

5
Caracterizao das medidas de partio

Medida da diferena dada por uma funo baseada nas propores


das classes entre o n corrente e os ns descendentes.
Valoriza a pureza das parties.
Gini, entropia
Medida da diferena dada por uma funo baseada nas propores
das classes entre os ns descendentes.
Valoriza a disparidade entre as parties.
Lopez de Mantaras
Medida de independncia
Medida do grau de associao entre os atributos e a classe.

2002 Joo Gama 11

Entropia
Entropia uma medida da aleatoridade de uma varivel.
A entropia de uma varivel nominal X que pode tomar i valores:
entropia ( X ) = p i * log 2 pi
i

A entropia tem mximo (log2 i) se pi = pj para qualquer i <> j


A entropia(x) = 0 se existe um i tal que pi = 1
assumido que 0 * log2 0 = 0

2002 Joo Gama 12

6
Ganho de Informao
No contexto das rvores de deciso a entropia usada para estimar a
aleatoridade da varivel a prever: classe.
Dado um conjunto de exemplos, que atributo escolher para teste?
Os valores de um atributo definem parties do conjunto de exemplos.
O ganho de informao mede a reduo da entropia causada pela partio dos
exemplos de acordo com os valores do atributo.
# Exs
ganho (Exs , Atri ) = entropia ( Exs )
# Exs
(
v entropia Exs
v
)

A construo de uma rvore de deciso guiada pelo objectivo de


diminuir a entropia ou seja a aleatoridade -dificuldade de previso- da
varivel objectivo.

2002 Joo Gama 13

Calculo do Ganho de Informao de um atributo nominal


Informao da Classe:
p(sim) = 9/14
p(no) = 5/14
Info(joga) =
= - 9/14 log2 9/14 5/14 log2 5/14 = 0.940 bits
Informao nas parties:
p(sim|tempo=sol) = 2/5
p(no|tempo=sol) = 3/5
Info(joga|tempo=sol)
= -2/5log22/5 3/5log23/5 = 0.971 bits
Sol Nublado Chuva Info(joga|tempo=nublado) = 0.0 bits
Sim 2 4 3 Info(joga|tempo=chuva) = 0.971 bits
Info(tempo)
No 3 0 2 = 5/14*0.971+4/14*0 + 5/14*0.971 = 0.693 bits
Ganho de Informao obtida neste atributo:
Ganho(tempo) = 0.940 0.693 = 0.247 bits

2002 Joo Gama 14

7
Calculo do Ganho para Atributos numricos
Um teste num atributo numrico produz uma partio binria do
conjunto de exemplos:
Exemplos onde valor_do_atributo < ponto_referncia
Exemplos onde valor_do_atributo >= ponto_referncia
Escolha do ponto de referncia:
Ordenar os exemplos por ordem crescente dos valores do atributo numrico.
Qualquer ponto intermdio entre dois valores diferentes e consecutivos dos
valores observados no conjunto de treino pode ser utilizado como possvel ponto
de referncia.
usual considerar o valor mdio entre dois valores diferentes e consecutivos.
Fayyard e Irani (1993) mostram que de todos os possveis pontos de referncia
aqueles que maximizam o ganho de informao separam dois exemplos de
classes diferentes.

2002 Joo Gama 15

Calculo do Ganho para Atributos numricos


Temperatu. Joga Considere o ponto de referncia temperatura = 70.5
64 Sim Um teste usando este ponto de referncia divide os exemplos
em duas parties:
65 No
Exemplos onde temperatura < 70.5
68 Sim Exemplos onde temperatura > 70.5
69 Sim Como medir o ganho de informao desta partio?
70 Sim Informao nas parties
71 No p(sim | temperatura<70.5)=4/5
p(no | temperatura<70.5)=1/5
72 No
p(sim | temperatura>70.5)=5/9
72 Sim p(no | temperatura>70.5)=4/9
75 Sim
Info(joga | temperatur<70.5) =
75 Sim -4/5log2 4/5 1/5 log2 1/5 = 0.721 bits

80 No Info(joga | temperatura >70.5) =


-5/9 log2 5/9 4/9 log2 4/9 = 0.991 bits
81 Sim Info(temperatura)=5/14*0.721+9/14*0.991 = 0.895 bits
83 Sim Ganho(temperatura) = 0.940 0.895 = 0.045 bits

85 No
2002 Joo Gama 16

8
Repetir o processo

2002 Joo Gama 17

Arvore de deciso final

2002 Joo Gama 18

9
Critrios de paragem
 Quando parar a diviso dos exemplos?
 Todos os exemplos pertencem mesma classe.
 Todos os exemplos tm os mesmos valores dos atributos (mas
diferentes classes).
 O nmero de exemplos inferior a um certo limite.
(?) O mrito de todos os possveis testes de partio dos exemplos
muito baixo.

2002 Joo Gama 19

Construo de uma Arvore de Deciso


O problema de construir uma rvore de deciso:
Consistente com um conjunto de exemplos
Com o menor numero de ns
um problema NP completo.
Dois problemas:
Que atributo seleccionar para teste num n?
Quando parar a diviso dos exemplos ?
Os algoritmos mais divulgados:
Utilizam heursticas que tomam decises olhando para a frente um
passo.
No reconsideram as opes tomadas.

2002 Joo Gama 20

10
Regularizao em rvores de Deciso

Sobre-ajustamento
O algoritmo de partio recursiva do conjunto de dados gera
estruturas que podem obter um ajuste aos exemplos de
treino perfeito.
Em domnios sem rudo o nr. de erros no conjunto de treino pode
ser 0.
Em problemas com rudo esta capacidade problemtica:
A partir de uma certa profundidade as decises tomadas so
baseadas em pequenos conjuntos de exemplos.
A capacidade de generalizao para exemplos no utilizados no
crescimento da arvore diminui.

2002 Joo Gama 22

11
Variao do erro com o nr. de ns

40

35
30

25
Erro (%)

Treino
20
Test
15

10
5

0
1 5 10 20 30 40 50 60 70 80 90 100
Nr. de Nos da Arvore

2002 Joo Gama 23

Sobre-ajustamento (overfitting)
Definio:
Uma arvore de deciso d faz sobre-ajustamento aos dados se
existir uma arvore d tal que:
d tem menor erro que d no conjunto de treino
mas d tem menor erro na populao.
Como pode acontecer:
Rudo nos dados
Excesso de procura
O numero de parmetros de uma rvore de deciso cresce
linearmente com o numero de exemplos.
Uma rvore de deciso pode obter um ajuste perfeito aos dados de
treino.

2002 Joo Gama 24

12
Sobre-ajustamento
Occams razor: preferncia pela hiptese mais simples.
Existem menos hipteses simples do que complexas.
Se uma hiptese simples explica os dados pouco provvel que
seja uma coincidncia.
Uma hiptese complexa pode explicar os dados apenas por
coincidncia.
A avaliao de uma hiptese deve ter em conta o processo
de construo da hiptese.

2002 Joo Gama 25

Simplificar a arvore
Duas possibilidades:
Parar o crescimento da arvore mais cedo (pre-pruning).
 Crescer uma arvore completa e podar a arvore (pos-pruning).
Growing and pruning is slower but more reliable
Quinlan, 1988
O problema do Xor
Requer olhar em frente mais que um nvel.

2002 Joo Gama 26

13
Critrios
Critrios:
 Obter estimativas fiveis do erro a partir do conjunto de treino.
Optimizar o erro num conjunto de validao independente do
utilizado para construir a arvore.
Minimizar:
erro no treino + dimenso da arvore
Cost Complexity pruning (Cart)
dimenso da arvore + dimenso dos exemplos mal classificados
MDL pruning (Quinlan)

2002 Joo Gama 27

Estimativas de Erro
O problema fundamental do algoritmo de poda a estimativa de erro
num determinado n.
O erro estimado a partir do conjunto de treino no um estimador fivel.
O reduced error pruning
consiste em obter estimativas de erro a partir de um conjunto de validao
independente do conjunto de treino.
Reduz o volume de informao disponvel para crescer a arvore.
O Cost complexity pruning, Breiman, 1984
Podar com base na estimativa do erro e complexidade da arvore.
Cart (Breiman et al.)
 O Error based pruning,
Podar com base numa estimativa do erro no conjunto de treino.
Assume uma distribuio Binomial para os exemplos de um n.
Usado no C5.0

2002 Joo Gama 28

14
O Error based pruning
Um determinado n contem N exemplos.
Classificando estes exemplos utilizando a classe maioritria, vo ser mal
classificados E exemplos.
O erro neste n E/N.
Qual o verdadeiro erro p neste n ?
Assumindo que:
Os exemplos de um n constituem uma amostra de uma populao que segue
uma distribuio binomial.
A varincia do erro neste n dada por:
P * (1 - P) / N
P o erro na populao (desconhecido).

Fixando um nvel de confiana, podemos obter um intervalo de


confiana [Umin:Umax] para p.
Umax uma estimativa pessimista para o erro neste n.
2002 Joo Gama 29

O Error based pruning


A probabilidade de uma varivel aleatria X, de mdia 0 e desvio
padro 1, assumir um valor maior que z, com confiana c, :
P[X >= z] = c
Para um determinado nvel de confiana c, determinado o valor superior para o
intervalo de confiana

f p Erros
p[ >= z ] = c onde f =
p (1 p ) / N N
z2 f f2 z2 z2
p=(f + + z + ) /( 1 + )
2N N N 4N 2 N

2002 Joo Gama 30

15
Um algoritmo de poda
Percorre a rvore em profundidade
Para cada n de deciso calcula:
Uma estimativa pessimista do erro no n
Soma pesada das estimativas pessimistas dos erros nos ns
descendentes
O peso a probabilidade de um exemplo seguir o ramo correspondente.
Se a estimativa do erro no n menor ou igual soma das
estimativas de erros dos ns descendentes o n
transformado em folha.

2002 Joo Gama 31

Exemplo Error based pruning


N A No n B
Estimativa no n: 0.46
Soma pesada das estimativas nas
folhas:
1+ 9+
N B 6/14*0.47+2/14*0.72+6/14*0.47=0.51
0.46
1-- 5-- Como 0.46 < 0.51 o n transformado
0.72 numa folha.

4+ 1+ 4+
Exerccio:
2-- 1-- 2-- Qual a deciso para o n A ?
0.47 0.72 0.47

2002 Joo Gama 32

16
Valores Desconhecidos
Pr-Processados
Substituir o valor desconhecido pelo valor mais provvel
Atributos numricos: mdia.
Atributos nominais: mediana.
Na construo do modelo
Assumir que um atributo tem como possvel valor o valor
desconhecido.
Atribuir um peso a cada exemplo.
Nos exemplos em que o atributo de teste toma um valor desconhecido, o
exemplo passado para todos os ns descendentes com um peso
proporcional probabilidade de um exemplo seguir o ramo.

2002 Joo Gama 33

Extenses

17
Algumas Ideias:
rvores com funes nas folhas
NBTree usa Nave Bayes nas Folhas
rvores com funes nos ns
Multivariate Trees
rvores com funes nos ns e nas folhas
Functional Trees

rvores Incrementais
Hoeffding Trees
Florestas de rvores
.
2002 Joo Gama 35

Arvores Multivariadas
Motivao
Discriminante linear
Superfcies de deciso obliquas em relao aos eixos definidos pelos
atributos.
rvores de Deciso
Partio do espao dos atributos.
Superfcies de deciso: hiper-rectangulos.
rvores multivariadas:
Combinao de superfcies de deciso obliquas com partio do espao dos
atributos:

2002 Joo Gama 36

18
Arvores Multivariadas
Discriminantes Recursivos
QUEST
Em cada n constri um discriminante linear.
Arvores Multivariadas
LMDT
Em cada n constri uma Maquina Linear que usada como teste neste
n.
LTREE
Em cada n constri um discriminante linear
Todos os exemplos neste n so estendidos com novos atributos
Cada novo atributo a probabilidade de o exemplo estar num lado do hiper-
plano.
A capacidade de discriminao de um novo atributo estimada em
competio com os atributos originais.
2002 Joo Gama 37

Anlise
(em geito de concluso)

19
Vantagens das Arvores de deciso
Mtodo no-paramtrico
No assume nenhuma distribuio particular para os dados.
Pode construir modelos para qualquer funo desde que o numero de exemplos
de treino seja suficiente.
A estrutura da rvore de deciso independente da escala das
variveis.
Transformaes montonas das variveis (log x, 2*x, ...) no alteram a estrutura
da arvore.
Elevado grau de interpretabilidade
Uma deciso complexa (prever o valor da classe) decomposto numa sucesso
de decises elementares.
eficiente na construo de modelos:
Complexidade mdia O(n log n)
Robusto presena de pontos extremos e atributos redundantes ou
irrelevantes.
Mecanismo de seleco de atributos.
2002 Joo Gama 39

Inconvenientes das rvores de deciso


Instabilidade
Pequenas perturbaes do conjunto de treino podem provocar
grandes alteraes no modelo aprendido.
Presena de valores desconhecidos ( a b ) (c d )
Fragmentao de conceitos
Replicao de sub-arvores

2002 Joo Gama 40

20
O espao de Hipteses
O espao de hipteses
completo
Qualquer funo pode ser
representada por uma rvore
de deciso.
No reconsidera opes
tomadas
Mnimos locais
Escolhas com suporte
estatstico
Robusto ao rudo
Preferncia por rvores
mais pequenas
2002 Joo Gama 41

Bibliografia Adicional
Online:
http://www.Recursive-Partitioning.com/
Tom Mitchell
Machine Learning (chap.3)
MacGrawHill, 1997
Quinlan, R.
C4.5 Programs for Machine Learning
Morgan Kaufmann Publishers, 1993
L.Breiman, J.Friedman, R.Olshen, C.Stone
Classification and Regression Trees
Wadsworth, 1984

2002 Joo Gama 42

21
Exerccios
Considere um problema de duas classes, definido por 4 atributos
binrios x1,x2,x3,x4.
Represente sob a forma de uma rvore o conceito
(x1 e x2 e x3) ou x4
(x1 e x2) ou (x3 e x4)
Utilizando ferramentas computacionais, calculo o atributo para a raiz
de uma rvore de deciso nos problemas
Iris
Balance-scale
Utilizando ferramentas computacionais, indique uma rvore qualquer
(a escolha do atributo a usar em cada n pode ser aleatria) para o
problema Iris
Qual a taxa de erro da rvore no dataset de treino?
Aplique o algoritmo de poda rvore.

2002 Joo Gama 43

22