aprendizagem simbólica Árvores de decisão. esquema da apresentação n representação de...

45
Aprendizagem Simbólica Árvores de Decisão

Upload: jorge-beltrao-canedo

Post on 07-Apr-2016

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Aprendizagem Simbólica

Árvores de Decisão

Page 2: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Esquema da apresentação

Representação de árvores de decisão Problemas apropriados para árvores de decisão Algoritmo de Aprendizagem Básico - ID3

– Entropia– Ganho de Informação

Busca no espaço de estado Bias indutivo Problemas do algoritmo ID3 -> C4.5 Exemplos práticos

Page 3: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Árvore de Decisão para PlayTennis

<Outlook, Temperature, Humidity, Wind, PlayTenis>

Page 4: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Árvore para prever risco de cesariana

Aprendida a partir do registro médico de 1000 mulheres

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

Page 5: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Árvores de Decisão

Representação de árvores de decisão– Cada nó interno testa um atributo– Cada ramo corresponde a um valor do atributo– Cada folha atribui uma classificação

Como representaríamos: , , XOR– (A B) (C D E)– M de N

Page 6: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Quando usar árvores de decisão?

Instâncias (exemplos) são representadas por pares atributo-valor

Função objetivo assume apenas valores discretos Hipóteses disjuntivas podem ser necessárias Conjunto de treinamento possivelmente

corrompido por ruído Exemplos:

– Diagnóstico médico, diagnóstico de equipamentos, análise de crédito

Page 7: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Indução top-down de árvores de decisão (1/2) Loop principal: 1. A o “melhor” atributo de decisão para o próximo

nó 2. Atribua A como atributo de decisão para nó 3. Para cada valor de A, crie um novo descendente

para nó 4. Classifique os exemplos de treinamento nos nós

folha 5. Se os exemplos de treinamento estão classificados

perfeitamente, então PARE, senão comece novamente a partir dos novos nós folha

Page 8: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

function APRENDIZAGEM_ID3(exemplos,atributos,default) : árvore de decisão if (exemplos é vazio) then return default; else if (todos os exemplos têm a mesma classificação)

then return (a classificação); elseif (atributos é vazio) then return maioria(exemplos); else melhor <- ESCOLHA_MELHOR_ATRIBUTO(atributos,exemplos); árvore <- nova árvore com raiz “melhor”; para cada valor vi de melhor faça exemplosi <- exemplos onde melhor = vi; subárvore <- APRENDIZAGEM_DA_ID3(exemplosi, atributos-{melhor}, maioria(exemplos)); adicione subárvore como um ramo à árvore com rótulo vi; return arvore;

ID3: Algoritmo de aprendizagem

Page 9: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Indução top-down de árvores de decisão (2/2) Qual é o melhor atributo?

[29+ , 35-]

[21+, 5-] [8+, 30-]

[29+ , 35-]

A2=?

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

A1=?

Page 10: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Entropia (1/3)

S é 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 11: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Entropia (2/3)

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

Por quê?– Teoria da Informação: códigos de

comprimento ótimo atribui -log2p bits para mensagens que possuem probabilidade p

Page 12: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Entropia (3/3)

Portanto, o nr. de bits esperados para codificar ou de elementos aleatórios de S:– p (-log2 p) + p (-log2 p)

– Entropia(S)=- p log2 p - p log2 p

Page 13: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Entropia - Exemplo I Se p é 1, o destinatário sabe que o exemplo

selecionado será positivo– Nenhuma mensagem precisa ser enviada – Entropia é 0 (mínima)

Se p é 0.5, um bit é necessário para indicar se o exemplo selecionado é ou – Entropia é 1 (máxima)

Se p é 0.8, então um coleção de mensagens podem ser codificadas usando-se - em média menos de um bit - códigos mais curtos para e mais longos para

Page 14: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Entropia - Gráfico

Page 15: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Entropia - Exemplo I

