Você está na página 1de 4

APRENDIZADO DE MQUINA: RVORE DE DECISO INDUTIVA

Texto elaborado a partir de [Mitchell, Tom. Machine Learning, McGraw-Hill, 1997].

rvore de Deciso Indutiva um dos mtodos de aprendizado simblico mais amplamente utilizados e prticos para inferncia indutiva.
um mtodo para aproximar funes discretas robustas a dados com rudo e que permite o aprendizado de expresses disjuntas. descrito
um algoritmo extensamente estudado, o ID3, o qual d preferncia s rvores pequenas, evitando rvores grandes. Esta caracterstica faz
uma espcie de generalizao sobre os exemplos de aprendizado.
Este mtodo de aprendizagem est entre os mais populares algoritmos de inferncia indutiva e foi aplicado amplamente nas mais diversas
tarefas, como, por exemplo, diagnosticar casos mdicos e avaliar o risco de crdito de candidatos a emprstimo.
1.

REPRESENTAO DA RVORE DE DECISO


As rvores de deciso classificam instncias partindo da raiz da rvore para algum nodo folha que fornece a classe da instncia. Cada
nodo da rvore especifica o teste de algum atributo da instncia, e cada arco alternativo que desce daquele nodo corresponde a um dos
possveis valores deste atributo. Uma instncia classificada comeando no nodo raiz da rvore e testa o atributo relacionado a este nodo e
segue o arco que corresponde ao valor do atributo na instncia em questo. Este processo repetido ento para a sub-rvore abaixo at
chegar a um nodo folha.
Abaixo apresentada uma rvore de deciso tpica. Esta rvore de deciso classifica os dias, conforme eles so satisfatrios ou no, para
jogar tnis.
Perspectiva?
Ensolarado

Chuvoso
Nublado

Umidade?
Alta
No

Vento?

Sim
Normal

Forte

Fraco

Sim

No

Sim

Por exemplo, a instncia (Perspectiva = Ensolarado, Temperatura = Quente, Umidade = Alta, Vento = Forte) seguir o caminho mais
esquerda desta rvore de deciso e ser classificada ento como uma instncia negativa (i.e., a rvore prediz que JogarTnis = no).
Em geral, rvores de deciso representam uma disjuno de conjunes dos valores de atributo das instncias. Cada caminho, da raiz da
rvore para uma folha, corresponde a uma conjuno de testes de atributo, e a prpria rvore uma disjuno destas conjunes. Por
exemplo, a rvore de deciso mostrada, corresponde expresso
(Perspectiva = Ensolarado Umidade = Normal)
(Perspectiva = Nublado)
(Perspectiva = Chuvoso Vento = Fraco)
2.

PROBLEMAS APROPRIADOS PARA RVORE DECISO


Aprendizado utilizando rvore de deciso geralmente mais indicado para problemas com as seguintes caractersticas:
Instncias so representadas atravs de pares atributo-valor. Instncias so descritas por um conjunto fixo de atributos (por
exemplo: Temperatura) e seus respectivos valores (por exemplo: Quente). A situao mais fcil de aprendizado utilizando
rvore de deciso quando cada atributo assume um nmero pequeno de possveis valores disjuntos (por exemplo, Quente,
Moderado, Frio). Porm, extenses para o algoritmo bsico permitem atribuir valores reais, por exemplo, representando
Temperatura numericamente.
A funo tem valores discretos. A rvore de deciso classifica com valores lgicos (Verdadeiro: sim ou Falso: no) para cada
exemplo. Mtodos de rvore de deciso podem ser facilmente estendidos para funes com mais de dois valores possveis. Uma
extenso mais significativa permite utilizar funes reais, entretanto a aplicao de rvores de deciso neste tipo de caso
menos comum.
Permitem descries disjuntas. Como notado acima, rvores deciso naturalmente representam expresses disjuntas.
Os dados de treinamento podem conter erros. As rvores de deciso so robustas a erros, tanto erros nas classificaes dos
exemplos de treinamento, quanto erros nos valores dos atributos que descrevem estes exemplos.
Os dados de treinamento podem conter valores de atributo indefinidos. Podem ser usados mtodos de rvore de deciso at
mesmo quando alguns exemplos de treinamento tm valores desconhecidos (por exemplo, se a Umidade do dia conhecida
somente em alguns dos exemplos de treinamento).
Muitos problemas prticos possuem estas caractersticas. Aprendizado utilizando rvore de deciso foi aplicado ento a problemas como
classificar os pacientes mdicos pela doena, causa de maus funcionamentos de equipamentos, e a probabilidade de candidatos a
emprstimo ficarem inadimplentes. Tais problemas, nos quais a tarefa classificar exemplos em possveis categorias discretas, so
freqentemente chamados de problemas de classificao.
Inteligncia Artificial em Controle e Automao

