Plano de Aula
Introduo Representao de rvores de Deciso Algoritmo de Aprendizagem ID3 Entropia e Ganho de Informao Exemplos Aspectos na Aprendizagem de rvores de Deciso Resumo
Cincia da Computao
Reconhecimento de Padres
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.
Cincia da Computao
Reconhecimento de Padres
rvore
Cincia da Computao
Reconhecimento de Padres
Introduo
Aprendizagem de rvores de deciso um dos mtodos de aprendizagem mais prticos e mais utilizados para a aprendizagem indutiva. um mtodo para a aproximao de funes de valor discreto um mtodo robusto a rudos nos dados Utiliza um bias indutivo: preferncia por rvores menores.
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Cincia da Computao Reconhecimento de Padres 5
Introduo
um mtodo para aproximar funes alvo de valor discreto, onde a funo aprendida representada por uma rvore de deciso. rvores de deciso tambm podem ser representadas como conjuntos de regras SEENTO (IFTHEN). um dos mtodos de aprendizagem mais conhecidos Aplicaes: do diagnstico de imagens mdicas a anlise de risco de crdito
Cincia da Computao
Reconhecimento de Padres
Representao de rvores de Deciso rvores de deciso classificam instncias ordenandoas rvore acima (ou 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.
Cincia da Computao
Reconhecimento de Padres
Exemplo
Cincia da Computao
Reconhecimento de Padres
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 (Figura)
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Cincia da Computao Reconhecimento de Padres 9
Exemplo
Cincia da Computao
Reconhecimento de Padres
10
Exemplo
Cincia da Computao
Reconhecimento de Padres
11
rvore de Deciso para PlayTennis Uma rvore de deciso para o conceito PlayTennis. Um exemplo classificado ordenandoo atravs da rvore para o n folha apropriado Ento retorna a classificao associada com esta folha (Yes ou No)
Cincia da Computao
Reconhecimento de Padres
12
Cincia da Computao
Reconhecimento de Padres
13
Cincia da Computao
Reconhecimento de Padres
16
Quando Considerar rvores de Deciso Instncias descritas por pares atributovalor. Instncias so descritas por um conjunto fixo de atributos (e.g. Temperature) e seus valores (e.g. Hot) Funo alvo tem valores discretos de sada. Classificao booleana (Yes ou No) para cada exemplo ou mais de duas possibilidades.
Cincia da Computao
Reconhecimento de Padres
17
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.
Cincia da Computao
Reconhecimento de Padres
18
Quando Considerar rvores de Deciso Exemplos: Diagnstico ou equipamentos mdicos Anlise de risco em crdito Modelagem de preferncias em agendamento
Cincia da Computao
Reconhecimento de Padres
19
Algoritmo Bsico para Aprendizagem de rvores de Deciso Base: Algoritmo ID3 e seu sucessor C4.5 O algoritmo ID3 aprende rvores de deciso construindoas de cima para baixo (top down), 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.
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Cincia da Computao Reconhecimento de Padres 20
Exemplo
Melhor Atributo !!!
Cincia da Computao
Reconhecimento de Padres
21
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.
Cincia da Computao
Reconhecimento de Padres
22
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.
Cincia da Computao
Reconhecimento de Padres
23
Cincia da Computao
Reconhecimento de Padres
24
Cincia da Computao
Reconhecimento de Padres
26
A o melhor atributo de deciso para o prximo n Atribui A como atributo de deciso para n Para cada valor de A criar um novo descendente de n Arranjar os exemplos de treinamento para os ns folhas Se os exemplos de treinamento forem classificados perfeitamente, ento PARE, Seno iterao sobre novos ns folhas
2.
3.
4.
5.
Cincia da Computao
Reconhecimento de Padres
27
Cincia da Computao
Reconhecimento de Padres
28
Cincia da Computao
Reconhecimento de Padres
29
Entropia
Caracteriza a (im)pureza de uma coleo arbitrria de exemplos.
Dado uma coleo S contendo exemplos + e de algum conceito alvo, a entropia de S relativa a esta classificao booleana :
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
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Cincia da Computao Reconhecimento de Padres 31
Entropia
A funo entropia relativa a uma classificao booleana, como a proporo, p+ de exemplos positivos varia entre 0 e 1.
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Cincia da Computao Reconhecimento de Padres 32
Entropia
Cincia da Computao
Reconhecimento de Padres
33
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? Teoria da informao: cdigo de tamanho timo atribui log2p bits para mensagens tendo probabilidade p.
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Cincia da Computao Reconhecimento de Padres 34
Entropia
Cincia da Computao
Reconhecimento de Padres
35
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 )
p
i =1
log 2 p 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 )
Cincia da Computao
Reconhecimento de Padres
37
Ganho de Informao
S uma coleo de (dias) exemplos de treinamento descritos por atributos incluindo Wind. Temos 14 exemplos.
Cincia da Computao
Reconhecimento de Padres
38
Superfcie de Separao
Cincia da Computao
Reconhecimento de Padres
39
Exemplo Ilustrativo
Atributo alvo: PlayTennis (yes, no)
Cincia da Computao
Reconhecimento de Padres
40
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.
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Cincia da Computao Reconhecimento de Padres 41
Exemplo Ilustrativo
Cincia da Computao
Reconhecimento de Padres
42
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)
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Cincia da Computao Reconhecimento de Padres 43
Exemplo Ilustrativo
Cincia da Computao
Reconhecimento de Padres
44
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.
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Cincia da Computao Reconhecimento de Padres 45
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; Os exemplos de treinamento associados com este n folha tenham todos o mesmo valor de atributo alvo.
2.
Exemplo Ilustrativo
rvore de deciso final.
Cincia da Computao
Reconhecimento de Padres
47
Cincia da Computao
Reconhecimento de Padres
49
Cincia da Computao
Reconhecimento de Padres
51
Occams Razor
Por que a preferncia por hipteses curtas? Argumentos a favor:
Poucas hipteses curtas VERSUS hipteses longas
Uma hiptese curta que se ajusta aos dados improvvel ser coincidente Uma hiptese longa que se ajusta aos dados pode ser coincidente
Cincia da Computao
Reconhecimento de Padres
53
Occams Razor
Por que a preferncia por hipteses curtas? Argumentos contrrios:
Existem muitas maneiras de definir pequenos conjuntos de hipteses E.g. todas as rvores com um nmero primo de ns que usa atributos
Cincia da Computao
Reconhecimento de Padres
54
Cincia da Computao
Reconhecimento de Padres
56
Sobreajuste (Overfitting)
Considere o erro da hiptese h sobre
Dados de treinamento: errotrain(h) Distribuio de dados inteira D: erroD(h)
Uma hiptese hH sobreajusta os dados de treinamento se existir uma hiptese alternativa h H tal que: errotrain(h) < errotrain(h ) e erroD(h) > erroD(h)
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Cincia da Computao Reconhecimento de Padres 57
Cincia da Computao
Reconhecimento de Padres
58
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.
Evitando Sobreajuste
Usar uma medida explcita de complexidade para a codificao de exemplos de treinamento e a rvore de deciso. Minimizar o comprimento da descrio mnima (MDL) size ( tree ) + size ( misclassifications ( tree ) )
Cincia da Computao
Reconhecimento de Padres
60
Avaliar o impacto sobre o conjunto de validao da poda de cada n possvel, mais aqueles abaixo dele Remover gulosamente aquele que melhora mais a preciso sobre o conjunto de validao
Cincia da Computao Reconhecimento de Padres 62
2.
Cincia da Computao
Reconhecimento de Padres
63
Cincia da Computao
Reconhecimento de Padres
64
Converter a rvore em um conjunto de regras equivalente Podar cada regra independentemente das outras Ordenar as regras finais em uma seqncia desejvel para o uso Talvez seja o mtodo usando com mais freqncia. (e.g. C4.5)
2.
3.
Cincia da Computao
Reconhecimento de Padres
65
IF (Outlook = Sunny) ^ (Humidity = High) THEN PlayTennis = No IF (Outlook = Sunny) ^ (Humidity = Normal) THEN PlayTennis = Yes
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Cincia da Computao Reconhecimento de Padres 66
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. Regras so geralmente mais fceis para pessoas entenderem
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Cincia da Computao Reconhecimento de Padres 67
Escolher um limiar c que produza o maior ganho de informaes Identificar exemplos adjacentes que diferem na classificao alvo.
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Cincia da Computao Reconhecimento de Padres 69
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)
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Cincia da Computao Reconhecimento de Padres 70
SplitInformation( S , A)
i =1
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Cincia da Computao
Si S
log 2
Si S
71
Reconhecimento de Padres
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 expandindoas a partir da raiz e descendo, selecionando o prximo melhor atributo para cada novo ramo de deciso adicionado a rvore. ID3 busca um espao de hipteses completo evitando assim que a funo alvo possa no estar presente no espao de hipteses.
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Cincia da Computao Reconhecimento de Padres 74
Resumo
O bias indutivo implcito no ID3 inclui uma preferncia por rvores menores. A busca atravs do espao de hipteses expande a rvore somente o necessrio para classificar os exemplo de treinamento disponveis. Sobreajuste um aspecto importante na aprendizagem de rvores de deciso. Mtodos para poda posterior so importantes para evitar o sobreajuste. Vrias extenses ao algoritmo bsico ID3.
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Cincia da Computao Reconhecimento de Padres 75