Indução de Árvore de Decisão

28
Indução de Árvore de Decisão Indução de Árvore de Decisão Jacques Robin

description

Indução de Árvore de Decisão. Jacques Robin. Roteiro. Entrada e saída da indução de árvore decisão Tarefas de aprendizagem implementadas por ID3 Exemplo Algoritmo básico e complexidade Heurísticas de escolha do atributo de partição de exemplos Poda da árvore para evitar overfitting - PowerPoint PPT Presentation

Transcript of Indução de Árvore de Decisão

Page 1: Indução de Árvore de Decisão

Indução de Árvore de DecisãoIndução de Árvore de Decisão

Jacques Robin

Page 2: Indução de Árvore de Decisão

RoteiroRoteiro

1.1. Entrada e saída da indução de árvore decisãoEntrada e saída da indução de árvore decisão

2.2. Tarefas de aprendizagem implementadas por ID3Tarefas de aprendizagem implementadas por ID3

3.3. ExemploExemplo

4.4. Algoritmo básico e complexidadeAlgoritmo básico e complexidade

5.5. Heurísticas de escolha do atributo de partição de exemplosHeurísticas de escolha do atributo de partição de exemplos

6.6. Poda da árvore para evitar overfittingPoda da árvore para evitar overfitting

7.7. Atributos numéricos, multi-valorados, nulos e numerososAtributos numéricos, multi-valorados, nulos e numerosos

8.8. Árvores de regressão e de modeloÁrvores de regressão e de modelo

9.9. Vantagens e limitações de ID3Vantagens e limitações de ID3

Page 3: Indução de Árvore de Decisão

Entrada e saída da Entrada e saída da indução de árvore de decisão (ID3)indução de árvore de decisão (ID3)

age income studentcredit

rating

buys

computer

<=30 high no f air no

<=30 high no excellent no

31…40 high no f air yes

>40 medium no f air yes

>40 low yes f air yes

>40 low yes excellent no

31…40 low yes excellent yes

<=30 medium no f air no

<=30 low yes f air yes

>40 medium yes f air yes

<=30 medium yes excellent yes

31…40 medium no excellent yes

31…40 high yes f air yes

>40 medium no excellent no

age?

student? credit rating?

no yes fairexcellent

no noyes yesyes

<=30 >4030..40

Page 4: Indução de Árvore de Decisão

Tarefas de aprendizagem Tarefas de aprendizagem realizáveis por ID3realizáveis por ID3

Classificação:Classificação: Atributos classificadores nos ramos Valores da classe nas folhas

Regressão: Regressão: Valores das variáveis fornecidas nos ramos Valor da variável a estimar nas folhas

Previsão temporal:Previsão temporal: Valores passadas do atributo a prever nos ramos Valor futura do atributo a prever nas folhas

Detecção de padrão:Detecção de padrão: Valores antecedentes da associação nos ramos Valores conseqüentes da associação nas folhas

Controle:Controle: Atributos descrevendo situação nos ramos Ação a executar nessa situação nas folhas

Otimização:Otimização: Valores das variáveis do domínio da função a otimizar nos ramos Valor da imagem máxima ou mínima da função das folhas

Page 5: Indução de Árvore de Decisão

Expressividade das árvores de decisãoExpressividade das árvores de decisão

Representação como programa Representação como programa lógico:lógico:buy(X,computer) :- age(X) <= 30, student(X), creditRating(X,fair).buy(X,computer) :- age(X) >= 30, age(X) <= 40.buy(X,computer) :- age(X) > 40, creditRating(X,fair).

age?

student? credit rating?

no yes fairexcellent

no noyes yesyes

<=30 >4030..40

Page 6: Indução de Árvore de Decisão

Expressividade das árvores de decisãoExpressividade das árvores de decisão

