Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível...

49
Árvores de Decisão Valmir Macário

Transcript of Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível...

Page 1: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvores de DecisãoValmir Macário

Page 2: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

IntroduçãoSeres humanos manipulam

símbolos em alto nível

Tomamos decisões a partir de regras e modelos que generalizamos

Realizamos inferências a partir dos dados que temos e do nosso conhecimento explícito

Page 3: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Relembrando...Aprendizagem Indutiva

Inferência de uma regra geral (hipótese) a partir de exemplos particulares

Precisão diretamente proporcional à quantidade / qualidade dos exemplos

Page 4: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Conhecimento SimbólicoConhecimento adquirido pode ser

representado em linguagens de alto nível◦De forma legível e interpretável por

humanos

Motivações◦Compreender um problema (mais do

que obter modelos precisos)◦Justificar decisões ◦Incorporar novo conhecimento

Page 5: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Aprendizagem IndutivaClassificação

Incremental: atualiza hipótese a cada novo exemplo◦Mais flexível ◦A ordem de apresentação é

importanteNão incremental: gerada a

partir de todo conjunto de exemplo.◦Mais eficiente e prática

Page 6: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvore de Decisão

Entrada:◦Conjunto de atributos Discretos Contínuos

Saída◦Uma “decisão”

Page 7: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvore de DecisãoUma árvore de decisão utiliza uma

estratégia de dividir-para-conquistar:◦Um problema complexo é decomposto em

sub-problemas mais simples.◦Recursivamente a mesma estratégia é

aplicada a cada sub-problema.A capacidade de discriminação de uma

árvore tem origem na:◦Divisão do espaço definido pelos atributos

em sub-espaços.◦A cada sub-espaço é associada uma classe.

Page 8: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvores de Decisão

Cada nó interno (não-terminal) contém um teste sobre os valores de um dado atributo

Folhas da árvore (nós terminais) são associadas às classes ◦ Comumente, acompanhadas

com graus de confiança

Novas instâncias classificadas percorrendo a árvore a partir da raiz até as folhas

FilmeRuim

(p = 0.7)Gênero

Cores

Não Sim

FilmeRuim

(p = 1.0)

Musical

Ação

Drama

FilmeBom

(p = 0.8)

FilmeRuim

(p = 0.6)

Page 9: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvores de Decisão - Construção

Árvore de decisão construída de forma recursiva da raiz para as folhas (top-down)

◦A cada nó, é escolhido um teste que separe melhor os exemplos de classes diferentes Maximização de critério de separação

◦Nós terminais são criados ao atingir um critério de parada Ex.: todos os exemplos do nó pertencem à uma

só classe

Page 10: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

AD(Exemplos:E; Atributos:A; Alvo:C)◦ Crie nó_raiz

◦ SE Critério_de_Parada

ENTÃO Crie nó terminal associada à classe mais freqüente

◦ SENÃO Encontre atributo aj cujo teste de decisão maximize a separação dos

exemplos que atinjem o nó

- PARA CADA valor v do teste adicione nova sub-árvore

- Sub_arvore = AE(E[aj = v], A – {aj}, C)

Árvores de Decisão - Construção

Page 11: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Exemplo: Play Tennis

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 Yes

D10 Rain Mild Normal Weak YesD11 Sunny Mild Normal Strong YesD12 Overcast Mild High Weak YesD13 Overcast Hot Normal Weak YesD14 Rain Mild High Strong No

Page 12: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvore de Decisão de Classificação

Dados(dias anteriores)

AprendizadoClassificador

PróximosDias

Play Tennis?

Page 13: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvore de Decisão:Play Tennis

Tempo

Humidade VentoYes

Nublado

Ensolarado Chuvoso

Alta Normal Forte Fraco

Não Sim Não Sim

Page 14: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvore de Decisão:Play Tennis

Tempo

Humidade VentoYes

Nublado

Ensolarado Chuvoso

Alta Normal Forte Fraco

Não Sim Não Sim

Atributos

Page 15: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvore de Decisão:Play Tennis

Tempo

Humidade VentoYes

Nublado

Ensolarado Chuvoso

Alta Normal Forte Fraco

Não Sim Não Sim

Valores

Page 16: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvore de Decisão:Play Tennis

Tempo

Humidade VentoYes

Nublado

Ensolarado Chuvoso

Alta Normal Forte Fraco

Não Sim Não Sim

Classificação

Page 17: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Play TennisCada percurso na árvore (da raiz à

folha) corresponde a uma regra de classificação

Se:◦(Tempo = Ensolarado Humidade =

Normal) ◦ (Tempo = Nublado)◦ (Tempo = Chuvoso Vento =

Fraco)Então:

◦Play Tennis? Sim

Page 18: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

RegrasNa forma: if-thenIF Outlook=Sunny Humidity=Normal THEN PlayTennis=Yes

IF Outlook=Overcast THEN PlayTennis=Yes

IF Outlook=Rain Wind=Weak THEN PlayTennis=Yes

