Sei sulla pagina 1di 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

rvores de Deciso
Uma rvore de deciso utiliza uma estratgia de dividirpara-conquistar:
Um problema complexo decomposto em sub-problemas mais
simples.
Recursivamente a mesma estratgia aplicada a cada subproblema.

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

rvores de deciso Exemplo da partio do espao dos atributos

2002

Joo Gama

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

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.
a
Exemplo a or b
0
1
b
0
2002

Joo Gama

+
1
+
6

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

Exemplos de rvores de Deciso

Atributos binrios
1.

And

A B AB

0 0 0
0 1 0

B
0

1
1

1 0 0
1 1 1

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

2002

D)

Joo Gama

Exemplos:
O conjunto de dados original:
Tempo

Temperatu. Humidade

vento

Joga

Sol

85

85

No

No

Sol

80

90

Sim

No

Nublado

83

86

No

Sim

Chuva

70

96

No

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

Chuva

71

91

Sim

No

2002

Selecciona um atributo:

Vento
No

Sim

Qual o melhor atributo?

Joo Gama

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

2002

5/5

10 / 0

Joo Gama

0 / 10

10

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

pi

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

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.
ganho (Exs , Atri ) = entropia ( Exs )

# Exs

v entropia Exs
v
# Exs

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

Sim

No

Info(joga|tempo=nublado) = 0.0 bits


Info(joga|tempo=chuva) = 0.971 bits
Info(tempo)
= 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

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.

2002

Joga

Considere o ponto de referncia temperatura = 70.5


Um teste usando este ponto de referncia divide os exemplos
em duas parties:

64

Sim

65

No

68

Sim

69

Sim

70

Sim

Informao nas parties

71

No

72

No

72

Sim

75

Sim

75

Sim

80

No

81

Sim

83

Sim

85

No

Exemplos onde temperatura < 70.5


Exemplos onde temperatura > 70.5

Como medir o ganho de informao desta partio?

p(sim | temperatura<70.5)=4/5
p(no | temperatura<70.5)=1/5
p(sim | temperatura>70.5)=5/9
p(no | temperatura>70.5)=4/9

Info(joga | temperatur<70.5) =
-4/5log2 4/5 1/5 log2 1/5 = 0.721 bits

Info(joga | temperatura >70.5) =


-5/9 log2 5/9 4/9 log2 4/9 = 0.991 bits

Info(temperatura)=5/14*0.721+9/14*0.991 = 0.895 bits


Ganho(temperatura) = 0.940 0.895 = 0.045 bits
Joo Gama

16

Repetir o processo

2002

Joo Gama

17

Arvore de deciso final

2002

Joo Gama

18

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

Erro (%)

30
25
Treino
20
Test
15
10
5
0
1

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

p[

f p
Erros
>= z ] = c onde f =
N
p (1 p ) / N

p=(f +

2002

z2
+ z
2N

f
f2
z2
z2

+
)
/(
1
+
)
N
N
4N 2
N

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

9+
5--

1+
1--

Estimativa no n: 0.46
Soma pesada das estimativas nas
folhas:

N B

6/14*0.47+2/14*0.72+6/14*0.47=0.51

0.46

Como 0.46 < 0.51 o n transformado


numa folha.

0.72
4+
2-0.47

2002

No n B

1+
1--

4+
2--

0.72

0.47

Exerccio:
Qual a deciso para o n A ?

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 hiperplano.

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


Fragmentao de conceitos

( a b ) (c d )

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

Potrebbero piacerti anche