Representação proposicional:Representação proposicional: ((under30 student) 30something (over40 fairCreditRating) buyComputer

((under30 student) (over40 excellentCreditRating) buyComputer) (under30 30something over40) (under30 30something) (under30 over40) (over40 30something)

(fairCreditRating excellentCreditRating)

(fairCreditRating excellentCreditRating)

age?

student? credit rating?

no yes fairexcellent

no noyes yesyes

<=30 >4030..40

Page 7: Indução de Árvore de Decisão

Expressividade das árvores de decisãoExpressividade das árvores de decisão

Pode representar qualquer função booleanaPode representar qualquer função booleana No entanto, algumas funções – como a função de paridade ou No entanto, algumas funções – como a função de paridade ou

de maioria – só podem serem representadas por uma árvore de de maioria – só podem serem representadas por uma árvore de tamanho exponencial no número de atributostamanho exponencial no número de atributos

Cardinal do espaço de hipótese de uma tarefa de Cardinal do espaço de hipótese de uma tarefa de aprendizagem com aprendizagem com 6 atributos booleanos6 atributos booleanos: : 18.446.744.073.709.551.66118.446.744.073.709.551.661

Mesmo para problemas pequenos:Mesmo para problemas pequenos: Aprender árvores pequenos o suficiente para serem inteligível e

então validáveis Requer heurísticas (i.e., viés) podendo a busca no espaço de

hipótese de maneira violenta Em recuperação de informação utiliza-se geralmente um Em recuperação de informação utiliza-se geralmente um

número de atributo igual a o número de palavras na língua número de atributo igual a o número de palavras na língua utilizada nos documentos ...utilizada nos documentos ...

Page 8: Indução de Árvore de Decisão

Algoritmo básico de ID3Algoritmo básico de ID3

Escolher dentro do conjunto de atributo atual A = {AEscolher dentro do conjunto de atributo atual A = {A11,..., A,..., Akk} } o atributo Ao atributo Aii que separa melhor o conjunto atual de exemplos que separa melhor o conjunto atual de exemplos E em termos dos valores do atributo a prever PE em termos dos valores do atributo a prever P

Dividir E em termos dos valores de ADividir E em termos dos valores de Aii = {V = {Vii11,..., V,..., Vii

kk}}i.e.,i.e., E = E = E Ejj, , x x E Ejj, A, Aii(x) = V(x) = Vii

jj, , criando um novo arco teste Acriando um novo arco teste Aii(x) = V(x) = Vii

ii na árvore para cada E na árvore para cada Ejj

Para todos EPara todos Eii ainda heterogêneos em termos do valor de P ainda heterogêneos em termos do valor de Pi.e.,i.e., x,y x,y E Eii, P(x) , P(x) P(y), P(y),

Recursivamente reaplicar algoritmo sobre ERecursivamente reaplicar algoritmo sobre Ej j com o conjunto de com o conjunto de atributo A´= A – {Aatributo A´= A – {Aii}}

Continuar até que:Continuar até que: Todos os Ej seja homogêneos em termos do valor de P Não tenha mais atributos a processar, i.e., A´=

Page 9: Indução de Árvore de Decisão

Viés de aprendizagem de ID3Viés de aprendizagem de ID3

age

<=30 30..40 >40

income income income

high medium low high medium low high medium low

student student student student student student student student student

+ - + - + - + - + - + - + - + - + -

CR CR CR CR CR CR CR CR CR CR CR CR CR CR CR CR CR CR

e f e f e f e f e f e f e f e f e f e f e f e f e f e f e f e f e f e f

BC ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

Árvore aprendida com viés de ID3Árvore aprendida com viés de ID3 Número de bits: 3Número de bits: 3

age

<=30 30..40 >40

student

credit

+ -excel

fair

buy - + + - +

Árvore “aprendida” sem viésÁrvore “aprendida” sem viés Número de bits: 6Número de bits: 6

Page 10: Indução de Árvore de Decisão

Ganho da informaçãoGanho da informação Índice GINIÍndice GINI

Heurísticas de escolha de atributo de Heurísticas de escolha de atributo de partição de exemplospartição de exemplos

Page 11: Indução de Árvore de Decisão

Informação (em número de bits) esperada necessária para Informação (em número de bits) esperada necessária para classificar, em m classes, amostra arbitrária de s exemplos:classificar, em m classes, amostra arbitrária de s exemplos:

Informação esperada necessária para classificar, em m classes, Informação esperada necessária para classificar, em m classes, dado o valor, entre V valores possíveis, do atributo A (entropia dado o valor, entre V valores possíveis, do atributo A (entropia de A):de A):

Ganho de informação pelo conhecimento do valor de A: Ganho de informação pelo conhecimento do valor de A:

Ganho da informaçãoGanho da informação

s

slogs

s),...,s,ssI(

im

i

im21 2

1

)s,...,s(Is

s...sE(A) mjj

v

j

mjj1

1

1

E(A))s,...,s,I(sGain(A) m 21

SSi i = numero de exemplos de classe i= numero de exemplos de classe i

SSi j i j = numero de exemplos de classe i= numero de exemplos de classe i com valor j para atributo A com valor j para atributo A

Page 12: Indução de Árvore de Decisão

Class p: buysComputer = “yes” Class n: buysComputer = “no” I(p, n) = I(9, 5) = 0.940 Entropia para age: 694.0)2,3(

14

5

)0,4(14

4)3,2(

14

5)(

I

IIageE

048.0)_(

151.0)(

029.0)(

ratingcreditGain

studentGain

incomeGain

246.0)(),()( ageEnpIageGainage income studentcredit rating

buys computer

<=30 high no fair no<=30 high no excellent no

31…40 high no fair yes>40 medium no fair yes>40 low yes fair yes>40 low yes excellent no

31…40 low yes excellent yes<=30 medium no fair no<=30 low yes fair yes>40 medium yes fair yes

<=30 medium yes excellent yes31…40 medium no excellent yes31…40 high yes fair yes

>40 medium no excellent no

age pi ni I(pi, ni)<=30 2 3 0.97130…40 4 0 0>40 3 2 0.971

Exemplo de escolha de atributo baseadoExemplo de escolha de atributo baseadona heurística do maior ganho de na heurística do maior ganho de

informaçãoinformação

age <= 30 para 5/14 dos exemplosdos quais 2 buyComputer = yese 3 buyComputer = no

Page 13: Indução de Árvore de Decisão

Exemplo de ID3Exemplo de ID3

age?

<=30 >4031..40

age income studentcredit rating

buys computer

<=30 high no fair no e1<=30 high no excellent no e2

31…40 high no fair yes e3>40 medium no fair yes e4>40 low yes fair yes e5>40 low yes excellent no e6

31…40 low yes excellent yes e7<=30 medium no fair no e8<=30 low yes fair yes e9>40 medium yes fair yes e10

<=30 medium yes excellent yes e1131…40 medium no excellent yes e1231…40 high yes fair yes e13

>40 medium no excellent no e14

+: e9, e11-: e1, e2, e8

+: e3, e7, e12, e13

+: e4, e5, e10-: e6, e14

Page 14: Indução de Árvore de Decisão

Exemplo de ID3Exemplo de ID3

age?

<=30 >4031..40

+: e9, e11-: e1, e2, e8

+: e3, e7, e12, e13

+: e4, e5, e10-: e6, e14

income studentcredit rating

buys computer

high no fair no e1high no excellent no e2

medium no fair no e8low yes fair yes e9

medium yes excellent yes e11

student?

no yes

+: e9, e11

-: e1, e2, e8

Page 15: Indução de Árvore de Decisão

Exemplo de ID3Exemplo de ID3

age?

<=30 >4031..40

+: e9, e11-: e1, e2, e8

+: e3, e7, e12, e13

+: e4, e5, e10-: e6, e14

student?

no yes

+: e9, e11

-: e1, e2, e8

credit rating?

fairexcellent

-: e6, e14 +: e4, e5, e10

income studentcredit rating

buys computer

medium no fair yes e4low yes fair yes e5low yes excellent no e6

medium yes fair yes e10medium no excellent no e14

Page 16: Indução de Árvore de Decisão

Poda de árvores para evitar overfittingPoda de árvores para evitar overfitting

Broto de decisão: árvore de decisão de profundidade 1Broto de decisão: árvore de decisão de profundidade 1 Em muitos casos, tão precisão se não melhor sobre conjunto de

teste do que árvore de decisão completa gerada por ID3 Caso também de kNN, Classificador Bayesiana Ingênuo e Regra de

Classificação 1R, i.e., regra da forma: atributo a = v classe = c Em processo de aprendizagem qualquer, sempre começar pelo uso

desses métodos simplórios, pós as vezes eles são suficientes, e sempre eles constituem um caso base para a avaliação de métodos mais sofisticados

Sugere idéia de podar árvores geradas por ID3 para melhorar Sugere idéia de podar árvores geradas por ID3 para melhorar sua generalidadesua generalidade Pré-poda:

Introduzir novo ramo na árvore apenas para gerar divisão de exemplos estatisticamente significativa (por exemplo usando um test 2

Pós-poda: Podar árvore completa testando diferencia de precisão sobre outro

conjunto de exemplos de duas operações de poda, colapso de ramo e subida de ramo

Page 17: Indução de Árvore de Decisão

Operações de pós-poda: colapso de ramoOperações de pós-poda: colapso de ramo

age?

student? credit rating?

no yes fairexcellent

no noyes yesyes

<=30 >4030..40

age?

credit rating?

fairexcellent

no no yesyes

<=30 >4030..40

Page 18: Indução de Árvore de Decisão

Operações de pós-poda: elevação de Operações de pós-poda: elevação de ramoramo

age?

student? credit rating?

no yes fairexcellent

no noyes yesyes

<=30 >4030..40

no noyes yesyes

student?

no yes

credit rating?age?

fairexcellent<=30 >4030..40

Page 19: Indução de Árvore de Decisão

Pós-podaPós-poda

Processa a árvore de baixo para cima estimando benefício, em Processa a árvore de baixo para cima estimando benefício, em cada nó, de uma das duas operaçõescada nó, de uma das duas operações

Divide conjunto de exemplos em 3 partes:Divide conjunto de exemplos em 3 partes: Conjunto de construção da árvore Conjunto de poda da árvore Conjunto de teste da árvore podada

Problemático com conjunto de exemplos pequenos:Problemático com conjunto de exemplos pequenos: Solução de C4.5 Executa poda sobre mesmo conjunto do que a construção, usando

um estimador estatístico diferente do ganho de informação usado para construção

Page 20: Indução de Árvore de Decisão

Complexidade de ID3Complexidade de ID3

Abstrair e exemplos de treinamento, Abstrair e exemplos de treinamento, cada um descrito por a atributos por uma árvore de decisão de profundidade O(log n)

Execução: O(log n)Execução: O(log n) Treinamento sem poda: O(mn log n)Treinamento sem poda: O(mn log n) Pós-poda: O(n (log n)Pós-poda: O(n (log n)22))

Page 21: Indução de Árvore de Decisão

Outras dificuldades práticasOutras dificuldades práticas

Atributos multi-valoradosAtributos multi-valorados ID3 supõe que cada atributo de cada exemplo possui apenas um

único valor Nem é sempre o caso: ex, filhos de uma pessoa

Atributos com distribuição de valores muito desigualAtributos com distribuição de valores muito desigual ID3 tende a gerar broto de decisão

Page 22: Indução de Árvore de Decisão

Atributos numerososAtributos numerosos

Ganho de informação super-estima atributos com muitos Ganho de informação super-estima atributos com muitos valores distintosvalores distintos

Atributos com um valor distinto por exemplo, completamente Atributos com um valor distinto por exemplo, completamente inútil para classificação, no entanto com maior ganho de inútil para classificação, no entanto com maior ganho de informaçãoinformação

Uma solução simples: usar razão do ganho sobre número de Uma solução simples: usar razão do ganho sobre número de valores do atributovalores do atributo

Page 23: Indução de Árvore de Decisão

Atributos nulosAtributos nulos

Utilização: Utilização: Como classificar novo exemplo com atributo nulo ? Prever valor nulo como sendo valor adicional

Treinamento:Treinamento: Simplesmente excluir exemplos ou atributos com valores nulos

não é sempre viável porque: As vezes exemplo com valor nulo para determinado atributo, é

extremamente informativo com respeito a outros atributos, ou atributo com valor com valor nulo para determinado exemplo, é

extremamente informativo via seus valores para outros exemplos tamanho e dimensionalidade dos exemplos de treinamento ficam baixo

demais É necessário modificar a fórmula do ganho de informação para a

tornar tolerante a valores nulos

Page 24: Indução de Árvore de Decisão

Atributos numéricosAtributos numéricos

Qual é a partição em faixa de valores que maximiza o ganho de Qual é a partição em faixa de valores que maximiza o ganho de informação ?informação ?

Page 25: Indução de Árvore de Decisão

Árvore de regressãoÁrvore de regressão

Regressão linear paramêtrica: PRP = - 56.1 + 0.049MYCT + 0.015MMIN + 0.006MMAX + 0.630CACH - 0.270CHMIN + 1.46CHMAX

Árvore de regressão para mesma tarefa:

Page 26: Indução de Árvore de Decisão

Árvore de modeloÁrvore de modelo

LM1: PRP = 8.29 + 0.004 MMAX + 2.77 CHMINLM2: PRP = 20.3 + 0.004 MMIN – 3.99 CHMIN + 0.946 CHMAXLM3: PRP = 38.1 + 0.012 MMINLM4: PRP = 19.5 + 0.002 MMAX + 0.698 CACH + 0.969 CHMAXLM5: PRP = 285 – 1.46 MYCT + 1.02 CACH – 9.39 CHMINLM6: PRP = -65.8 + 0.03 MMIN – 2.94 CHMIN + 4.98 CHMAX

Árvore de modelo para mesma tarefa:

Page 27: Indução de Árvore de Decisão

Vantagens de ID3Vantagens de ID3

Muito versátilMuito versátil Algoritmo de aprendizagem muito simples, e então fácil de Algoritmo de aprendizagem muito simples, e então fácil de

entenderentender Muito bem estudadoMuito bem estudado Eficiente e escalávelEficiente e escalável Disponível na grande maioria das caixas de ferramenta gerais Disponível na grande maioria das caixas de ferramenta gerais

para aprendizagempara aprendizagem Processa cada exemplo apenas uma única vezProcessa cada exemplo apenas uma única vez

Page 28: Indução de Árvore de Decisão

Limitações de ID3Limitações de ID3

Redundância para Redundância para representar sem muita representar sem muita redundância funções sem redundância funções sem ordem claro de poder ordem claro de poder separativo dos exemplos separativo dos exemplos entre atributos entre atributos

Não pode aprender Não pode aprender relacionamentos relacionamentos genéricos entre vários genéricos entre vários indivíduos,indivíduos, ex: árvore de decisão

definindo conceito de mãe, de ancestral ?

Não é incremental: todos Não é incremental: todos os exemplos tem que ser os exemplos tem que ser disponíveis com disponíveis com antecedênciaantecedência