Você está na página 1de 59

Aprendizagem de Mquina

Alessandro L. Koerich
Programa de Ps-Graduao em Informtica Pontifcia Universidade Catlica do Paran (PUCPR)

RVORES DE DECISO

Plano de Aula
! ! ! ! ! Introduo Representao de rvores de Deciso Algoritmo de Aprendizagem ID3 Entropia e Ganho de Informao Aspectos na Aprendizagem de rvores de Deciso ! Resumo

Referncias
! Duda R., Hart P., Stork D. Pattern Classification 2ed. Willey Interscience, 2002. Captulo 8. ! Mitchell T. Machine Learning. WCB McGraw Hill, 1997. Captulo 3. ! Quinlan,J.R.: C4.5: Programs for Machin Learning. Morgan Kauffman, 1993

rvore
Raiz

Ramo

Ramo

Ramo

Ramo RamoRamo . . . . . . . . .

Ramo

Ramo . . .

Ramo Ramo . . .

Folha

Folha

Introduo
! Aprendizagem de rvores de deciso um mtodo prtico de aprendizagem indutiva. ! um mtodo para a aproximao de funes de valor discreto ! um mtodo relativamente robusto a rudos nos dados ! Utiliza um bias indutivo: preferncia por rvores menores.

Introduo
! A funo aprendida representada por uma rvore de Deciso. ! rvores de deciso tambm podem ser representadas como conjuntos de regras SEENTO (IFTHEN). ! Aplicaes: Diagnstico mdico, anlise de risco de crdito, minerao de dados, etc.

Representao de rvores de Deciso


! rvores de deciso classificam instncias ordenandoas rvore abaixo, a partir da raiz at alguma folha. ! Cada n da rvore especifica o teste de algum atributo da instncia ! Cada ramo partindo de um n corresponde a um dos valores possveis dos atributos.

Exemplo

Representao de rvores de Deciso


! Uma instncia classificada inicialmente pelo n raiz, testando o atributo especificado por este n. ! Em seguida, movendo-se atravs do ramo correspondendo ao valor do atributo no exemplo dado. ! Este processo repetido para a sub-rvore originada no novo n.

Quando Considerar rvores de Deciso


! Instncias descritas por pares atributovalor. Instncias so descritas por um conjunto fixo de atributos (ex. Temperatura) e seus valores (ex. Quente, Morno, Frio) ! A funo alvo tem valores discretos de sada. Classificao booleana (ex. sim ou no) para cada exemplo ou mais de duas possibilidades (ex. uva, laranja, melancia).

Quando Considerar rvores de Deciso


! Hipteses disjuntivas podem ser necessrias. rvores de deciso representam naturalmente expresses disjuntivas. ! Dados de treinamento podem conter erros e valores de atributos faltantes.

Algoritmo Bsico para Aprendizagem de rvores de Deciso


! Algoritmo base: ID3 e seu sucessor, o C4.5. ! O algoritmo ID3 aprende rvores de deciso construindoas de cima para baixo, comeando com a questo: Qual atributo deve ser testado na raiz da rvore? ! Para responder esta questo, cada atributo da instncia avaliado usando um teste estatstico para determinar quo bem ele sozinho classifica os exemplos de treinamento.

Exemplo

Melhor Atributo !!!

Algoritmo Bsico para Aprendizagem de rvores de Deciso


! O melhor atributo selecionado e usado como teste na raiz da rvore. ! Um descendente do n raiz ento criado para cada valor possvel deste atributo e os exemplos de treinamento so ordenados para o n descendente apropriado.

Algoritmo Bsico para Aprendizagem de rvores de Deciso


! O processo repetido usando exemplos de treinamento associados com cada n descendente para selecionar o melhor atributo para testar naquele ponto da rvore. ! Busca gulosa (greedy) por uma rvore de deciso aceitvel, na qual o algoritmo nunca recua para reconsiderar escolhas prvias.

Algoritmo Bsico para Aprendizagem de rvores de Deciso