IF Outlook=Sunny Humidity=High THEN PlayTennis=No

IF Outlook=Rain Wind=Strong THEN PlayTennis=Yes

Page 19: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvores de DecisãoEscolha de testes de atributos

Como escolher o melhor atributo?◦Quantidade de Informações

(Shannon Weaver – 1949)

◦Entropia(S) = especifica o número mínimo de bits de informação necessário para codificar uma classificação de um membro arbitrário de S.

Page 20: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

EntropiaS é 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⊝

Page 21: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvores de DecisãoEscolha de testes de atributos

Quantidade de Informações de um problema que pode tomar n valores:

Exemplo: no caso do lançamento de uma moeda:

)(log)())(),...,, 221

1

iin vPvPvPP(v)I(P(vn

i

bit12

1log2

1

2

1log2

1

2

1,2

122

I

Page 22: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvores de DecisãoEscolha de testes de atributos

Para uma árvore de decisão com 2 possibilidades de resposta:

Teste em um único atributo não nos dará informações suficientes

A construção de uma árvore de decisão é guiadapelo objetivo de diminuir a aleatoriedade ou dificuldade de previsão, da variável que define as classes.

np

n

np

n

np

p

np

p

np

n

np

pI

22 loglog,

Page 23: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvores de DecisãoEscolha de testes de atributosUm atributo escolhido A divide o

conjunto de treinamento em sub-conjuntos E1, E2,..Ev de acordo com seus valores para A, onde A tem v valores distintos

Ganho:

Melhor atributo Maior Ganho

ii

i

ii

iv

i

ii

np

n

np

pInp

npA ,)Restante(

1

Restante,)(

np

n

np

pIAGanho

Page 24: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvores de DecisãoEscolha de testes de atributos

Ganho de Informação (Information Gain)◦ O ganho de um atributo/teste é definido

pela redução de Entropia proporcionada após a separação dos exemplos do nó

),(),(),,( ][

][

i

i

i

vav

vaEEEnt

E

EECEntECaInfoGain

Entropia do nó pai Entropia do nó filho ponderada pelo número de exemplos do nó

Page 25: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvores de DecisãoEscolha de testes de atributos

Propriedades da Entropia: Se todos os exemplos de E são da mesma classe então

entropia assume valor mínimo Ent(C,E) = 0

Se todos as classes têm o mesmo número de exemplos em E então entropia assume valor máximo

Qual o melhor atributo?◦Ganho(exemplos,Tempo)=0.246

MAX !◦Ganho(exemplos,Humidade)=0.151◦Ganho(exemplos,Vento)=0.048◦Ganho(exemplos,Temperatura)=0.029

Page 26: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Lidando com atributos numéricos: ◦Testes são da forma: atributo > valor◦Procedimento:

Ordene os valores do atributo observados no conjunto de treinamento

Considere a média de valores adjacentes como possíveis testes

Por eficiência, considere apenas os valores onde são observadas mudanças de classe

Árvores de DecisãoEscolha de testes de atributos

Temperatura: 40 48 60 72 80 90 Classe: A A B B B A

54 95 Valores candidatos

Page 27: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Raíz: [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

◦ Média: 5/14*0.971 + 4/14*0.0 + 5/14*0.971 = 0.694

◦ Ganho de Informação: 0.940 - 0.694 = 0.246

Árvores de Decisão - Exemplo

Page 28: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

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 raíz

Árvores de Decisão - Exemplo

Page 29: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvores de Decisão - Exemplo

Outlook

Overcast

Rain

Yes[4+; 0-] ?

[3+; 2-]Entropia: 0.971

[2+; 3-]Entropia: 0.971

?

Sunny

[9+; 5-]Entropia: 0.940

Humit.?Temp.?Wind?

Humit.?Temp.?Wind?

Page 30: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvores de DecisãoEscolha de testes de atributos

Próximos atributos a serem testados

Ganho(exemplossol, Humidade) = 0.97-(3/5)0-(2/5)0 = 0.970 MAX !

Ganho(exemplossol,Temperatura) = 0.97-(2/5)0-(2/5)1-(1/5)0 = 0.570

Ganho(exemplossol,Vento) = 0.97-(2/5)1-(3/5)0.918 = 0.019

Tempo

{D1,D2,D8,D9,D11} [2+, 3-] E > 0 ???

{D3,D7,D12,D13} [4+, 0-] E = 0 OK – Classif.: SimSol

Nublado

{D4,D5,D6,D10,D14} [3+, 2-] E > 0 ??? Chuvoso

I(2/5, 3/5) = 0,97

Page 31: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Totalidade (ou alternativamente, a maioria) do exemplos do nó pertencem a mesma classe

Profundidade máxima para o nó

Número mínimo de exemplos no nó

Ganho pouco significativo no critério de separação

◦ Obs.: valores definidos como parâmetros do aprendizado

Árvores de Decisão – Critérios de Parada

Page 32: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Avaliação do desempenho do algoritmo de aprendizagem

Curva de Aprendizado:

Page 33: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Critérios para escolha da melhor árvoreObter estimativas confiáveis do

erro a partir do conjunto de treinamento.

Otimizar o erro num conjunto de validação independente do utilizado para construir a árvore.

Minimizar:◦erro no treinamento ◦dimensão da árvore

Page 34: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Ruído e SuperadaptaçãoAlgoritmo tenta modelar ruído

nos dados

Árvore gerada não funciona bem com dados não conhecidos◦Não é suficientemente generalizada

Solução: Poda de atributos irrelevantes

Page 35: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Superadaptação (overfitting)O algoritmo de partição recursiva do

conjunto de dados gera estruturas que podem obter um ajuste aos exemplos de treinamento perfeito.◦ Em domínios sem ruído o número de erros no

conjunto de treinamento pode ser 0.Em problemas com ruído esta capacidade é

problemática:◦ A partir de uma certa profundidade as decisões

tomadas são baseadas em pequenos conjuntos de exemplos.

◦ A capacidade de generalização para exemplos não utilizados no crescimento da árvore diminui.

Page 36: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Variação do erro com o número de nós

Page 37: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Superadaptação (overfitting)Ockham’s razor: preferência pela

hipótese mais simples.◦Existem menos hipóteses simples do

que complexas.◦Se uma hipótese simples explica os

dados é pouco provável que seja uma coincidência.

◦Uma hipótese complexa pode explicar os dados apenas por coincidência.

Page 38: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Poda (Prunning)Forma de simplificar a árvoreDuas possibilidades:

◦Pre-pruning Parar o crescimento da árvore mais cedo

◦Post-pruning Costruir uma árvore completa e podar a

árvore “Growing and pruning is slower but more

reliable”

Page 39: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Algoritmo básico de poda

1. Percorre a árvore em profundidade

2. Para cada nó de decisão calcula:◦ Erro no nó◦ Soma dos erros nos nós

descendentes

3. Se o erro no nó é menor ou igual à soma dos erros dos nós descendentes, o nó é transformado em folha.

Page 40: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Um algoritmo básico de pruning

Exemplo do nó B:◦Erro no nó = 2◦Soma dos erros nos nós

descendentes: 2 + 0

◦Transforma o nó em folha Elimina os nós descendentes.

Exemplo do nó B:◦ Erro no nó = 2◦ Soma dos erros

nos nós descendentes: 2 + 0

◦ Transforma o nó em folha Elimina os nós

descendentes.

Page 41: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Utilização PráticaAs arvores de decisão costumam ser

o primeiro método experimentado quando o método de classificação tem de ser extraído de um conjunto de dados.

A saída de uma árvore de decisão é de fácil entendimento para um ser humano.◦Exigência legal para decisões

financeiras.Propriedade não compartilhada por

redes neurais.

Page 42: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Casos de sucessoSistema GASOIL (BP)

◦Usado para determinar sistemas de separação de gás, óleo e água

◦Aproximadamente 2500 regras◦Se tivesse sido feito manualmente

levaria 10 pessoa-anos◦Levou 100 pessoa-dias utilizando

árvore de decisão

Page 43: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Casos de sucessoPilotos Automáticos

◦Mapeamentos de estados do sistema para as ações corretas

◦Testes realizados com simuladores do Cessna

◦20.000 exemplos criados a partir da observação de pilotos treinados utilizando o simulador

◦O sistema gerado a partir da árvore de decisão cometia menos erros que pilotos humanos

Page 44: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Vantagens:◦Geram modelos dos dados (i.e., método

eager)◦Conhecimento interpretável◦Pouca sensibilidade a atributos

irrelevantes Uma vez que implementam seleção de atributos

Desvantagens:◦Em geral, menos precisos comparados

com algoritmos como redes neurais e SVMs

Árvores de Decisão - Discussão

Page 45: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Diferentes versões de algoritmos podem ser encontradas na literatura◦Algoritmo ID3 – versão básica de AD para

atributos categóricos, com InfoGain ◦Algoritmo C4.5 – extensão do ID3 para

atributos categóricos e numéricos, com GainRatio

Árvores de Decisão

Page 46: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvores de Decisão - no WEKA

Page 47: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvores de Decisão - no WEKA

Parâmetros Importantes

• confidenceFactor: ?????

• minNumObj: número mínimo de exemplos em uma folha

• numFold: controla a quantidade de exemplos de validação usados para poda

Page 48: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

Árvores de Decisão - no WEKA

Árvore Gerada

Page 49: Árvores de Decisão Valmir Macário. Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos.

T. Mitchell, Machine Learning, Cap. 3, 1997.

M. Monard, J. Baranauskas, Indução de Regras e Árvores de Decisão, Sistemas Inteligentes, Cap. 5, 2005.

J. R. Quinlan, Induction of Decision Trees, Machine Learning, Vol.1, N.1, 1986.

Referências