lvaro Guarda

3.

ALGORITMO BSICO DE APRENDIZADO UTILIZANDO RVORE DE DECISO


A maioria dos algoritmos que foram desenvolvidos para aprendizado com rvores de deciso uma variao de um algoritmo que
emprega o mtodo top-down. A seguir apresentado o algoritmo bsico para aprendizado utilizando rvore de deciso denominado ID3.
O algoritmo bsico, ID3, constri rvores de deciso a partir da raiz e comea com a pergunta que atributo deveria ser testado na raiz
da rvore?. Para responder esta pergunta, cada atributo da instncia avaliado usando um teste estatstico para determinar como este
classifica os exemplos de treinamento. O melhor atributo selecionado e usado como o teste no nodo raiz da rvore. Um descendente do
nodo raiz criado ento para cada possvel valor deste atributo, e os exemplos de treinamento so particionados e associados a cada nodo
descendente para selecionar o melhor atributo para testar naquele ponto na rvore. Isto forma uma procura para uma rvore de deciso
aceitvel na qual o algoritmo nunca retrocede para reconsiderar escolhas feitas anteriormente. Veja o algoritmo abaixo:
ID3(Exemplos, Atributo-objetivo, Atributos)
// ID3 retorna uma rvore de deciso que classifica corretamente os Exemplos determinados
// Exemplos so os exemplos de treinamento.
// Atributo-objetivo o atributo cujo valor deve ser predito pela rvore.
// Atributos so uma lista de outros atributos que podem ser testados pela rvore de deciso.
Incio
Crie um nodo Raiz para a rvore
Se todos os Exemplos so positivos
Ento retorna a Raiz da rvore com o rtulo = sim
Se todos os Exemplos so negativos
Ento retorna a Raiz da rvore com o rtulo = no
Se Atributos for vazio
Ento retorna a Raiz da rvore com o rtulo = valor mais comum do Atributo-objetivo em Exemplos
Seno
A um atributo de Atributos que melhor classifica Exemplos (atributo de deciso)
Raiz A (rtulo = atributo de deciso A)
Para cada possvel valor vi de A faa
Acrescenta um novo arco abaixo da Raiz, correspondendo resposta A = vi
Seja Exemp1osvi o subconjunto de Exemplos que tm valor vi para A
Se Exemplosvi for vazio
Ento acrescenta na extremidade do arco um nodo folha
com rtulo = valor mais comum do Atributo-objetivo em Exemplos
Seno acrescenta na extremidade do arco a sub rvore
ID3(Exemplosvi, Atributo-objetivo, Atributos -{A})
Retorna Raiz (aponta para a rvore)
Fim
Qual Atributo o Melhor Classificador?
A escolha central no algoritmo ID3 est em selecionar qual atributo de teste ser usado em cada nodo da rvore. interessante
selecionar o atributo que mais til para classificar exemplos. Assim, definida uma propriedade estatstica chamada ganho de informao,
que mede como um determinado atributo separa os exemplos de treinamento de acordo com a classificao deles. O ID3 usa o ganho de
informao para selecionar, entre os candidatos, os atributos que sero utilizados a cada passo, enquanto constri a rvore.
Entropia Mede a Homogeneidade dos Exemplos
Para definir ganho de informao, comeamos definindo uma medida comumente usada em teoria de informao, chamada entropia, que
caracteriza a impureza de uma coleo arbitrria de exemplos. Dada uma coleo S que contm exemplos positivos e negativos de algum
conceito objetivo, a entropia de S relativa a esta classificao lgica :
Entropia -p log2 p - p log2 p
O melhor atributo aquele com o ganho de informao maior, como ser definido adiante.
Resumindo, o ID3 um algoritmo que constri a rvore de forma descendente (top -down), a cada nodo seleciona -se o atributo que
melhor classifica os exemplos de treinamento locais. Este processo continua perfeitamente at que a rvore classifique os exemplos de
treinamento, ou at que todos os atributos sejam usados.
Onde p a proporo de exemplos positivos em S e p a proporo de exemplos negativos em S. Em todos os clculos que envolvem
entropia a expresso 0 log 0 definida como sendo 0.
Para ilustrar, suponha S uma coleo de 14 exemplos de algum conceito lgico que inclui 9 exemplos positivos e 5 exemplos negativos
(ns adotamos a notao [9+, 5-] para resumir uma amostra de dados). Ento a entropia de S relativa a esta classificao lgica :
Entropia ([9+, 5-]) = - (9/14) log2(9/14) - (5/14) log2(5/14) = 0.940
A entropia 0 se todos os membros de S pertencem mesma classe. Por exemplo, se todos os membros so positivos (p = 1), ento p
0, e Entropia (S) = -1 log2(1) - 0 . log20 = -1. 0 - 0 . log20 = 0. A entropia 1 quando a coleo contm um nmero igual de exemplos
positivos e negativos. Se a coleo contm nmeros desiguais de exemplos positivos e negativos, a entropia est entre 0 e 1.
Inteligncia Artificial em Controle e Automao