Algoritmo Bsico para Aprendizagem de rvores de Deciso


! Escolha Central: selecionar qual atributo testar em cada n da rvore. ! Devemos selecionar:
! Atributo que mais til para classificar os exemplos. ! Como sabemos qual o mais til?

! Medida Quantitativa:
! Ganho de Informao = mede quo bem um atributo separa os exemplos de treinamento de acordo com a classificao alvo.

Induo TopDown de rvores de Deciso


! Qual o melhor atributo ?

Entropia
! Caracteriza a (im)pureza de uma coleo arbitrria de exemplos. ! Dado uma coleo S contendo exemplos positivos (+) e negativos () de algum conceito alvo, a entropia de S relativa a esta classificao booleana :
Entropia ( S ) " ! p+ log 2 p+ ! p! log 2 p!
! p+ a proporo de exemplos positivos em S ! p a proporo de exemplos negativos em S

Entropia
! Exemplo: Sendo S uma coleo de 14 exemplos de algum conceito booleano, incluindo 9 exemplos positivos e 5 negativos [9+, 5]. ! A entropia de S relativa a classificao booleana :
9 9 5 5 Entropia ([9+,5!]) = !( log 2 ! log 2 ) 14 14 14 14 = 0.940

Entropia

! A funo entropia relativa a uma classificao booleana, como a proporo, p+ de exemplos positivos varia entre 0 e 1.

Entropia
! Entropia(S) = nmero de bits esperados necessrios para codificar classe (+ ou ) de membros tirados aleatoriamente de S ( sob o cdigo timo, de comprimento mais curto). ! Por que? Da teoria da informao: cdigo de tamanho timo atribui log2p bits para mensagens tendo probabilidade p.

Entropia
! Generalizando para o caso de um atributo alvo aceitar c diferentes valores, a entropia de S relativa a esta classificao cclasses definida como:
Entropia ( S ) # ! " pi log 2 pi
i =1 c

onde pi a proporo de S pertencendo a classe i.

Ganho de Informao
! Gain (S,A) = reduo esperada na entropia devido a ordenao sobre A, ou seja, a reduo esperada na entropia causada pela partio dos exemplos de acordo com este atributo A.
Gain( S , A) $ Entropia( S ) #
v "Valores ( A )

Sv S

Entropia( S v )

Ganho de Informao
! S uma coleo de (dias) exemplos de treinamento descritos por atributos incluindo Wind. Temos 14 exemplos.

Tarefa de Aprendizagem
! Vamos considerar a tarefa de aprender o conceito dias nos quais eu jogo tenis ! A tabela abaixo apresenta um conjunto de dias, cada um representado por um conjunto de caractersticas (ou atributos ou features)

Tarefa de Aprendizagem
Atributos (ou Caractersticas ou Features) Atributo Alvo ou Conceito Alvo

Valor dos Atributos

Valor do Atributo Alvo ou Valor do Conceito Alvo

Tarefa de Aprendizagem
! No treinamento queremos encontrar a relao entre o valor dos atributos e o valor do atributo alvo/conceito alvo ! Uma vez treinado, dado um dia qualquer que representado pelos 4 atributos, desejamos saber o valor do conceito alvo.
??? ??? ??? ???

Tarefa de Aprendizagem
! O atributo PlayTennis indica se eu jogo ou no tenis naquele dia. Qual a tarefa de aprendizagem ?

Aprender a predizer o valor de PlayTennis para um dia qualquer baseandose apenas nos valores dos outros atributos (Outlook, Temperature, Humidity, Wind).

Exemplo Ilustrativo
! Atributo alvo: PlayTennis (Yes, No)

Exemplo Ilustrativo
! Primeiro passo: criao do n superior da rvore de deciso. Qual atributo deve ser testado primeiro na rvore? ! Determinar o ganho de informao (Gain) para cada atributo candidato (i.e. Outlook, Temperature, Humidity e Wind) ! Selecionar aquele cujo ganho de informao o mais alto.

Exemplo Ilustrativo