Suponha que S é uma coleção de 14 exemplos, incluindo 9 positivos e 5 negativos – Notação: [9+,5-]

A entropia de S em relação a esta classificação booleana é dada por:

940.0)14/5(log)14/5()14/9(log)14/9(])5,9([ 22

Entropy

Page 16: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Critério de ganho (1/2)

)(||||

)(),()(

vAValuesv

v SEntropySS

SEntropyASGain

Gain(S,A)=redução esperada da entropia devido a “classificação” de acordo com A

Page 17: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Critério de ganho (2/2)

Usar o critério de ganho para decidir![29+ , 35-]

[21+, 5-] [8+, 30-]

[29+ , 35-]

A2=?

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

A1=?

Page 18: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Critério de ganho - Exemplo (1/2) Suponha que S é uma coleção de exemplos de

treinamento ([9+,5-]) descritos por atributos incluindo Wind, que pode ter os valores Weak and Strong.

048.000.1*)14/6(811.0*)14/8(940.0

)()14/6()()14/8()(

)(||||

)(),(

]3,3[]2,6[]5,9[

,)(

},{

StrongWeak

vStrongWeakv

v

Strong

Weak

SEntropySEntropySEntropy

SEntropySS

SEntropyWindSGain

SS

SStrongWeakWindValues

Page 19: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Critério de ganho - Exemplo (2/2)

Page 20: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Exemplos de treinamento (1/3)

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 YesD10 Rain Mild Normal Weak YesD11 Sunny Mild Normal Strong YesD12 Overcast Mild High Strong YesD13 Overcast Hot Normal Weak YesD14 Rain Mild High Strong No

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

Page 21: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Exemplos de treinamento (1/3)

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

onde S denota a coleção de exemplos na tabela anterior

Page 22: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão
Page 23: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Busca no espaço de hipóteses - ID3

Page 24: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Busca no espaço de hipóteses por ID3

Espaço de hipóteses completo– A função objetivo com certeza está contido nele

Tem como saída uma única hipótese (qual?)– Não pode lidar com várias perguntas....

Não há backtracking– Mínimo local

Escolhas para busca baseadas em estatística– Robusto contra dados com ruído

Inductive bias: aprox “prefere a menor árvore”

Page 25: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Inductive bias em ID3 Note que H é conjunto das partes de instâncias X

– Não tendencioso? Não exatamente...

– Preferência por árvores curtas, e por aquelas com atributos com alto ganho de informação próximos à raiz

– Bias é uma preferência por algumas hipótese, ao invés de uma restrição do espaço de hipóteses H

– Occam´s razor: preferir a hipótese mais simples que se ajuste aos dados

Page 26: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Occam´s razor (1/2) Heurística de Occam´s Razor: preferir a hipótese

mais simples que que se ajuste aos dados

Por quê preferir hipóteses mais simples a mais complexas?

– Raciocínio comum:• Há muito menos hipóteses mais simples,

portanto é menos provável que seja uma coincidência se uma dessas hipótese se ajustar aos dados

Page 27: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Occam´s razor (2/2)– Argumentos contra:

• Porém existem vários conjuntos pequenos de hipóteses sem sentindo!

– e.g., todas as árvores com um número primo de nós que usam o atributo começando por “Z”

• Então, o que há de tão especial sobre conjuntos pequenos baseados no tamanho (complexidade) das hipóteses?

• A complexidade de uma hipótese depende da representação usada durante a aprendizagem

Page 28: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Overfitting em árvores de decisão Suponha que adicionamos um exemplo de

treinamento com ruído #15:– Sunny, Hot, Normal, Strong, PlayTennis=No– Qual seria seu efeito na árvore anterior:

Page 29: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Overfitting

Considere o erro da hipótese h sobre– dados do treinamento: errotrain(h)– distribuição completa D dos dados: erroD(h)

Uma hipótese h H “overfits” o conjunto de dados se há uma hipótese alternativa h´ H tal que– errotrain(h) < errotrain(h´) e– erroD(h) > erroD(h´)

Page 30: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Overfitting na aprendizagem de árvores de decisão (1/2)

Page 31: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Overfitting na aprendizagem de árvores de decisão (2/2) Como evitar overfitting?

– Parar o crescimento da árvore quando a divisão dos dados não é estatisticamente significativa

– Deixar a árvore crescer completamente para, então, 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 validação – MDL: minimizar - size(tree)+size(misclassification(tree))

Page 32: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Reduzindo o erro através da poda

Divida os dados em cj. de treinamento e validação

Faça até que uma poda adicional seja prejudicial:– 1. Avalie o impacto sobre o cj. de validação de

podar cada nó possível (e seus descendentes)– 2. Gulosamente remova aquele que melhora mais

a performance no cj. de validação Produz a menor versão da sub-árvore mais

precisa E se os dados são limitados?

Page 33: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Efeito do uso da técnica de poda

Page 34: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

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 seqüência deseja para uso– Estes é um dos métodos mais utilizados

(e.g., C4.5)

Page 35: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Convertendo uma árvore em regras

Page 36: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Convertendo uma árvore em regras IF (Outlook = Sunny) (Humidity =

High) THEN PlayTennis = No

IF (Outlook = Sunny) (Humidity = Normal) THEN PlayTennis = YES

..........

Page 37: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Atributos com valores contínuos

Crie um atributo discreto para testar um que seja contínuo– Temperature = 82.5– (Temperature > 72.3) = t,f

Temperature: 40 48 60 72 80 90

PlayTennis: NO NO YES YES YES NO

Page 38: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Atributos com vários valores (1/2) Problema:

– Se o atributo tem vários valores, Gain o selecionará

– Suponha o uso de Date = 3/06/00 como atributo Um abordagem: use GainRatio

Page 39: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Atributos com vários valores (2/2)

||||

log||||

),(

),(),(),(

21 S

SSS

ASmationSplitInfor

ASmationSplitInforASGainASGainRation

ic

i

i

Onde Si é um subconjunto de S para o qual A tem valor vi

Page 40: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Atributos com custo

Considere– Diagnóstico médico, BloodTest tem custo R$500– Robótica, Width_from_1ft tem custo 23 sec.

Como aprender uma árvore consistente com um valor de custo esperado baixo?

Uma abordagem: substitua Gain por:

Page 41: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Atributos com custo (2/2)

),(),(2

ASCostASGain

w

ASGain

ACost )1)((2 ),(

Tan e Schlimmer (1990)

Nunez (1988)

Onde w [0,1] determinar a importância do custo

Page 42: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Valores de atributo desconhecidos (1/2) E se valores do atributo A estão faltando

para alguns exemplos? Mesmo assim use os exemplos de

treinamento, e organize a árvore como segue:– Se um nó n testa A, atribua um valor para A que

seja o mais comum entre os outros exemplos classificados nó n

– Atribua para A um valor que seja o mais comum entre os outros exemplos com o mesmo valor objetivo (target value)

Page 43: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Valores de atributo desconhecidos (2/2)

– Atribua uma probabilidade pi para cada valor possível vi de A

• atribua uma fração pi de exemplos para cada descendente da árvore

– Classifique exemplos novos da mesma maneira

Page 44: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Exemplos Práticos GASOIL

– Sistema de separação de gás-óleo em plataformas de petróleo

– Sistema de 10 pessoas-ano se baseado em regras– Desenvolvido em 100 pessoas-dia

Piloto automático de um Cessna– Treinado por três pilotos– Obteve um desempenho melhor que os três

Mineração de dados Recuperação de Informação

Page 45: Aprendizagem Simbólica Árvores de Decisão. Esquema da apresentação n Representação de árvores de decisão n Problemas apropriados para árvores de decisão

Redes Neurais X Árvores de Decisão

Algoritmo TREPAN– Representa uma rede neural através de

uma árvore de decisão– Algoritmo geral de extração de

conhecimento de redes neurais