lvaro Guarda

Uma interpretao de entropia na teoria de informao que a entropia especifica o nmero mnimo de bits de informao necessrios
para codificar a classificao de um membro arbitrrio de S (i.e., um membro de S pego ao acaso com probabilidade uniforme), por
exemplo, se p = 1, o receptor sabe que o exemplo tirado ser positivo, assim no h necessidade de enviar mensagem, e a entropia zero.
Por outro lado, se p 0.5, um bit exigido para indicar se o exemplo tirado positivo ou negativo. Se p 0.8, ento uma coleo de
mensagens pode ser codificada usando em mdia menos de 1 bit por mensagem, usando cdigos menores para colees de exemplos
positivos e cdigos mais longos para exemplos negativos, cuja probabilidade de ocorrncia menor.
Ser discutido a seguir entropia no caso especial onde a classificao designada lgica. Mais geralmente, se o atributo designado pode
assumir c valores diferentes, ento a entropia de S relativa a esta classificao definida como
Entropia(S) 

- pi log2 pi

i =1

onde pi a proporo de S necessria para classificar i. Note que o logaritmo ainda na base 2 porque entropia uma medida da expectativa
do tamanho da codificao, medida em bits. Tambm note que se o atributo designado pode assumir c possveis valores, a entropia pode ser
to grande quanto log2 c.
Medidas de Ganhos de Informao e a Reduo Esperada na Entropia
Aps a definio de entropia como uma medida da impureza em uma coleo de exemplos de treinamento, pode-se definir agora a
medida da efetividade de um atributo para classificar os dados de treinamento. Ns usaremos uma medida, chamada ganho de informao,
que simplesmente a reduo esperada na entropia causada pelo particionamento dos exemplos por este atributo. Mais precisamente, o
ganho de informao, Ganho(S, A) de um atributo A, relativo a uma coleo de exemplos S, definido como:
 v| / |S| Entropia(Sv)
Ganho(S, A)   tropia(S) - 
v Valores(A)

onde Valores(A) o conjunto de todos possveis valores para atributo A, e Sv o subconjunto de S para qual o atributo A tem valor v (i.e.,
Sv = {s S|A(s) = v}). Note que o primeiro termo na equao a entropia da coleo original S, e o segundo termo o valor esperado da
entropia S dividido pelo atributo A. A entropia esperada descrita por este segundo termo simplesmente a soma das entropias de cada
subconjunto Sv, com peso igual frao de exemplos |Sv| / |S| que pertence a Sv. Ganho(S, A) ento a reduo esperada na entropia
causada pelo conhecimento do valor do atributo A. Isto , Ganho(S, A) a informao dada sobre o valor da funo-objetivo, dado o valor
de algum atributo A. O valor de Ganho(S, A) o nmero de bits economizados quando codifica-se o valor-objetivo de um membro
arbitrrio de S, sabendo-se o valor do atributo A.
Por exemplo, suponha S uma coleo de dias de treinamento descrita por atributos, incluindo Vento, que pode ter os valores Fraco ou
Forte. Como antes, assuma que S uma coleo que contm 14 exemplos, [9+, 5 -]. Destes 14 exemplos, suponha que 6 positivos e 2
negativos tm Vento = Fraco, e o restante tem Vento = Forte. O ganho de informao conseguido classificando-se os 14 exemplos originais
do atributo Vento pode ser calculado como:
Valores(Vento) = Fraco, Forte
S = [9+, 5 -]
SFraco [6+, 2 -]
SForte [3+, 3 -]
Ganho(S, Vento) = Entropia(S)

  / |S| Entropia(Sv)
v (Fraco,Forte)

= Entropia(S) - (8/14)Entropia(SFraco) - (6/l4) Entropia(SForte)


= 0.940 - (8/14) 0.811 - (6/14)1.00
= 0.048
Ganho de informao justamente a medida usada por ID3 para selecionar o melhor atributo a cada passo da construo da rvore.
Exemplo Ilustrativo
Para ilustrar a operao do ID3, considere a tarefa de aprendizagem representada pelos exemplos de treinamento abaixo. Aqui o atributo
JogarTnis pode ter valores sim ou no em dias diferentes, sendo definido com base em outros atributos do dia em questo.

Dia
D1
D2
D3
D4
D5
D6
D7

Perspectiva
Ensolarado
Ensolarado
Nublado
Chuvoso
Chuvoso
Chuvoso
Nublado

