Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
Exemplo
Exemplo
! Medida Quantitativa:
! Ganho de Informao = mede quo bem um atributo separa os exemplos de treinamento de acordo com a classificao alvo.
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
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
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.
Exemplo Ilustrativo
! rvore de deciso final.
Superfcie de Separao
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.
IF (Outlook = Sunny) ^ (Humidity = High) THEN PlayTennis = No IF (Outlook = Sunny) ^ (Humidity = Normal) THEN PlayTennis = Yes
! Escolher um limiar c que produza o maior ganho de informaes ! Identificar exemplos adjacentes que diferem na classificao alvo.
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.
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.
! Robustez.
! Bom desempenho mesmo se as suposies iniciais do modelo de dados forem violadas.
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.