Exemplo Ilustrativo
Exemplo:
! Gain (S, Outlook) = 0.246 ! Gain(S, Humidity) = 0.151 ! Gain (S, Wind) = 0.048 ! Gain (S, Temperature) = 0.029

! Ou seja, o atributo Outlook fornece a melhor predio do atributo alvo, PlayTennis, sobre os exemplos de treinamento (Fig 3.4)

Exemplo Ilustrativo

Exemplo Ilustrativo
! O processo para selecionar um novo atributo e particionar os exemplos de treinamento repetido para cada n descendente no terminal ! So utilizados somente os exemplos de treinamento associados com este n. ! Atributos que foram incorporados anteriormente a rvore so excludos ! qualquer atributo deve aparecer somente uma vez ao longo de qualquer caminho na rvore.

Exemplo Ilustrativo
! Este processo continua at que uma das seguintes condies seja atendida:
1.! Todos os atributos j estejam includos ao longo deste caminho da rvore; 2.! Os exemplos de treinamento associados com este n folha tenham todos o mesmo valor de atributo alvo.

A rvore final ...

Exemplo Ilustrativo
! rvore de deciso final.

rvore de Deciso para PlayTennis


! Representao de rvores de deciso:
! Cada n interno testa um atributo ! Cada ramo corresponde ao valor do atributo ! Cada folha atribui uma classificao

rvore de Deciso para PlayTennis


! Em geral, rvores de deciso representam uma disjuno de conjunes de restries sobre valores dos atributos das instncias. ! Cada caminho entre a raiz da rvore e uma folha corresponde a uma conjuno de testes de atributos e a prpria rvore corresponde a uma disjuno destas conjunes. ! Exemplo: # # (Outlook=Sunny " Humidity=Normal) (Outlook=Overcast) (Outlook=Rain, Wind=Weak)

Bias Indutivo no ID3


! Dada uma coleo de exemplos de treinamento, existem geralmente vrias rvores de deciso consistentes com os exemplos. Qual rvore deve ser escolhida ???? ! A preferncia por rvores mais curtas e por aquelas com atributos de alto ganho de informao prximos da raiz ! Occams razor prefere as hipteses mais curtas (mais simples) que se ajustam aos dados

Superfcie de Separao

Sobreajuste em rvores de Deciso


! Considere a adio de rudo no exemplo de treinamento #15. < Sunny, Hot, Normal, Strong, PlayTennis = No> ! Qual o efeito na rvore anterior?

Sobreajuste no Treinamento de rvores de Deciso

Evitando Sobreajuste
! Como podemos evitar o sobreajuste?
! Parar o crescimento quando a partio de dados no for estatisticamente significante ! Desenvolver uma rvore completa e ento fazer uma poda.

! Como selecionar a melhor rvore


! Medida de performance sobre os dados de treinamento ! Medida de performance sobre um conjunto de dados de validao

Erro de Poda Reduzido


! Podar um n de deciso ! consiste em remover a sub-rvore enraizada naquele n, tornandoo um n folha. ! Atribuir a este n, a classificao mais comum dos exemplos de treinamento afiliados com aquele n. ! Ns so removidos somente se a rvore aparada resultante no apresenta um comportamento pior do que a original sobre o conjunto de validao

Erro de Poda Reduzido


! Particionar os dados em conjuntos de validao e treinamento Faa at que uma reduo (poda) adicional seja prejudicial
1.! Avaliar o impacto sobre o conjunto de validao da poda de cada n possvel, mais aqueles abaixo dele 2.! Remover gulosamente aquele que melhora mais a preciso sobre o conjunto de validao

Erro de Poda Reduzido


! Produz a menor verso da sub-rvore mais precisa ! E se os dados forem limitados?

Efeito do Erro de Poda Reduzido

PsReduo (Poda) da Regra


1.! Converter a rvore em um conjunto de regras equivalente 2.! Podar cada regra independentemente das outras 3.! Ordenar as regras finais em uma seqncia desejvel para o uso ! Talvez seja o mtodo usando com mais freqncia. (e.g. C4.5)