Inteligncia Artificial em Controle e Automao

INSTNCIAS
Temperatura
Quente
Quente
Quente
Moderada
Fresca
Fresca
Fresca

Umidade
Alta
Alta
Alta
Alta
Normal
Normal
Normal

lvaro Guarda

Vento
Fraco
Forte
Fraco
Fraco
Fraco
Forte
Forte

CLASSE
JogarTnis
No
No
Sim
Sim
Sim
No
Sim
3

D8
D9
D10
D11
D12
D13
D14

Ensolarado
Ensolarado
Chuvoso
Ensolarado
Nublado
Nublado
Chuvoso

Moderada
Fresca
Moderada
Moderada
Moderada
Quente
Moderada

Alta
Normal
Normal
Normal
Alta
Normal
Alta

Fraco
Fraco
Fraco
Forte
Forte
Fraco
Forte

No
Sim
Sim
Sim
Sim
Sim
No

Considere o primeiro passo do algoritmo no qual o nodo mais alto da rvore de deciso criado. Qual atributo deveria ser testado
primeiro na rvore? O ID3 determina o ganho de informao para cada atributo candidato (i.e., Perspectiva, Temperatura, Umidade, e
Vento), ento seleciona aquele com o ganho de informao maior. Os valores de ganho de informao para os quatro atributos so:
Ganho(S, Perspectiva) = 0.246
Ganho(S, Umidade)
= 0.151
Ganho(S, Vento)
= 0.048
Ganho(S, Temperatura) = 0.029
onde S denota a coleo de exemplos de treinamento da tabela acima.
De acordo com a medida de ganho de informao, o atributo Perspectiva o melhor entre os atributos, para JogarTnis, nos exemplos de
treinamento. Ento, Perspectiva selecionada como o atributo de deciso para o nodo raiz, e so criadas alternativas abaixo da raiz para
cada um de seus possveis valores (i.e., Ensolarado, Nublado, e Chuva). A rvore de deciso parcial resultante ser mostrada abaixo, junto
com os exemplos de treinamento ordenados a cada nodo descendente novo. Note que todo exemplo para o qual Perspectiva = Nublado
tambm um exemplo positivo de JogarTnis. Ento, este nodo da rvore se torna um nodo de folha com a classificao JogarTnis = Sim.
Em contraste, os descendentes que correspondem a Perspectiva = Ensolarado e Perspectiva = Chuvoso ainda tem entropia diferente de zero,
e a rvore de deciso continuar a ser construda abaixo destes nodos.
O processo de selecionar um atributo novo e dividir os exemplos de treinamento repetido agora para cada nodo descendente no
terminal, neste so usados s os exemplos de treinamento associados com aquele nodo. So excludos atributos que estiveram incorporados
mais alto na rvore, de forma que qualquer atributo pode aparecer no mximo uma vez ao longo de qualquer caminho pela rvore. Este
processo continua para cada novo nodo folha at que qualquer uma das duas condies seja satisfeita:
(1) todos os atributos j foram includos ao longo deste caminho pela rvore, ou
(2) os exemplos de treinamento associados com este nodo folha tm todos o mesmo valor de atributo (i.e., a entropia deles zero).
A figura abaixo ilustra as computaes de ganho de informao para o prximo passo de construo da rvore de deciso.
Perspectiva?
Ensolarado

Chuvoso
Nublado

{D1,D2,D8,D9,D11}
[2+, 3-]
?

{D3,D7,D12,D13}
[4+, 0-]
Sim

{D4,D5,D6,D10,D14}
[3+, 2-]
?

Que atributo deve ser testado onde a seta acima est apontando?
SEnsolarado = {D1,D2,D8,D9,D11 }
Ganho (SEnsolarado, Umidade) = 0.970 - (3/5) 0.0 - (2/5) 0.0 = 0.970
Ganho (SEnsolarado, Temperatura) = 0.970 - (2/5)0.0 - (2/5) 1.0 - (1/5)0.0 = 0.570
Ganho (SEnsolarado, Vento) = 0.970 - (2/5) 1.0 - (3/5) 0.918 = 0.019
A rvore de deciso parcialmente aprendida o resultado do primeiro passo de ID3. Os exemplos de treinamento so classificados e
distribudos entre os nodos descendentes correspondentes. O descendente Nublado tem somente exemplos positivos e ento se torna um
nodo de folha com classificao Sim. Os outros dois nodos sero ampliados mais adiante, selecionando o atributo com ganho de informao
maior relativo aos subconjuntos novos de exemplos. Assim, a rvore construda at que todos os atributos sejam testados num
determinado caminho ou todos os exemplos de treinamento associados a um determinado nodo tenham o mesmo valor.

Inteligncia Artificial em Controle e Automao

lvaro Guarda

Você também pode gostar