Convertendo uma rvore em Regras

IF (Outlook = Sunny) ^ (Humidity = High) THEN PlayTennis = No IF (Outlook = Sunny) ^ (Humidity = Normal) THEN PlayTennis = Yes

Convertendo uma rvore em Regras


! Vantagens de converter uma rvore de deciso em regras antes da poda:
! Permite distinguir entre os diferentes contextos onde os ns de deciso so utilizados. ! Remove a distino entre atributos de testes que ocorrem prximos da raiz da rvore e aqueles que ocorrem prximos das folhas. ! Melhora a leitura humana. Regras so geralmente mais fceis para pessoas entenderem

Atributos de Valor Continuo


Na definio da ID3 temos as restries: ! 1. Atributo alvo deve ter valor discreto ! 2. Os atributos testados nos ns de deciso devem tambm ser de valor discreto. A segunda restrio pode ser removida. ! Definir dinamicamente novos atributos de valor discreto que particionam o valor do atributo contnuo em um conjunto discreto de intervalos. ! A = atributo de valor contnuo ! criar um novo atributo Ac que verdadeiro se A < c e falso caso contrrio. ! Como identificar c ???

Atributos de Valor Continuo


Exemplo: Incluir o atributo de valor contnuo Temperature na descrio dos exemplos de treinamento para a tarefa de aprendizagem anterior. Supondo que os exemplos de treinamento associados a um n particular so

! Escolher um limiar c que produza o maior ganho de informaes ! Identificar exemplos adjacentes que diferem na classificao alvo.

Atributos de Valor Contnuo

Dois limiares candidatos: ! c1 = (48+60)/2 = 54 ! c2 = (80+90)/2 = 85 ! O ganho de informao pode ser calculado para cada um destes atributos candidatos: Temperature>54 e Temperature>85 e o melhor pode ser selecionado (T>54)

Resumo
! Aprendizagem de rvores de deciso fornece um mtodo prtico para a aprendizagem de conceito e para a aprendizagem de outras funes de valor discreto ! A famlia de algoritmos ID3 infere rvores de deciso expandindo-as a partir da raiz e descendo, selecionando o prximo melhor atributo para cada novo ramo de deciso adicionado a rvore.

Prs
! Simplicidade para compreenso e interpretao
! rvores de deciso so facilmente compreendidas aps uma breve explicao.

! Os dados no necessitam de prprocessamento


! outras tcnicas normalmente exigem normalizao de dados.

! Lidam tanto com dados numricos quanto categricos


! outras tcnicas normalmente lidam somente com um nico tip de varivel.

Prs
! Emprega um modelo caixa branca
! Se uma dada situao observvel em um modelo, a explicao para a condio facilmente feita atravs da lgica booleana.

! Possibilidade de validar um modelo atravs de testes estatsticos.


! possvel avaliar a confiabilidade do modelo.

! Robustez.
! Bom desempenho mesmo se as suposies iniciais do modelo de dados forem violadas.

! Bom desempenho em grandes conjuntos de dados em um tempo curto.


! Grandes quantidades de dados podem ser analisados utilizando recursos computacionais comuns.

Contras (Limitaes)
! O problema de aprender uma rvore de deciso tima NP-Completo.
! Os algoritmos prticos de aprendizagem de rvore de deciso so baseados em heursticas (e.g. algoritmo guloso) onde decises timas locais so tomadas em cada n.

! O aprendizado de rvores de deciso pode criar rvores muito complexas que no generalizam bem os dados.
! Sobreajuste (Overfitting!!). Mecanismos de poda so necessrios para evitar este problema.

Contras (Limitaes)
! Alguns conceitos so difceis de serem aprendidos, pois, rvores de deciso no expressa-os facilmente.
! Problemas XOR, paridade e multiplexador ! Nestes casos as rvores de deciso ser tornam proibitivamente grandes.

! Para dados com variveis categricas, com diferentes nveis, o ganho de informao tendencioso em favor daqueles atributos que possuem mais nveis.