You are on page 1of 151

Universidade Nova de Lisboa

Faculdade de Cincias e Tecnologia


Departamento de Informtica

Induo de rvores de Deciso


HistClass - Proposta de um algoritmo no paramtrico

Jos Manuel Matos Ribeiro da Fonseca

Lisboa, 1994
0

Lurdes, Ins, ao nosso futuro.

Sumrio
Esta tese apresenta um estudo de vrios algoritmos de induo de rvores de deciso, sendo contemplados algoritmos bastante populares nesta rea tais como o ID3, C4.5 e o CART, entre outros, sendo ainda apresentado um algoritmo de induo original. Depois de situado o leitor no mbito deste trabalho e justificada a opo efectuada em favor das rvores de deciso para o estudo de grandes volumes de dados, bem como para a gerao de classificadores automticos, so apresentadas e discutidas detalhadamente as vrias tcnicas utilizadas na gerao de uma rvore de deciso. Seguidamente introduzido um algoritmo no paramtrico original ao qual foi dado o nome de HistClass. Este novo algoritmo, que foi estudado com vista ao tratamento de problemas de grandes dimenses, contendo atributos discretos e/ou contnuos, pormenorizadamente descrito, sendo tambm apresentado sumariamente o software de apoio desenvolvido para a avaliao dos seus resultados. Finalmente, os algoritmos ID3, CART, C4.5 e HistClass so comparados entre si, em termos de desempenho de classificao. Para esta comparao, utilizado um conjunto de problemas tpicos de aprendizagem automtica que, sendo do domnio pblico, permitem uma posterior anlise comparativa com outros trabalhos nesta rea.

Abstract
This thesis assesses decision tree algorithms, covering very popular ones such as ID3, C4.5 and CART. An original decision tree algorithm is proposed. After a brief introduction, this thesis presents the justification for selecting decision trees for the processing of large quantities of data and automatic classifiers generation. Then, a selection of techniques for the generation of decision trees is presented. After this theoretical overview, HistClass, a non-parametric, induction algorithm is introduced. This algorithm, designed essentially for the processing of large problems involving large amounts of data and containing discrete and/or continuous attributes is described in detail. Further, the software specifically developed for evaluation of the algorithm performance is discussed. Finally, the algorithms ID3, CART, C4.5 and HistClass are compared from the point of view of performance. For the performance evaluation, a complete set of typical, public domain, machine learning examples is used. These examples allow the comparison of the results obtained here and others developed in this area.

Simbologia
= < > Igual Diferente Menor que Maior que Menor ou igual Maior ou igual Quantificador universal Intervalo fechado em a e aberto em b Intervalo aberto em a e fechado em b pi Funo exponencial

[a,b[ ]a,b]

exp()

dz
|A|

Integral em ordem a z Cardinalidade do conjunto A Interseco de conjuntos Unio de conjuntos

AI B A UB
R*( d) R(d) R ts ( d ) R cv ( d )

Erro real de um classificador d Erro de resubstituio ou erro aparente de um classificador d Erro do classificador d estimado com base num conjunto de teste independente Erro do classificador d estimado por camadas ou por validao cruzada Estimao "honesta" do erro do classificador d
Erro do classificador d estimado por bootstrapping e0
7

% t R

a f

e0( d )

B623( d )

Erro do classificador d estimado por bootstrapping .623 Valor do custo/complexidade da rvore T Erro aparente do n n-simo valor do vector de atributos

R ( T)
r ( ) xn

x m ,n p(a) p(a|b)

Valor do n-simo atributo do m-simo exemplo Probabilidade do acontecimento a Probabilidade condicionada do acontecimento a em relao ao acontecimento b Varincia de uma distribuio Gaussiana n-simo intervalo de segmentao com base no m-simo atributo

2
In m a
2

Soma do quadrado do coeficientes do vector a Incremento de x Ponto n do conjunto de treino Conjunto das classes do problema Conjunto das classes do ramo esquerdo e direito de um n Erro de classificao Coeficientes de uma rede neuronal Conjunto de treino Conjunto de treino dos descendentes esquerdo e direito de um n Partio com base na caracterstica m Conjunto das parties possveis num dado n com base no atributo m e suas complementares Nmero de ocorrncias da distribuio j Patamar definido pelo utilizador Massa probabilstica do conjunto A Funo de impuridade Logaritmo na base 2 Medida de crena Medida de plausibilidade Conjunto dos ns terminais

x
Pn

C
CL ,CR

E a i , j , a i , bi , b t
tL,tR sm

S m , Sm

m(A)

log 2 Bel(A) Pl(A)

~ T

Somatrio
8

aA aA

Relao de pertena Relao de no pertena Constante de proporcionalidade


Mximo de f(x) em relao a x Mnimo de f(x) em relao a x N de uma rvore de deciso Mnimo entre a e b Qualidade relativa da partio b em relao a a Informao mtua entre as variveis x e y condicionada varivel z Medida de confuso Medida de dissonncia Teste do qui-quadrado Limites de confiana inferior e superior da distribuio binomial Factor de confiana Funo que devolve verdadeiro se um n terminal, falso caso contrrio Passo utilizado para o histograma do j-simo atributo Funo que incrementa x de uma unidade Derivada parcial de x em ordem a t
Derivada total de x em ordem a t

max f ( x)
x

min f ( x)
x

min(a,b)

(a|b)
I(x;y|z) Conf(m) Diss(m)
2
pi , ps

Folha() Passo j Inc(x) x

t dx
dt

10

ndice de matrias
Sumrio ................................................................................................................................................. 3 Abstract ................................................................................................................................................. 5 Simbologia ............................................................................................................................................ 7 ndice de matrias................................................................................................................................ 11 ndice de figuras.................................................................................................................................. 15 ndice de tabelas .................................................................................................................................. 17 Captulo 1. Introduo........................................................................................................................ 19 1.1. Motivao............................................................................................................................ 19 1.2. Outros tipos de classificadores ............................................................................................ 20 1.3. Classificadores baseados em rvores de deciso................................................................. 23 1.4. Objectivos do trabalho desenvolvido .................................................................................. 25 Captulo 2. Estimao da qualidade de um classificador ................................................................... 27 2.1. Estimao de custos ............................................................................................................ 27 2.2. Estimao por resubstituio ou erro aparente.................................................................... 29 2.3. Estimao por utilizao de um conjunto independente ..................................................... 29 2.4. Estimao por camadas ou validao cruzada..................................................................... 30 2.5. Estimao por bootstrapping ............................................................................................... 31 2.5.1. 2.5.2. Bootstrapping e0 ......................................................................................................... 32 Bootstrapping .623...................................................................................................... 32

2.6. Qual o melhor mtodo? ....................................................................................................... 33 Captulo 3. Tcnicas de construo de rvores de deciso................................................................. 35 3.1. Como efectuar a partio em cada n.................................................................................. 35 3.1.1. Parties baseadas em caractersticas discretas .......................................................... 35

3.1.1.1. Um ramo por cada valor do atributo.................................................................... 36 3.1.1.2. A soluo de Hunt (CLS) .................................................................................... 36 3.1.1.3. Caractersticas ordenadas .................................................................................... 36
14

12

ndice de Matrias 3.1.1.4. Agrupamento de valores de caractersticas em dois conjuntos............................36 3.1.1.5. Agrupamento de valores de caractersticas em vrios conjuntos.........................37 3.1.2. Parties baseadas em caractersticas contnuas .........................................................37

3.1.2.1. Testes simples ou pesquisa exaustiva ..................................................................38 3.1.2.2. Testes mltiplos ...................................................................................................38 3.1.2.3. Combinao linear de caractersticas...................................................................40 3.1.2.4. Utilizao de redes neuronais ..............................................................................44 3.1.3. Valores desconhecidos ................................................................................................45

3.1.3.1. Tratamento por excluso......................................................................................46 3.1.3.2. Introduo do valor desconhecido .......................................................................46 3.1.3.3. Parties alternativas ...........................................................................................46 3.2. Como calcular medidas de incerteza ...................................................................................48 3.2.1. 3.2.2. 3.2.3. Aproximao frequencista das probabilidades............................................................48 Aproximao baseada no critrio de Laplace..............................................................48 Critrio das massas probabilsticas .............................................................................49

3.3. Eleio da melhor caracterstica ..........................................................................................50 3.3.1. Critrio da impuridade ................................................................................................51

3.3.1.1. Critrio de Gini....................................................................................................52 3.3.1.2. Critrio da entropia ..............................................................................................53 3.3.2. 3.3.3. 3.3.4. 3.3.5. Critrio de paridade.....................................................................................................53 Critrio de Laplace......................................................................................................54 Medida da confuso ....................................................................................................54 Pesagem do desconhecimento .....................................................................................55

3.4. Determinao da classe associada folha ...........................................................................56 3.4.1. 3.4.2. Atribuio da classe mais provvel .............................................................................56 Determinao baseada na noo de custos..................................................................56

3.5. Aplicao de janelas sobre o conjunto de treino .................................................................57 3.5.1. 3.5.2. Janela aleatria ............................................................................................................58 Janela de distribuio normalizada .............................................................................58

Captulo 4. Limitao na dimenso das rvores de deciso ...............................................................59 4.1. Mtodos de limitao durante a construo.........................................................................60 4.1.1. Paragem baseada na informao mtua ......................................................................61

4.1.2. Paragem baseada no teste de independncia estatstica ou teste do quiquadrado 61 4.1.3. Paragem baseada na regra de entropia delta................................................................61

4.2. Tcnicas de poda .................................................................................................................62 4.2.1. 4.2.2. 4.2.3. Poda pelo algoritmo Laplaciano..................................................................................62 Poda por minimizao do custo-complexidade...........................................................63 Poda baseada no erro...................................................................................................69

ndice de Matrias 4.2.4.

13

Poda segundo Guo e Gelfand...................................................................................... 72

Captulo 5. Descrio do trabalho efectuado...................................................................................... 75 5.1. Percurso da investigao ..................................................................................................... 75 5.2. Motivaes para o estudo das rvores de deciso ............................................................... 77 5.3. Algoritmo HistClass ............................................................................................................ 77 5.3.1. 5.3.2. Tratamento de atributos contnuos.............................................................................. 78 Tratamento de atributos discretos ............................................................................... 84

5.4. Software desenvolvido ........................................................................................................ 85 5.4.1. 5.4.2. 5.4.3. Formato dos ficheiros utilizados................................................................................. 85 Descrio do software implementado ......................................................................... 86 Opes do programa HistClass ................................................................................... 88

Captulo 6. Algoritmos de induo de rvores de deciso ................................................................. 91 6.1. Algoritmos e software de apoio ............................................................................................. 91 6.1.1. 6.1.2. 6.1.3. ID3 .............................................................................................................................. 91 CART.......................................................................................................................... 94 C4.5............................................................................................................................. 96

6.2. Apresentao e comparao de resultados ............................................................................. 98 6.2.1. Exemplos no domnio discreto.................................................................................... 98

6.2.1.1. O problema dos votos ............................................................................................ 99 6.2.1.2. The Monk's Problems ............................................................................................ 100 6.2.2. Exemplos no domnio contnuo ou mistos..................................................................... 102 6.2.2.1.Caracterizao das bases de dados utilizadas no domnio contnuo ou mistas ....... 102 6.2.3. Resultados obtidos ......................................................................................................... 103 Captulo 7. Concluses e trabalho futuro ........................................................................................... 105 Anexo A. Deduo das equaes de aprendizagem backpropagation ............................................... 109 Anexo B. Algoritmo de pesquisa de combinaes lineares ............................................................... 113 Anexo C. Comandos disponveis e exemplo de execuo do programa CART ................................ 117 Anexo D. Comandos disponveis e exemplo de execuo do programa C4.5 ................................... 125 Anexo E. Breve resumo de caractersticas das bases de dados utilizadas .......................................... 129 Agradecimentos.................................................................................................................................. 135 Bibliografia ........................................................................................................................................ 137

14

ndice de figuras
1.1 - Exemplo de classificao por proximidade. ............................................................................... 21 1.2 - Exemplo de uma pequena rede neuronal. ................................................................................... 22 1.3 - Exemplo de um classificador baseado numa rvore de deciso.................................................. 24 2.1 - Relao entre o conjunto de treino e o conjunto de teste............................................................ 29 2.2 - Relao entre o conjunto de treino e o conjunto de teste............................................................ 30 2.3 - Relao entre o conjunto de treino e o conjunto de teste............................................................ 30 3.1 - Segmentao do primeiro atributo. ............................................................................................. 39 3.2 - Distibuio das classes A e B. .................................................................................................... 40 3.3 - Descrio pseudo-cdigo do algoritmo de perturbao de hiperplanos...................................... 43 3.4 - Topologia da rede proposta para a partio do universo em cada n no terminal. ................... 44 3.5 - rvore de deciso com parties alternativas............................................................................. 46 3.6 - Exemplo de duas parties.......................................................................................................... 51 4.1 - Evoluo do erro aparente e do erro real em funo do nmero de ns da rvore de deciso.... 60 4.2 - Exemplos de remoo de ns...................................................................................................... 62 4.3 - 1 rvore da sequncia de reduo para o problema Heart.......................................................... 66 4.4 - Sequncia de reduo para o problema Heart. ............................................................................ 67 4.5 - rvore considerada ideal para o problema Heart........................................................................ 69 4.6 - Limites inferior e superior da distribuio binomial................................................................... 70 4.7 - rvore inicial do problema Heart. .............................................................................................. 71 4.8 - rvore resultante do algoritmo de poda baseado no erro. .......................................................... 71 5.1 - Exemplo do histograma de um atributo. ..................................................................................... 78 5.2 - Exemplo de histograma de um atributo com rudo. .................................................................... 79 5.3 - Exemplo de histograma de um atributo e respectivos pontos de ciso. ...................................... 80 5.4 - Exemplo de histograma de um atributo capaz de diferenciar duas classes. ................................ 81 5.5 - Exemplo de histogramas para um atributo em funo da classe................................................. 81 5.6 - Exemplo de histogramas por atributo/classe para um exemplo com 4 classes. .......................... 82 5.7 - Histograma da figura 5.6 depois de eliminadas as zonas de indefinio. ................................... 83 5.8 - Histograma depois de aplicado o processamento de eliminao de riscas no significativas..... 83 5.9 - Exemplo de histograma de um atributo discreto......................................................................... 84 5.10 - N criado com base no atributo apresentado na figura 5.9. ...................................................... 85
15

16

ndice de figuras

5.11 - Formato do ficheiro de descrio. .............................................................................................85 5.12 - Formato do ficheiro de dados....................................................................................................86 5.13 - Exemplo do ficheiro de descrio do problema Heart. .............................................................86 5.14 - Exemplo do ficheiro de dados do problema Heart. ...................................................................86 6.1 - Mapa de Karnaught para o exemplo de resoluo do ID3. .........................................................92 6.2 - rvore gerada pelo ID3 para o problema da tabela anterior. ......................................................92 6.3 - rvore gerada pelo ID3 com base num subconjunto do conjunto de treino composto por 12 exemplos. .....................................................................................................................................93 6.4 - rvores produzidas pelos trs algoritmos para o problema Vote................................................99 A.1 - Estrutura de uma rede neuronal de duas camadas com q neurnios na camada de entrada e um neurnio na camada de sada. ....................................................................................................109 B.1 - rvores geradas pelo algoritmo CART sem e com combinao linear de atributos. ...............114 B.2 - Parties resultantes das rvores geradas pelo algoritmo CART sem e com combinao linear de atributos. ....................................................................................................................................114 C.1 - Contedo do ficheiro Heart.cmd. .............................................................................................119 C.2 - rvore gerada pelo programa CART para o exemplo Heart. ...................................................124 D.1 - rvore gerada pelo programa C4.5 para o exemplo Heart.......................................................127 xz<

ndice de tabelas
2.1 - Exemplo de uma matriz de custos para um problema com 3 classes.......................................... 28 2.2 - Exemplo de uma matriz de confuso para um problema com 3 classes. .................................... 28 3.1 - Exemplo de aplicao do algoritmo de agrupamento de valores a uma caracterstica com 4 valores possveis.......................................................................................................................... 37 3.2 - Vectores de caracterizao das 3 classes. ................................................................................... 39 3.3 - Frequncias das trs classes na folha. ......................................................................................... 57 3.4 - Probabilidades das trs classes na folha...................................................................................... 57 3.5 - Matriz de custos do problema. .................................................................................................... 57 3.6 - Custos associados a cada uma das classes. ................................................................................. 57 4.1 - Valores de para a sequncia de reduo do problema Heart. .................................................. 66 4.2 - Valores do limite superior do erro de classificao para cada n da rvore da figura 4.7.......... 72 5.1 - Tabela exemplificativa da influncia do valor da entropia para a paragem no desenvolvimento da rvore........................................................................................................................................... 88 5.2 - Tabela de opes do programa HistClass. .................................................................................. 89 6.1 - Conjunto de treino correspondente ao mapa de Karnaught anterior........................................... 92 6.2 - Resultados obtidos pelo ID3 com e sem janela........................................................................... 94 6.3 - Resultados obtidos para o problema Vote................................................................................... 99 6.4 - Descrio dos atributos do problema Monks............................................................................ 100 6.5 - Resultados obtidos para o problema Monk1............................................................................. 101 6.6 - Resultados obtidos para o problema Monk2............................................................................. 101 6.7 - Resultados obtidos para o problema Monk3............................................................................. 101 6.8 - Resumo das caractersticas dos diversos problemas de testes dos algoritmos. ......................... 102 6.9 - Resumo dos resultados obtidos pelos diversos algoritmos. ...................................................... 103 C.1 - Comandos disponveis no programa CART............................................................................. 118 D.1 - Comandos disponveis no programa C4.5. .............................................................................. 125 E.1 - Tabela de sumrio das caractersticas do exemplo Austral. ..................................................... 129 E.2 - Tabela de sumrio das caractersticas do exemplo Diabetes. ................................................... 130 E.3 - Significado dos atributos do problema Diabetes. ..................................................................... 130 E.4 - Tabela de sumrio das caractersticas do exemplo Heart. ........................................................ 130 E.5 - Significado dos atributos do problema Heart. .......................................................................... 130 17

18

ndice de tabelas

E.6 - Tabela de sumrio das caractersticas do exemplo Ionospher. .................................................131 E.7 - Tabela de sumrio das caractersticas do exemplo Iris. ............................................................131 E.8 - Significado dos atributos do problema Iris. ..............................................................................131 E.9 - Tabela de sumrio das caractersticas do exemplo Liver..........................................................131 E.10 - Tabela de sumrio das caractersticas do exemplo Satelite. ...................................................131 E.11 - Tabela de sumrio das caractersticas do exemplo Segment. .................................................132 E.12 - Significado das classes do problema Segment........................................................................132 E.13 - Significado dos atributos do problema Segment. ...................................................................132 E.14 - Tabela de sumrio das caractersticas do exemplo Vehicule. .................................................133 E.15 - Distibuio dos exemplos do problema Vehicule por classes. ...............................................133 E.16 - Significado dos atributos do problema Vehicule. ...................................................................133 E.17 - Tabela de sumrio das caractersticas do exemplo Wine........................................................133

CAPTULO 1
Introduo
Faz-se neste captulo uma apresentao do trabalho efectuado no mbito desta tese bem como do contexto cientfico em que este se integra.

1.1. Motivao
A estimao da classe a que um objecto pertence atravs de um conjunto de medidas que o descreve um problema tpico de uma rea cientfica normalmente identificada por reconhecimento de padres. Vrias e muito distintas aproximaes tm sido adoptadas com vista soluo deste problema. Desde as aproximaes puramente estatsticas at s solues baseadas em redes neuronais um longo caminho foi percorrido, tendo todas elas as suas vantagens e desvantagens. Coloca-se ento a questo de porqu as rvores de deciso? A grande motivao para o desenvolvimento deste trabalho sobre induo de rvores de deciso dada no pela particular eficincia deste tipo de tcnicas no que diz respeito classificao mas pela grande inteligibilidade dos resultados que produz. Tcnicas como as baseadas em redes neuronais que obtm nveis de desempenho na classificao verdadeiramente impressionantes, tm o inconveniente de ser particularmente difcil a interpretao de como processam os dados, representando assim um limitado auxlio compreenso do fenmeno por parte do utilizador. Como evidente, este um pormenor de importncia diminuta ou mesmo nula em algumas aplicaes. No entanto, a capacidade de fornecer uma explicao para o problema , em algumas situaes, no apenas um subproduto mas um objectivo primordial. Este o caso de toda uma rea que est neste momento em grande evoluo e que se dedica ao descobrimento de conhecimento em grandes quantidades de informao. Esta nova rea surge da necessidade de extrair algum conhecimento de entre as enormes quantidades de dados que so neste momento armazenados em suporte informtico. Estima-se que nos nossos dias a quantidade de informao duplica todos os 20 meses. Por exemplo, espera-se que os satlites de observao da terra produzam nos finais dos anos 90 cerca de um terabyte (1015 bytes) de informao Jos Manuel Fonseca Induo de rvores de Deciso

20

Introduo

por dia. Muitos outros exemplos de ambientes em que a quantidade de informao disponvel completamente impossvel de manipular de forma manual poderiam ser dados. Em muitos destes casos, a existncia de uma forma de aquisio automtica de conhecimento pode revelar-se de uma utilidade fantstica. A aplicao de tcnicas de aprendizagem automtica1 descoberta de conhecimento constitui neste momento uma rea de grande dinmica e da qual se esperam grandes resultados. Embora esta seja uma rea ainda muito recente, algumas aplicaes esto j desenvolvidas e fornecendo resultados muito interessantes em reas to distintas como [Piatetsky-Shapiro, 1990]: Medicina: biomedicina, efeitos secundrios provenientes do consumo de drogas, conteno de custos em hospitais, anlises genticas, etc. Finanas: aprovao de crdito, predio de situaes de bancarrota, deteco de fraudes em seguros, deteco de situaes de acesso no autorizado a cartes de crdito, etc. Agricultura: classificao de doenas em produtos agrcolas. Social: informao demogrfica, tendncia de voto, resultados eleitorais. Marketing e vendas: identificao de grupos econmico-sociais com comportamentos particulares, anlise de produtos, predio de vendas, etc. Seguros: deteco de pedidos de indemnizao excessivos ou fraudulentos, etc. Engenharia: diagnstico automvel, bases de dados CAD, estimao de empregos, etc. Fsica e qumica: electroquimica, pesquisa da superconductividade, etc. Militar: anlise de informaes vrias, correlao de informaes, aplicaes vrias consideradas secretas. Policiamento: fugas ao fisco, verificao de impresses digitais, recuperao de objectos roubados, etc. Cincias espaciais: astronomia, anlise de informao espacial, etc. Pelos exemplos acima citados fcil adivinhar-se o interesse crescente que este tipo de estudos est a suscitar. Diversas tcnicas so aplicveis tanto para a descoberta de conhecimento como para a construo de classificadores automticos em geral.

1.2. Outros tipos de classificadores


D-se seguidamente uma panormica das vrias tcnicas utilizadas na construo de classificadores automticos sendo discutidas algumas das vantagens e desvantagens apresentadas por cada uma delas.

1Machine

Learning

Jos Manuel Fonseca

Induo de rvores de Deciso

Introduo Classificadores baseados em exemplos

21

A memorizao dos vrios exemplos fornecidos para a aprendizagem pode ser utilizada para a construo de classificadores automticos. Quando se pretenda estimar a classe de um novo exemplo, pode ento procurar-se o exemplo mais parecido e atribuir ao exemplo em causa a sua classe. Este o caso dos classificadores do tipo nearest neighbor [Pao, 1989; Haralick, 1992].

Classe A

Classe B

Classe C

Figura 1.1 - Exemplo de classificao por proximidade. Uma das grandes vantagens apresentadas por estes mtodos prende-se com a facilidade de integrar novo conhecimento. Com efeito, bastar juntar aos exemplos memorizados os novos exemplos para que a nova informao seja assimilada. Por outro lado, a sua construo extremamente simples no envolvendo praticamente qualquer processamento. Este tipo de classificadores levanta no entanto algumas questes: - Quais os exemplos a guardar? Se todos os exemplos forem guardados, a quantidade de informao armazenada pode facilmente tornar-se incomportvel e a pesquisa demasiado lenta. Se apenas alguns deles forem guardados como efectuar essa seleco? De modo a contornar este inconveniente podem ser guardados apenas prottipos representativos de grupos de exemplos. Desta forma, fica um tanto comprometida a facilidade de integrao de novo conhecimento. Existem alguns estudos no sentido de se encontrarem regras que permitam definir quando se dever alterar o conjunto de prottipos. - Como medir a semelhana entre os exemplos? A medida de semelhana entre vectores heterodimensionais, misturando atributos contnuos e discretos coloca vrios problemas. Tambm a existncia de atributos irrelevantes pode criar dissemelhanas importantes, afectando de forma decisiva os resultados da classificao. - Como comparar o exemplo a classificar com os exemplos memorizados? Dever ser atribuda ao novo exemplo a classe do vector que se considera possuir maior semelhana ou a classe mais frequente de entre o conjunto de n exemplos com maior semelhana? Por ltimo, o principal defeito deste mtodo , na perspectiva do autor, a pouca ou nenhuma informao sobre a essncia do fenmeno por ele fornecida. Jos Manuel Fonseca Induo de rvores de Deciso

22 Classificadores com base em redes neuronais

Introduo

As redes neuronais artificiais tm tido uma evoluo histrica bastante curiosa. Depois de nos anos 60 terem conhecido um enorme sucesso e causado grande furor nos meios cientficos [Nilsson, 1965], foram votadas ao abandono at aos anos 80, poca em que se assistiu ao seu ressurgimento com um fulgor renovado devido ao advento do mtodo de aprendizagem backpropagation. Este adormecimento de duas dcadas deveu-se s grandes limitaes apontadas s capacidades de aprendizagem deste tipo de arquitecturas, que s na passada dcada foram ultrapassadas. No seu exemplo mais tpico, uma rede neuronal artificial formada por trs tipos de elementos a que se d o nome de neurnios: os neurnios da camada de entrada que introduzem os dados na rede, os neurnios das camadas internas e os neurnios da camada de sada que produzem o resultado. Cada ligao entre neurnios possue um peso, tendo cada neurnio, em geral, um nvel de patamar que influncia directamente a sua sada.
A C E B D

Figura 1.2 - Exemplo de uma pequena rede neuronal. O valor de excitao I de cada neurnio calculado efectuando a soma das suas vrias entradas pesadas pelos respectivos coeficientes (pesos) ao que somado o seu valor de patamar. Para o clculo da sua resposta este valor ento aplicado sua funo de transferncia. Uma das funes de transferncia mais vulgares a indicada na expresso (1.1). Repare-se que enquanto que o valor de entrada I pode variar entre - e +, o valor da sua sada est, neste caso, limitado entre 0 e 1.

O=

1 e +1
I

onde I =

w v
i

i i

+T

( .1) 1

Embora a expresso (1.1) seja das mais vulgares muitas outras podem ser utilizadas, como o caso da expresso (3.16) utilizada no pargrafo 3.1.2.4. A resposta global da rede portanto ditada pelos valores apresentados pelos seus neurnios da camada de sada. Normalmente associa-se a cada neurnio da camada de sada uma dada classe e o objectivo que a rede, na presena de um dado exemplo, active a sada correspondente classe a que esse exemplo pertence. A aprendizagem das redes neuronais consiste ento em ajustar os pesos e os valores de patamar de cada um dos neurnios da rede, de forma a que esta tenha a capacidade de classificar correctamente todos, ou quase todos, os exemplos presentes no conjunto de treino. Segundo o mtodo de aprendizagem backpropagation, os exemplos do conjunto de treino so mostrados um a um rede, sendo calculada a diferena entre a sada obtida e a desejada. Esse valor de
Jos Manuel Fonseca Induo de rvores de Deciso

Introduo

23

erro ento propagado da camada de sada para a camada de entrada (da o nome de backpropagation) sendo efectuado um ajuste nos valores dos pesos e dos patamares dos neurnios das diversas camadas tendente diminuio do erro obtido usando para tal um mtodo de gradiente. Embora este seja o mtodo de aprendizagem mais conhecido existe um grande nmero de mtodos alternativos apresentando todos eles as suas vantagens e desvantagens.

Classificadores baseados em algoritmos genticos

Os algoritmos genticos constituem uma aproximao interessante aos classificadores automticos. O princpio base deste tipo de algoritmos extremamente simples. O primeiro passo ser a gerao de uma populao de classificadores de forma completamente aleatria que devem ser codificados na forma de genes (considera-se um gene uma sequncia de bits que codifica um conjunto de valores). Na criao do conjunto inicial de classificadores, possvel a utilizao de alguns critrios que evitem o aparecimento de "aberraes". Este conjunto de classificadores dever ento ser avaliado individualmente em relao sua qualidade na predio da classe dos vrios exemplos do conjunto de treino. Definem-se ento 3 operaes bsicas que constituem a essncia de qualquer algoritmo gentico: Reproduo: cada gene escolhido aleatoriamente para reproduo com uma probabilidade proporcional sua qualidade na resoluo do problema. De forma anloga os genes so eliminados com uma probabilidade inversamente proporcional ao seu desempenho. Cruzamento: a reproduo entre dois genes seleccionados para se reproduzirem entre si efectuada cruzando a informao gentica de ambos atravs da gerao de novos elementos formados por pedaos copiados aleatoriamente a partir de cada um dos seus progenitores. Mutao: de forma a criar novos indivduos que consigam fugir normalidade e constituir novas e diferentes propostas, a informao gentica dos novos elementos alterada de forma aleatria depois de efectuado o cruzamento. Desta forma consegue-se fugir de mximos locais, ou seja, de situaes em que, apenas por cruzamento, seria impossvel evoluir. Repare-se que a evoluo se deve ao facto de serem escolhidos para reproduo os mais aptos e eliminados os menos adaptados. de salientar que os algoritmos genticos permitem a optimizao de funes podendo ser, em princpio, aplicados na optimizao de qualquer tipo de classificadores.

1.3. Classificadores baseados em rvores de deciso


Os classificadores baseados em rvores de deciso remontam aos anos 50, sendo uma referncia fundamental o trabalho de Hunt, onde vrios trabalhos de induo so apresentados [Hunt, 1966]. Posteriormente, talvez o trabalho mais importante seja o extraordinrio livro de Breiman, Friedman, Olshen e Stone, em que o algoritmo CART apresentado [Breiman, 1984]. Tambm o trabalho de

Jos Manuel Fonseca

Induo de rvores de Deciso

24

Introduo

Quinlan [Quinlan, 1986] teve grande aceitao nesta rea cientfica tendo servido de inspirao a muitos dos sistemas posteriormente apresentados e em particular ao seu trabalho C4.5 [Quinlan, 1993]. A filosofia de funcionamento de qualquer algoritmo baseado em rvores de deciso bastante simples. Na verdade, embora contendo por vezes diferenas importantes na forma de efectuar este ou aquele passo, qualquer algoritmo desta categoria se baseia na estratgia de dividir para conquistar. De uma forma geral, esta filosofia baseia-se na sucessiva diviso do problema em vrios subproblemas de menores dimenses, at que uma soluo para cada um dos problemas mais simples possa ser encontrada. Fundamentados neste princpio, os classificadores baseados em rvores de deciso procuram encontrar formas de dividir sucessivamente o universo em vrios subconjuntos (criando para tal ns contendo os testes respectivos) at que cada um deles contemple apenas uma classe ou at que uma das classes demonstre uma clara maioria no justificando posteriores divises (gerando nessa situao uma folha contendo a classe maioritria). Como evidente, a classificao consiste apenas em seguir o caminho ditado pelos sucessivos teste colocados ao longo da rvore at que seja encontrada uma folha que conter a classe a atribuir ao novo exemplo.
V3

>3 V5 =1,2,3 =4 V6 <=10 >10

<=3 V4 <=0.5 V2 =A,B,C =D,E >0.5 Varivel testada

1 2

2 3
Teste efectuado

Classe atribuda folha

Figura 1.3 - Exemplo de um classificador baseado numa rvore de deciso. Embora a filosofia de base de todos os classificadores baseados em rvores de deciso seja idntica, muitas so as possibilidades existentes para a sua construo. De entre todos os aspectos determinantes na seleco de um algoritmo de construo de rvores de deciso alguns deles devem ser destacados pela sua importncia: Critrio para a escolha da caracterstica a utilizar em cada n. Como calcular a partio do conjunto de exemplos. Quando decidir que um n uma folha. Qual o critrio para seleccionar a classe a atribuir a cada folha. Para alm destes aspectos, muitos outros tais como a aplicao de janelas sobre o conjunto de treino e a aplicao de processamentos de reduo das rvores designados como processos de poda, so determinantes no desempenho final deste tipo de sistemas. Algumas vantagens importantes podem ser apontadas s rvores de deciso, nomeadamente: Podem ser aplicadas a qualquer tipo de dados.
Jos Manuel Fonseca Induo de rvores de Deciso

Introduo

25

A estrutura final do classificador bastante simples podendo ser guardada e manipulada de uma forma bastante eficiente. Manipula de uma forma muito eficiente informao condicional subdividindo o espao em sub-espaos que so manipulados individualmente. Revelam-se normalmente robustos e insensveis a erros de classificao no conjunto de treino. As rvores resultantes so normalmente bastante compreensveis podendo ser facilmente utilizadas para se obter uma melhor compreenso do fenmeno em causa. Esta talvez a mais importante de todas as vantagens enunciadas.

1.4. Objectivos do trabalho desenvolvido


Este trabalho surge como sequncia do interesse do autor em algoritmos de induo para a classificao permitindo com eles obter uma sugesto para a estrutura intrnseca do problema em causa. Os objectivos primordiais deste trabalho foram: estudo aprofundado dos diversos algoritmos de induo de rvores de deciso disponveis na literatura da especialidade. desenvolvimento de um algoritmo de induo de rvores de deciso original. desenvolvimento de software de suporte ao novo algoritmo. comparao de desempenho do novo algoritmo com algoritmos clssicos. O novo algoritmo aqui apresentado de nome HistClass - de HISTogram based CLASSifier - o fruto da experincia adquirida durante um j longo trabalho envolvendo a construo de classificadores automticos em colaborao com o colega e orientador cientfico Fernando Moura Pires. Para o suporte deste novo algoritmo foi desenhado software especfico em ambiente Windows que permitiu a comparao de resultados experimentais com dois outros algoritmos muito conhecidos: CART e C4.5.

Jos Manuel Fonseca

Induo de rvores de Deciso

Jos Manuel Fonseca

Induo de rvores de Deciso

CAPTULO 2
Estimao da qualidade de um classificador
A estimao da qualidade de um classificador sem dvida um problema de grande importncia. Dado um classificador como estimar a percentagem de erro que se espera ele venha a obter na classificao de exemplos futuros? Pode definir-se o erro de um classificador como sendo (2.1).

Percentagem de erro =

Numero de erros Numero de casos testados

(2.1)

Para conhecermos o valor do erro real do classificador R*(d) com exactido teramos de testar o classificador com todos os exemplos possveis. Este processo no , no entanto, realstico pois em casos normais impraticvel a obteno de todos os valores do universo em causa, tendo-se geralmente disponveis apenas um reduzido nmero de exemplos. Teremos ento de estimar este valor tendo o cuidado de no efectuar um clculo viciado, isto , demasiado optimista ou demasiado pessimista. Um outro problema que se coloca na estimao da qualidade de um classificador prende-se com os custos do erro. Na verdade, em muitas aplicaes existem diferentes custos associados aos vrios erros possveis. Como exemplo, podemos citar o caso de um sistema de diagnstico mdico no qual geralmente considerado muito mais grave a classificao de um doente como saudvel, do que a classificao de um indivduo saudvel como doente. Vrias tcnicas de estimao de erro e de custos sero seguidamente apresentadas discutindo-se as suas vantagens e desvantagens.

2.1. Estimao de custos


O custo de um erro pode ser encarado como a penalizao imposta ao sistema no caso deste cometer um dado tipo de erro. Se o objectivo do nosso sistema for a minimizao dos custos em lugar da minimizao do erro teremos de definir as penalizaes a atribuir. normalmente utilizada para este
Jos Manuel Fonseca Induo de rvores de Deciso

28

Estimao da qualidade de um classificador

efeito a chamada matriz de custos que contm o custo de cada tipo de erro possvel. Esta matriz ter N2 elementos onde N representa o nmero de classes. A tabela 2.Error! Bookmark not defined. um exemplo de uma matriz de custos possvel para um problema contendo 3 classes. Classe atribuda pelo classificador 1 2 3 Classe real 2 2 0 6

1 0 10 5

3 12 8 0

Tabela 2.2 - Exemplo de uma matriz de custos para um problema com 3 classes. Para o clculo do desempenho do classificador em termos de custos teremos de conhecer aquilo que normalmente se designa por matriz de confuso (tabela 2.3) que representa os resultados do teste do classificador em termos do nmero de exemplos da classe i aos quais foi atribuda a classe j com i e j variando entre 1 e N. Classe atribuda pelo classificador 1 2 3 Classe real 2 6 89 15

1 92 5 10

3 3 6 75

Tabela 2.4 - Exemplo de uma matriz de confuso para um problema com 3 classes. O custo do classificador ser dado por (2.2).
Custo = Ci , jM i , j
i =1 j =1 N N

(2.2)

Onde:

Ci, j - valor da linha i, coluna j da matriz de custos M i, j - valor da linha i, coluna j da matriz de confuso

Para o exemplo das tabelas 2.Error! Bookmark not defined. e 2.3 o valor do custo ser: Custo = 0*92+2*6+12*2+10*5+0*89+8*6+5*10+6*15+0*75=274 O custo mdio por deciso ser neste caso: Custo mdio = Custo 274 = = 0. 91 Nmerodeclassificaes 300

de notar que, at aqui, se tem tomado em considerao apenas os custos provenientes do erro no se tendo em conta o ganho das classificaes correctas. De modo a entrar em conta com este factor, os ganhos das classificaes correctas podem ser codificados com valores negativos na matriz custos. Ao longo desta tese o conceito de custos ser utilizado apenas na determinao da classe a atribuir a cada folha, sendo em todas as outras situaes usada apenas a medida do erro. No entanto, a
Jos Manuel Fonseca Induo de rvores de Deciso

Estimao da qualidade de um classificador

29

introduo deste conceito na maior parte dos clculos possvel embora tenha sido considerado estar fora do mbito deste trabalho.

2.2. Estimao por resubstituio ou erro aparente


Neste mtodo [Breiman, 1984], depois do classificador ser construdo, todo o conjunto de treino por ele classificado.
Conjunto de exemplos Conjunto de teste Conjunto de treino

Figura 2.1 - Relao entre o conjunto de treino e o conjunto de teste A proporo de resultados incorrectos ditar o valor estimado para o erro de classificao. O erro de resubstituio pode portanto ser dado por (2.3).

R(d) = Onde:

1 N

X(d(x
n= 1

n)

jn )

(2.3)

N - nmero de exemplos xn - exemplo n jn - classe correspondente ao exemplo n d(x) - resposta do classificador perante o exemplo x 1 sse A verdadeiro X( A ) = sse A falso 0 Dado que usado para a estimao do erro o mesmo conjunto de exemplos que foi usado para o clculo do classificador surge um problema bvio com este mtodo. Como qualquer classificador construdo com vista a minimizar o erro obtido com o conjunto de treino, esta estimao claramente optimista. Como exemplo extremo, suponha a situao em que d(X) constitui uma partio A1,...,Aj tal que Aj contenha todos os exemplos para os quais jn=j e que os vectores no presentes no conjunto de treino estejam distribudos aleatoriamente por todas as classes. Como evidente, neste caso teremos R(d)=0 que estar certamente distante do valor real R*(d).

Jos Manuel Fonseca

Induo de rvores de Deciso

30

Estimao da qualidade de um classificador

2.3. Estimao por utilizao de um conjunto independente1


Segundo esta metodologia, os exemplos existentes no conjunto de treino t so divididos em dois subconjuntos t1 e t2, respectivamente para o treino do classificador e para a estimao do erro R*(d) [Breiman, 1984].
Conjunto de treino Conjunto de exemplos Conjunto de teste

Figura 2.2 - Relao entre o conjunto de treino e o conjunto de teste. Sendo N2 o nmero de exemplos em t2 teremos para este tipo de estimao denotado por Rts: R ts (d) = 1 N2
( x n , jn ) t 2

X(d(x ) j )
n n

(2.4)

Dever ser aqui chamada uma especial ateno para o facto de que, os exemplos de t2 devero ser independentes dos casos de t1 e seguir aproximadamente a mesma distribuio de probabilidades. Normalmente t2 escolhido de forma aleatria contendo cerca de 1/3 dos exemplos de t. Embora este nmero seja bastante usual no conhecida qualquer justificao terica para esta diviso de 2/3, 1/3. A principal desvantagem deste mtodo reside na substancial reduo efectuada na dimenso do conjunto de treino para a construo do conjunto de teste. Embora este facto possa no ter grande importncia quando o conjunto de treino de grandes dimenses, em grande parte das situaes reais este no o caso. Quando o nmero de exemplos disponveis reduzido, o mtodo de validao por camadas considerado prefervel.

2.4. Estimao por camadas ou validao cruzada2


Na estimao por camadas os exemplos de t so divididos em V subconjuntos t1,...,tV contendo, tanto quanto possvel, o mesmo nmero de elementos [Breiman, 1984]. O classificador final o obtido usando para o seu clculo todo o conjunto de treino t.
Conjunto de teste Conjunto de treino

Conjunto de exemplos

Figura 2.3 - Relao entre o conjunto de treino e o conjunto de teste.

1Do 2Do

Ingls test sample estimation Ingls cross-validation

Jos Manuel Fonseca

Induo de rvores de Deciso

Estimao da qualidade de um classificador

31

Para v=1,...,V constri-se o classificador dv(X) utilizando t-tv, ou seja, todos os exemplos menos os que esto no subconjunto v e usa-se este subconjunto para estimar o erro de classificao. Faz-se portanto uma estimao por utilizao de um conjunto independente para cada um dos classificadores parciais. O valor estimado para o erro do classificador final ser ento a mdia dos erros estimados para cada um dos V classificadores parciais assim calculados. Teremos portanto que a estimao do erro Rts(dv) para cada um dos V classificadores dada por: R ts ( d v ) = Nv N V 1 Nv

( x n , jn ) t v

X( d

( x n ) jn )

(2.5)

onde:

O erro estimado para o classificador ser ento:


R cv ( d ) = 1 V ts v R (d ) V v =1 (2.6)

Note-se que para o caso particular de V=N estaremos perante o conhecido mtodo leave-one-out. Embora a estimao por camadas no preveja partida qualquer preocupao na escolha dos vrios subconjuntos , por vezes, designada por validao por camadas estratificadas [Weiss, 1990] quando a seleco dos exemplos efectuada com a preocupao de manter a distribuio percentual das vrias classes nas diversas parties de treino e de teste. Este mtodo bastante justo para com a informao disponvel. Efectivamente, todos os exemplos so utilizados V-1 vezes para a gerao de um classificador e uma vez para o teste da sua eficincia. Um dos problemas que se coloca qual o valor de V, ou seja, em quantos subconjuntos dividir o conjunto de treino inicial L. Embora no exista uma resposta geral para esta questo, o valor 10 encontrado frequentemente como constituindo um bom compromisso entre preciso e complexidade. de notar a tendncia um tanto pessimista deste tipo de estimadores, dado que cada um dos classificadores utilizados para a estimao do valor do erro construdo no com a totalidade do conjunto de treino, mas apenas com um subconjunto dele. Dado que para a sua construo utilizado todo o conjunto de treino, o classificador final ter tendncia para apresentar uma qualidade um pouco superior mdia dos classificadores parciais (este factor tanto mais marcado quanto menor for o nmero de camadas). Como desvantagem deste mtodo essencialmente notria a grande complexidade envolvida. O clculo dos diversos classificadores bem com o seu teste pode implicar um volume de processamento incomportvel para conjuntos de treino de dimenses razoveis. No entanto, os resultados assim
Jos Manuel Fonseca Induo de rvores de Deciso

32

Estimao da qualidade de um classificador

obtidos so normalmente bastante realistas podendo-se, no entanto, apontar uma certa tendncia para uma acentuada varincia no valor estimado quando se trata de conjuntos de treino de pequenas dimenses. Apesar disso, o valor mdio tende, em geral, para uma estimao de bastante boa qualidade.

2.5. Estimao por bootstrapping


A tcnica de estimao por bootstrapping especialmente indicada para os casos em que o conjunto de treino bastante limitado. Embora para estes casos a tcnica de leave-one-out seja aquela que normalmente utilizada algumas desvantagens podem ser apontadas essencialmente no que respeita varincia na estimao para pequenas amostras de treino. Na verdade, a grande varincia observada leva a que a estimao tenha, por vezes, uma reduzida preciso. Na estimao por bootstrapping, as variantes mais populares so as conhecidas por e0 e .623 [Weiss, 1990].

2.5.1. Bootstrapping e0
Para a estimao por bootstrapping e0 formado um novo conjunto de treino a partir do conjunto de treino original, amostrando n vezes com reposio os n exemplos do conjunto original. Os exemplos repetidos so eliminados, podendo ser demonstrado que a percentagem esperada de exemplos no novo conjunto de treino assim obtido de 63.2% do nmero de exemplos do conjunto original. Os casos que no se encontrarem no novo conjunto de treino constituiro o conjunto de teste. O erro obtido pelo classificador na classificao do conjunto de teste ser chamado o erro e0. O erro estimado para o classificador ser a mdia de vrias iteraes deste algoritmo, sendo normalmente cerca de 200 iteraes um nmero considerado apropriado para uma boa estimao. portanto bem evidente a grande complexidade deste mtodo devido ao grande nmero de iteraes necessrias.

2.5.2. Bootstrapping .623


Esta tcnica idntica anterior tendo-se apenas que o erro de cada iterao calculado pela combinao linear do erro aparente (ou erro de resubstituio) obtido com o novo conjunto de treino R(d) - pesado de 0.632 com o erro e0 pesado de 0.368, ou seja: B623(d)=0.632*R(d)+0.368*e0(d) (2.7)

Jos Manuel Fonseca

Induo de rvores de Deciso

Estimao da qualidade de um classificador

33

de realar o carcter pessimista do estimador e0, principalmente quando se trata de conjuntos de treino de pequenas dimenses. O facto de se efectuar o treino com apenas cerca de 63% dos exemplos, prejudica claramente o desempenho dos classificadores assim gerados. Como evidente, este facto assume uma importncia tanto menor quanto maior for o nmero de exemplos no conjunto de treino. Este mtodo especialmente aconselhado quando o valor do erro real for grande. O estimador .623 , por natureza, um tanto optimista pois a parcela de 0.623*R(d) tende a baixar o valor estimado. Este mtodo especialmente til quando se possuem conjuntos de treino de pequenas dimenses para os quais o erro real esperado bastante baixo.

2.6. Qual o melhor mtodo?


Dado que o objectivo a construo de um classificador com o menor erro real de classificao possvel e que para tal necessrio estimar esse valor com base nos exemplos disponveis no conjunto de treino, coloca-se a questo de qual o mtodo de estimao a utilizar em cada caso. Baseados nos resultados apresentados na literatura podem ser apontadas algumas heursticas que permitem a seleco de um mtodo em funo do nmero de exemplos com que podemos contar [Weiss, 1990].
Para conjuntos de treino com cerca de 50 ou mais exemplos por classe use validao por

camadas. Neste caso, possvel efectuar-se uma validao em 10 camadas ou leave-one-out. Para conjuntos de grandes dimenses este ltimo mtodo pode tornar-se impraticvel devido a uma excessiva complexidade.
Para conjuntos de treino com menos de 50 exemplos por classe use leave-one-out. Para conjuntos

de muito pequenas dimenses calcule tambm o valor estimado pelo mtodo bootstrapping .623 (.623B) e validao estratificada em duas camadas.
Se leave-one-out < bootstrapping .623B use bootstrapping .623B. Se leave-one-out > estimao por camadas use a estimao por camadas.

Todas as tcnicas indicadas nestas heursticas, so tcnicas de re-amostragem de modo a garantir que todos os exemplos do conjunto de treino inicial so usados tanto para o treino do classificador como para o seu teste. Este facto elimina a possibilidade de escolha de conjuntos de treino/teste incaractersticos e consequente obteno de resultados excessivamente optimistas ou pessimistas.

Jos Manuel Fonseca

Induo de rvores de Deciso

Jos Manuel Fonseca

Induo de rvores de Deciso

CAPTULO 3
Tcnicas de construo de rvores de deciso
Faz-se neste captulo uma apresentao de vrias tcnicas para a soluo dos diversos problemas que se colocam construo de rvores de deciso. Diversos mtodos para o clculo e escolha da melhor partio em cada n, para a limitao no crescimento da rvore e para o tratamento de valores desconhecidos no conjunto de treino e nos valores a classificar so, neste captulo, apresentados e comparados entre si.

3.1. Como efectuar a partio em cada n


O tipo de partio efectuada em cada n pode afectar de forma decisiva o desempenho da rvore de deciso produzida. A realizao de testes simples sobre uma s varivel definindo apenas um valor de patamar a partir do qual decidido qual o caminho a percorrer na rvore, o clculo de intervalos conduzindo construo de rvores n-rias ou a combinao linear e no linear de caractersticas para a definio das parties efectuadas em cada n, constituem opes que apresentam vantagens e desvantagens que merecem uma discusso detalhada. Tambm o tipo das caractersticas - discretas ou contnuas - implicam um tratamento distinto que ser em seguida debatido.

3.1.1. Parties baseadas em caractersticas discretas


O tratamento de caractersticas discretas distinto daquele que possvel aplicar a caractersticas contnuas. Com efeito, a limitada cardinalidade deste tipo de caractersticas permite o clculo de parties tendo em conta este facto e possibilitando por vezes, um grande poder descriminante. Embora seja possvel efectuar combinaes de caractersticas discretas para o clculo de parties, este tipo de testes no se encontra em nenhum dos algoritmos tratados nesta tese, sendo estes efectuados sempre sobre variveis simples.

Jos Manuel Fonseca

35

Induo de rvores de Deciso

36 3.1.1.1. Um ramo por cada valor do atributo

Tcnicas de construo de rvores de deciso

O teste mais vulgar aquele que atribui a cada valor da caracterstica em causa um ramo prprio. Este tipo de partio, embora permita extrair da caracterstica todo o seu contedo informativo, tem como principal desvantagem a criao de um grande nmero de ramos muitas vezes completamente desnecessrios, o que implica a formao de rvores de dimenses muitas vezes exageradas. Por outro lado, a avaliao do valor das parties normalmente influenciada pelo nmero de subconjuntos a que estas conduzem, tornando bastante difcil a comparao de parties baseadas em caractersticas de cardinalidades muito diferentes.

3.1.1.2. A soluo de Hunt (CLS) A soluo apresentada por [Hunt, 1966] sugeria para este problema a criao de ns binrios atribuindo a um dos ramos um dos valores da caracterstica eleita e ao outro todos os outros valores. Esta soluo naturalmente limitada no aproveitando obviamente todo o poder de descriminao da caracterstica. Tem no entanto, a vantagem da grande simplicidade e inteligibilidade resultante, especialmente til quando os resultados da gerao do classificador automtico se destinam a ser interpretados por um utilizador humano.

3.1.1.3. Caractersticas ordenadas Define-se uma caracterstica ordenada como sendo aquela que permite a definio de uma relao de ordem entre os seus possveis valores. Quando se trata de valores deste tipo, possvel a definio de testes binrios do tipo xnC, possibilitando a construo de rvores binrias [Breiman, 1984]. Para uma caracterstica de cardinalidade N sero possveis N-1 diferentes parties deste tipo que se torna necessrio testar de modo a podermos garantir a escolha da melhor delas. Este mtodo tem o inconveniente de, por vezes, no utilizar todas as capacidades de cada caracterstica, proporcionando, no entanto, uma rvore bastante inteligvel pelo observador humano.

3.1.1.4. Agrupamento de valores de caractersticas em dois conjuntos Um outra forma de calcular parties binrias sobre caractersticas discretas tambm apresentado em [Breiman, 1984]. Este mtodo, no limitado s caractersticas ordenadas, baseia-se na criao de dois subconjuntos de valores associados respectivamente, ao ramo esquerdo e direito do n em desenvolvimento. Dado que todos os subconjuntos possveis devero ser testados de modo a garantir a seleco da melhor partio, um total de 2N-1-1 parties devero ser testadas (2N-1 pois metade dos conjuntos possveis so complementares conduzindo a parties semelhantes e -1 pois o conjunto vazio no leva a qualquer partio sendo portanto desnecessrio consider-lo). Este mtodo tem a desvantagem de necessitar de um grande nmero de testes quando a cardinalidade das caractersticas elevado. Por Jos Manuel Fonseca Induo de rvores de Deciso

Tcnicas de construo de rvores de deciso

37

exemplo, para um caracterstica com apenas 20 valores diferentes ser necessrio testar 220-1-1=524287 parties o que se pode tornar impraticvel.

3.1.1.5. Agrupamento de valores de caractersticas em vrios conjuntos De modo a permitir o agrupamento de valores em vrios conjuntos com uma complexidade de clculo razovel, apresentado em [Quinlan, 1993] um algoritmo que, embora no encontre forosamente a melhor partio possvel, permite encontrar uma soluo que se verifica experimentalmente ser normalmente de boa qualidade. Para tal, comea por se calcular o valor da soluo atribuindo a cada diferente valor da caracterstica um ramo prprio. Seguidamente, testam-se todas as combinaes possveis de dois valores. Se nenhuma destas solues for considerada pelo critrio de avaliao adoptado (as funes de avaliao sero discutidas em detalhe no pargrafo 3.3) melhor que a anterior, o processo pra, sendo a soluo anterior adoptada como soluo final. Seno, repetido o processo tendo como base a melhor das solues anteriores. Vejamos um hipottico exemplo para uma caracterstica com 4 valores distintos - A,B,C,D: Agrupamentos de atributos {A} , {B} , {C} , {D} 2 {A , B} , {C} , {D} 3 {A , C} , {B} , {D} 4 {A , D} , {B} , {C} 5 {A} , {B , C} , {D} 6 {A} , {B , D} , {C} 7 {A} , {B} , {C , D} 8 {A , D , B} , {C} 9 {A , D , C} , {B} 10 {A , D} , {B , C}
1

Valor de avaliao 0.457 0.435 0.521 0.531 0.499 0.501 0.512 0.467 0.501 0.498

Tabela 3.2 - Exemplo de aplicao do algoritmo de agrupamento de valores a uma caracterstica com 4 valores possveis. Neste exemplo seria escolhida a soluo quatro pois, sendo a melhor das solues do segundo passo (2,3,4,5,6 e 7) e vantajosa em relao inicial (1) no superada por nenhuma das solues do terceiro passo (8, 9 e 10). Note-se que no se pode garantir que a soluo encontrada a melhor possvel pois em cada passo escolhida a soluo que permite uma maior melhoria imediata e que pode no coincidir com a soluo intermdia que levaria melhor soluo final. Este , no entanto, o preo da simplicidade do algoritmo.

3.1.2. Parties baseadas em caractersticas contnuas


As caractersticas contnuas permitem uma maior variedade de testes implicando, em geral, uma maior complexidade de clculo.

Jos Manuel Fonseca

Induo de rvores de Deciso

38 3.1.2.1. Testes simples ou pesquisa exaustiva

Tcnicas de construo de rvores de deciso

A construo de rvores de deciso com base em testes simples, surge como a forma mais elementar de efectuar a construo de rvores de deciso com base em caractersticas contnuas. A escolha do binmio caracterstica/ponto de ciso efectuada de modo a que a partio da resultante maximize o critrio de valor adoptado. Devero ser testadas e avaliadas quanto sua qualidade todas as parties possveis com base em cada uma das caractersticas, sendo escolhido o conjunto caracterstica/ponto de ciso considerada de maior valor pelo critrio de avaliao adoptado. Um mtodo possvel e provavelmente o mais simples, ser ordenar todos os valores de um dado atributo por ordem crescente ou decrescente e testar a partio resultante da adopo de um ponto de ciso dado pelo valor mdio entre cada dois valores consecutivos. Assim, para um problema com N exemplos contendo M caractersticas teremos um total de (N-1)*M parties possveis cuja qualidade ser necessrio comparar. O volume de clculo da resultante pode, por vezes, ser excessivo. Embora este tratamento possa parecer semelhante ao dado s caractersticas discretas ordenadas, surge um pequeno pormenor importante. Dado que se est a trabalhar com valores contnuos, necessrio, neste caso, definir onde se efectua o ponto de ciso quando se encontram os dois valores - v1 e v2 - entre os quais se pretende efectuar a partio. Na verdade, embora do ponto de vista do conjunto de treino seja indiferente efectuar a partio baseada em qualquer um dos testes xnv1 ou xn<v2 ou ainda xn<(v1+v2)/2, do ponto de vista de classificao os resultados sero evidentemente distintos. O ltimo dos testes, adoptando o ponto intermdio entre os dois valores aquele que geralmente adoptado.

3.1.2.2. Testes mltiplos A possibilidade de definio de mltiplos intervalos de partio do valor de uma caracterstica pode aumentar significativamente a capacidade descriminativa de cada medida, levando construo de rvores de menores dimenses sem perda de desempenho em relao s que so obtidas adoptando-se apenas testes simples. No entanto, o clculo desses intervalos e o volume de informao que se torna necessrio armazenar podem penalizar estes mtodos. Segmentao global Uma das solues mais simples para o tratamento de atributos contnuos a sua segmentao a nvel global, transformando o problema num outro envolvendo apenas atributos discretos. Para tal, necessrio conhecer os valores que do origem a cada medida e assumir um determinado modelo de rudo. Uma vez calculados os parmetros do modelo de rudo adoptado, ento possvel, utilizando a estratgia de Bayes, calcular a segmentao com base na qual as medidas contnuas sero discretizadas. Como exemplo, suponhamos um problema com trs classes caracterizadas pelos quatro vectores: Jos Manuel Fonseca Induo de rvores de Deciso

Tcnicas de construo de rvores de deciso Classe 1 Vector V1 A1 A2 A3 A4 Probabilidade 30%

39

1 2 3

V2 V3 V4

a1 1 = 10 2 =5 a1 3 a1 = 15 4 =8 a1

a1 2 =5 2 a 1 = 10 a3 2 =5 4 a 2 = 15

a1 3 =3 a2 3 =1 3 a 3 = 12 a4 3 = 10

a1 4 =3 2 a 4 = 20 a3 4 = 17 a4 4 =3

20% 10% 40%

Tabela 3.4 - Vectores de caracterizao das 3 classes. Admitindo que os valores dos vrios atributos so afectados por rudo aditivo e gaussiano de mdia nula, poderemos com base nos exemplos do conjunto de treino, calcular os parmetros da densidade de probabilidade de cada um dos atributos, condicionada ao valor que lhe deu origem.
p( z| a ij ) zaj 2 ( i) = exp 22 22 a ij a ij 1 i = 1,..,| V| com j = 1,..,|A i | (3.1)

Na equao (3.1), |V| e |Ai| representam respectivamente, a dimenso dos vectores de medida e o nmero de valores do atributo i. Supondo que:
2 =1 a1
1

2 = 1.5 a2
1

2 = 0.5 a3
1

2 = 1. 2 a4
1

Adoptando a estratgia de Bayes:

I ij = z p( z| A i = a ij ) . p( A i = a ij ) > p( z| A i = a ik ) . p( A i = a ik ) k j
Teremos, para o primeiro atributo a seguinte segmentao:
0.16 0.14 0.12 0.1 0.08 0.06 0.04 0.02 0 1 2 3 4 I1 1 5 6 7 8 I2 1 9 10 11 I3 1 12 13 14 15 I4 1 16 17 18 19 20 P1 P4 P2 P3

(3.2)

( P2 = p( z A P3 = p( z A P4 = p( z A

2 2 . p( A 1 = a 1 P1 = p z A 1 = a 1 ) 4 1 4 1

) = a ) . p( A = a ) = a ) . p( A = a ) = a ) . p( A = a )
1 1 1 1 1 1 3 1 1 3 1

Figura 3.2 - Segmentao do primeiro atributo. Os intervalos de segmentao sero ento:

I1 1 = A 1 A 1 ] ,6.2]
2 I1 3 I1 4 I1 1

{ = {A = {A = {A

A 1 ] 6.2,9.1] A1 A1

} ] 9.113 , ]} ]13,+ ]}

Por um processo idntico so calculados os intervalos de segmentao para todos os outros atributos e depois de gerado um novo conjunto de treino com todos os atributos segmentados, o problema estar reduzido a uma situao do domnio discreto com rudo.
Jos Manuel Fonseca Induo de rvores de Deciso

40
Segmentao ao nvel do n

Tcnicas de construo de rvores de deciso

Um algoritmo que visa a partio em intervalos de caractersticas contnuas apresentado em [MouraPires, 1991]. Fortemente inspirado na teoria da comunicao, este algoritmo prope a segmentao dos valores contnuos em cada n, apresentando-se como uma optimizao do anterior. A importncia da segmentao dos atributos em cada n reside na quantificao das probabilidades marginais das caractersticas em cada n, de modo a reflectir nos intervalos de segmentao as diferentes situaes resultantes das parties anteriormente efectuadas. Neste processo, admite-se que os processos de medida so independentes entre si, pelo no necessrio recalcular os parmetros das suas distribuies de rudo.

3.1.2.3. Combinao linear de caractersticas

A possibilidade de efectuar uma combinao linear de caractersticas em cada n permite contornar uma das limitaes apresentadas pelas rvores baseadas em testes efectuados sobre uma s caracterstica. Dado que se utiliza em cada n apenas uma varivel, as parties da resultantes so forosamente perpendiculares aos eixos definindo deste modo hiper-paralelippedos. Este facto implica um grave inconveniente que facilmente exposto com base num problema exemplificativo com duas classes A e B e vectores de medida com duas variveis x1 e x2. Seja a sua distribuio de valores a indicada na figura 3.Error! Bookmark not defined..
x2

x1 Classe A Classe B

Figura 3.4 - Distibuio das classes A e B. Num caso como o apresentado na figura anterior, uma classificao baseada em testes efectuados a uma medida isolada teria como consequncia bvia o crescimento da rvore para alm do natural (repare-se que, para que fosse efectuada a diviso de uma forma minimamente eficiente, seriam necessrios vrios testes), resultando ainda assim uma diviso pouco correcta dado que no captaria a essncia do fenmeno mas se limitaria a classificar correctamente todos os exemplos do conjunto de treino. Repare-se como a recta a tracejado que representa uma relao do tipo x2=mx1+b constitui uma diviso com muito melhores resultados. Assim, sempre que seja previsvel a existncia de dependncias lineares entre medidas o conjunto de testes possveis deve ser alargado a testes do tipo:

a mxm c
m

(3.3)

Jos Manuel Fonseca

Induo de rvores de Deciso

Tcnicas de construo de rvores de deciso

41

A introduo deste tipo de testes aumenta em alguns casos o desempenho deste tipo de algoritmos de forma significativa. Vrios algoritmos surgem como alternativa para a implementao deste tipo de testes. Alguns deles so seguidamente apresentados.
Partio por combinao linear de caractersticas

Supondo o problema M dimensional, a pesquisa do hiperplano que far a partio do conjunto de treino inicia-se com a gerao aleatria de um conjunto de coeficientes a=(a1,a2,...,aM) tal que se verifique (3.4).
M

= a2 i =1
i =1

(3.4)

Ser ento procurado o valor de c - c - em (3.5) que permitir a melhor partio1.

a ixi c
i =1

(3.5)

Denote-se a melhor partio assim encontrada como s(a) e o ganho que advm da sua utilizao no n t por (s(a),t). O melhor conjunto de coeficientes de a - a - ser aquele que permita maximizar o valor de , ou seja:

(s (a ), t ) = max (s (a ), t )
a

(3.6)

A melhor partio ser, portanto, dada por:


a i xi c i =1 M

(3.7)

O algoritmo de pesquisa dos coeficientes da combinao linear de caractersticas apresentado com maior detalhe no anexo B. Para problemas envolvendo um nmero significativo de medidas a rvore assim gerada apresenta uma grande complexidade envolvendo combinaes lineares de todas as medidas em todos os ns. De modo a contornar este problema sugerido o seguinte processo:
1 passo - Para todas as medidas i com i=1,..,M variar o patamar c e calcular a melhor partio do tipo

j=1, j i

a j x j c i

(3.8)

Calcule a qualidade da partio, ou seja, o decrscimo na funo de avaliao ( i ) assim encontrada.


2 passo - Calcule a degradao na soluo proveniente da anulao da medida mais importante, ou

seja, aquela que se retirada, conduz pior soluo implicando portanto um valor mnimo de . Denote-se

1Identificam-se

com * os valores que conduzem ao resultado considerado ptimo.

Jos Manuel Fonseca

Induo de rvores de Deciso

42

Tcnicas de construo de rvores de deciso

este valor por * min i . De uma forma equivalente, a degradao introduzida pelo retirar da medida
i

menos importante ser dada por * max i . Enquanto se verificar ( uma constante pr-definida, de
i

valor geralmente 0.1 ou 0.2):

* max i < * min i i i retire a medida menos importante.

(3.9)

3 passo - Utilize o algoritmo de pesquisa para encontrar a melhor combinao utilizando agora

apenas as caractersticas no retiradas no passo anterior. Embora o conceito aqui exposto seja bastante simples, a sua implementao no o . Um algoritmo de pesquisa para os valores de a e c apresentado em [Breiman, 1984]. Este algoritmo no garante, no entanto, a obteno de um mximo global, podendo obter apenas um mximo local. realada pelos autores a grande complexidade deste algoritmo e a necessidade de existncia em cada n, de um nmero razovel de exemplos de modo a garantir o seu correcto funcionamento.
Combinao linear de caractersticas OC1

Este mtodo proposto em [Murthy, 1993], apresenta-se como uma evoluo do anterior tendo como objectivo principal contornar o problema dos mximos locais na pesquisa da melhor partio. Dado que este algoritmo no tem a capacidade de comparar dois planos diferentes que dividem de igual n modo o conjunto de treino, para um conjunto de treino com n exemplos a d dimenses, existiro C d hiperplanos distintos. Dado que o nmero de hiperplanos cresce exponencialmente com o nmero de exemplos no conjunto de treino, seria impraticvel o teste de todos eles, um por um, para a pesquisa do melhor. Este algoritmo inicia-se pela gerao de uma partio inicial de modo aleatrio. A equao deste hiperplano inicial pode ser escrita como:

(a x ) + a
i =1 i i

d +1

=0

(3.10)

Seja Pj = ( x1 j , x 2 j ,..., x Mj ) o j-simo exemplo. Se substituirmos o vector Pj em (3.10) teremos:

(a x
i =1 i

ij ) + a M +1

= Vj

(3.11)

onde o sinal de Vj nos indica se o ponto est por cima ou por baixo do hiperplano. O algoritmo perturba ento os vrios coeficientes ai, um por um. Se considerarmos o coeficiente am como uma varivel e todos os outros como constantes, Vj pode ser considerado uma funo de am. Se definirmos:
Uj = a m x mj Vj x mj

(3.12)

Jos Manuel Fonseca

Induo de rvores de Deciso

Tcnicas de construo de rvores de deciso

43

o ponto Pj estar acima do hiperplano se am>Uj e por baixo caso contrrio. Podemos portanto, fixando os valores de ai para i=1,...,d excepto am, e sabendo de que lado do hiperplano desejamos colocar cada ponto, podemos obter N restries para o valor de am usando os N pontos do conjunto de treino. O problema agora encontrar um valor para am que satisfaa o maior nmero possvel de restries (se conseguirmos satisfazer todas elas teremos uma partio perfeita). Este , no entanto, um problema bastante simples. Se o novo hiperplano - substituindo am pelo seu novo valor - obtiver uma impuridade menor adoptado o novo valor. Se a impuridade for idntica anterior mas o hiperplano tiver uma diferente localizao o novo valor ser adoptado com probabilidade ProbEstag. Este valor de probabilidade, que representa a probabilidade de um hiperplano ser alterado para um outro com diferente localizao mas igual impuridade, inicializado a 1 cada vez que se d um decrscimo de impuridade e decresce exponencialmente cada vez que se d uma situao de igual impuridade. Este algoritmo pode ser resumido em pseudo-cdigo como se segue:
Perturbao(H,m) { for j=1 to n Calcula(Uj) OrdenaCrescente(U1,...,Un) am1=melhor partio(U1,...,Un) H1=hiperplano que resulta da substituio de am por am1 se (impuridade(H1)<impuridade(H)) { am=am1; NumEstag=0; } seno se (impuridade(H1)=impuridade(H)) { am=am1 com probabilidade ProbEstag=exp(-NumEstag); NumEstag++; } }

Figura 3.6 - Descrio pseudo-cdigo do algoritmo de perturbao de hiperplanos. Necessitamos, para alm de conhecer a forma de perturbar os coeficientes para efectuarmos a pesquisa de melhores parties, de termos uma forma de seleccionar o prximo coeficiente a perturbar. So sugeridas pelos autores trs diferentes estratgias: Seq, Best e R-50.
Seq: repetir at que nenhum dos coeficientes seja modificado no ciclo de 1 at d+1. Best: repetir at que o coeficiente que permite uma maior reduo na impuridade permanea inalterado. R-50: perturbar aleatoriamente um dos d+1 coeficientes um nmero fixo de vezes (50 por ex.).

Este mtodo tem no entanto, a desvantagem de no ser imune a mnimos locais da funo de impuridade. proposto pelos autores um mtodo aleatrio para tentar "saltar" destes mnimos.

Jos Manuel Fonseca

Induo de rvores de Deciso

44
3.1.2.4. Utilizao de redes neuronais

Tcnicas de construo de rvores de deciso

A utilizao de redes neuronais para a extraco de caractersticas tem sido apresentada como uma forma de aumentar o desempenho das rvores de deciso. O uso de pequenas redes neuronais nos ns de deciso apresentado em [Guo, 1992], como uma forma de produzir rvores com uma menor taxa de erro e menores dimenses quando comparadas com as obtidas pelos processos convencionais embora implicando um tempo de treino mais alargado. Esta aproximao revela-se interessante tambm do ponto de vista das redes neuronais, pois podendo ser encarada como uma rede neuronal estruturada, tenta contornar o problema do treino e interpretao (esta ltima especialmente difcil) das complexas e no estruturadas redes tradicionais. Os autores apresentam a proposta de colocao de redes neuronais com duas camadas para a partio do universo em cada n no terminal com vista separao do conjunto das classes C em dois subconjuntos disjuntos CL e CR tais que:
1 d= 1 Dada a topologia:
y

se c C L se c C R

(3.13)

b1 z1 a1 a1p a11 a12 z2

b2

bq

a2 a2p

... ...

zq aq aq1 aq3

aqp

x1

x2

x3

xp-1

xp

Figura 3.8 - Topologia da rede proposta para a partio do universo em cada n no terminal. Onde:
y = g ( b i zi b )
q

(3.14) (3.15)
(3.16)

z i = g( a ij x j a i )
j=1

i =1 p

g( ) =

1 e 1 + e

Esta rede pode ser facilmente treinada atravs do algoritmo de backpropagation para a minimizao do erro (3.17) atravs das equaes (3.18), (3.19), (3.20) e (3.21) de modificao dos vrios parmetros (coeficientes e patamares) que seguidamente se apresentam e cuja deduo se encontra no anexo A.

Jos Manuel Fonseca

Induo de rvores de Deciso

Tcnicas de construo de rvores de deciso

45

E=

1 N ( d ( n) y( n))2 N n =1

(3.17) (3.18) (3.19) (3.20) (3.21)

1 a ij ( k + 1) = a ij ( k ) + (d y)( 1 y 2 ) b i ( k )( 1 z 2 i )xj 2 1 a i ( k + 1) = a i ( k ) + ( d y)( 1 y 2 ) b i ( k )( 1 z 2 i ) 2

b i ( k + 1) = b i ( k ) + ( d y)( 1 y 2 ) z i b( k + 1) = b( k ) + ( d y)( 1 y 2 )

Coloca-se ento a questo de qual a partio CL e CR que dever ser efectuada. Para a soluo deste problema os autores propem o seguinte algoritmo:
Passo 1: Seleccionar de forma aleatria uma qualquer partio CL e CR de C. Passo 2: Treinar a rede com base no algoritmo de backpropagation com vista separao de CL e

CR. Efectuar ento a separao utilizando a rede obtida e calcular o mrito da soluo inicial i0 (para tal, os autores sugerem a utilizao do critrio de impuridade de Gini - definido no pargrafo 3.3.1.1 - mas qualquer outro pode ser utilizado).
Passo 3: Com m variando entre 1 e o nmero de classes formar a partio CL(m) e CR(m) de C

mudando de partio a classe cm. Treinar a rede de modo a efectuar a nova separao e calcular o novo mrito im. Passo 4: Fazer i m* = max i m . Se i m* i 0 terminar, seno fazer CL=CL(m*), CL=CL(m*) e 1 m M repetir a partir do passo 2. A partio inicial , segundo os autores, efectuada de uma forma had-hoc tendo como critrio apenas a formao de dois subconjuntos com um nmero aproximadamente igual de classes. Esta abordagem tem, no entanto, algumas desvantagens que importa realar. Em primeiro lugar, no permite efectuar qualquer tipo de seleco de caractersticas pois no proporciona qualquer informao sobre a importncia dos vrios atributos. Relembre-se que todos os ns utilizam, neste algoritmo, todas as caractersticas como entradas da rede neuronal contrariamente aos mtodos mais tradicionais em que apenas uma ou um subconjunto das caractersticas so testadas em cada n. Um outro inconveniente deriva da pouca inteligibilidade proporcionada pelas redes neuronais. Na verdade, a compreenso do modo de classificao de uma rede neuronal, mesmo quando simples como estas, algo que constitui ainda tema de investigao estando longe de estar resolvido. Assim, os resultados obtidos pelos classificadores deste tipo revelam-se muito pouco teis sempre que a compreenso do fenmeno em causa seja um dos objectivos primordiais do seu desenvolvimento.

3.1.3. Valores desconhecidos


O tratamento de valores desconhecidos tem como objectivo, por um lado, o uso do mximo nmero possvel de exemplos para o treino do classificador mesmo quando estes contm valores desconhecidos

Jos Manuel Fonseca

Induo de rvores de Deciso

46

Tcnicas de construo de rvores de deciso

para algumas caractersticas e por outro lado, a possibilidade de classificar novos casos mesmo que estes se encontrem incompletos.

3.1.3.1. Tratamento por excluso

O surgimento de valores desconhecidos em exemplos do conjunto de treino tem um tratamento simples que consiste na utilizao em cada n, e para o clculo da melhor partio baseada em cada uma das caractersticas, dos exemplos para os quais o valor dessa caracterstica tem valor definido. Desta forma, a partio calculada com base em cada caracterstica ser a que maximizar o critrio de valor adoptado, tendo em considerao apenas os casos em que esse atributo est definido. Do ponto de vista da classificao, no caso de num dado n se testar um atributo com valor desconhecido, ser atribudo a esse exemplo o ramo mais provvel desse n.

3.1.3.2. Introduo do valor desconhecido

Uma outra soluo para o problema levantado pela ocorrncia de valores desconhecidos consiste na adopo de um novo valor para cada um dos atributos que possuem valores indefinidos - o valor "desconhecido". Deste modo, durante o treino, todos os exemplos para os quais o valor do tributo testado desconhecido so atribudos ao ramo do valor "desconhecido" sendo o restante treino efectuado de forma idntica normal.

3.1.3.3. Parties alternativas

Apresentado em [Breiman, 1984], este mtodo permite obter variveis de teste alternativas, em cada n, de modo a ser possvel a classificao de exemplos incompletos. Uma partio alternativa aquela que, com base num outro atributo, tenta "imitar" a partio normal, tendo como objectivo, na falta do valor do atributo testado normalmente, efectuar uma diviso dos exemplos to idntica quanto possvel. A semelhana entre as duas parties dever ser no s na percentagem de exemplos de cada classe que destinada a cada sub-partio como tambm nos prprios exemplos que so colocados em cada uma delas. S desta forma se poder minimizar as consequncias da classificao com base num atributo alternativo ao original.
Partio principal Parties alternativas Folha

Figura 3.10 - rvore de deciso com parties alternativas.


Jos Manuel Fonseca Induo de rvores de Deciso

Tcnicas de construo de rvores de deciso

47

Desde j se pode adiantar que, em alguns casos, no possvel encontrar qualquer alternativa pois nenhuma das caractersticas disponveis possui qualidades suficientes para tal. Coloca-se ento a questo de como encontrar parties alternativas quela que considerada a melhor das parties possveis. Seja ento s * a melhor partio para um dado n que divida o conjunto de treino em t L e t R . Sejam Sm e Sm respectivamente o conjunto de parties possveis com base na caracterstica x m e o conjunto das suas complementares. Para qualquer partio sm Sm Sm do n em t L e t R seja N j ( LL ) o nmero de

casos da classe j que tanto s * como sm classificam no ramo esquerdo, ou seja, que pertencem a t L t L. A probabilidade estimada de um exemplo ser classificado no ramo esquerdo desse n com base em qualquer outro atributo ser ento: p( t L t L ) = Onde:
p( j) - probabilidade da classe j

p( j) N ( LL)
j j

Nj

(3.22)

N j - nmero de exemplos da classe j

Ento, a probabilidade de que tanto s * como sm enviem um caso para o ramo esquerdo ser: p LL ( s*, sm ) = p( t L t L ) p() Define-se, de forma anloga, a probabilidade p RR s*, sm alternativa ser: (3.23)

de um exemplo ser classificado no ramo

direito. Desta forma, a probabilidade de haver coincidncia entre a partio original e a partio

p( s*, sm ) = p LL ( s*, sm ) + p RR ( s*, sm )


Ser considerada como candidata a alternativa a partio que verificar:

(3.24)

p( s*, ~ sm ) = max p( s*, sm )


sm

(3.25)

onde o mximo ser procurado entre os valores de Sm Sm . Encontra-se assim a partio que, para cada uma das caractersticas que no permitem a melhor partio, substitui a partio ideal com menor prejuzo. Note-se que teremos N-1 alternativas em que N o nmero de atributos do problema. Surge ento o problema de classificar as vrias parties candidatas de modo a estabelecermos um critrio na sua utilizao. Para tal, necessitamos de uma medida do valor de cada partio. Suponha ento que num dado n a partio s* envia um caso para o seu ramo esquerdo com probabilidade pL e para o seu ramo direito com probabilidade pR (teremos portanto pL+pR=1). No caso de se pretender classificar um novo caso para o qual se desconhece o valor do atributo que deu origem a s*, a forma mais simples de minimizar a probabilidade de erro na classificao ser atribuir o ramo que apresentar maior probabilidade. Neste caso, a probabilidade de erro ser min( p L, p R ) . Define-se a medida de qualidade de cada partio como sendo:

Jos Manuel Fonseca

Induo de rvores de Deciso

48

Tcnicas de construo de rvores de deciso

( s*| ~ sm ) =

min( p L , p R ) 1 p( s*, ~ sm ) min( p L , p R )

(3.26)

Teremos portanto que uma partio ser tanto melhor quanto maior for o valor de s*| ~ sm

sm 0 pois nesse caso representaria um decrscimo na qualidade alternativa rejeitada sempre que s*| ~
da soluo. Repare-se que a parcela 1 p s*, ~ sm

sendo a

))

representa a probabilidade de na adopo de uma

caracterstica alternativa no haver coincidncia entre a classificao original e a alternativa.

3.2. Como calcular medidas de incerteza


O clculo da probabilidade de cada exemplo pode ser efectuado de diferentes formas, dependendo da perspectiva com que se encara o problema. Trs diferentes aproximaes so seguidamente apresentadas.

3.2.1. Aproximao frequencista das probabilidades


A aproximao mais simples e porventura a mais imediata a aproximao frequencista de probabilidades. Segundo este mtodo, a probabilidade das diversas parties calculada com base na contagem do nmero de exemplos que so colocados em cada uma delas. Teremos ento:

pi =
Onde: pi - probabilidade da i-sima partio

Ni N

(3.27)

Ni - nmero de exemplos classificados na i-sima partio N - nmero total de exemplos Esta aproximao tem como principal inconveniente a no contemplao do desconhecimento que se possui sobre o fenmeno. Na verdade, se uma dada partio no contempla qualquer dos exemplos do conjunto de treino considerada impossvel (com probabilidade nula) quando se poderia dizer, por exemplo, que sobre ela nada se sabe. Seguidamente sero apresentadas outras abordagens que nos conduzem a situaes distintas neste aspecto.

3.2.2. Aproximao baseada no critrio de Laplace


Esta aproximao, apresentada em Christie [1993], baseia-se na chamada Lei de Sucesso de Laplace que seguidamente se apresenta para uma experincia que tem um de dois resultados possveis. Define-se a probabilidade Pf do evento ocorrer favoravelmente como sendo:

Jos Manuel Fonseca

Induo de rvores de Deciso

Tcnicas de construo de rvores de deciso

49 (3.28)

p f = ( N f + 1) ( N f + N n + 2)
Onde: pf - probabilidade do evento ocorrer favoravelmente na prxima experincia.

Nf - nmero de vezes em que o evento favorvel ocorreu nas experincias anteriores. Nn - nmero de vezes em que o evento no favorvel ocorreu nas experincias anteriores. No contexto do clculo da probabilidade de parties Nf ser o nmero de exemplos da primeira partio, Nn o nmero de exemplos na segunda partio e Pf a probabilidade da primeira partio. Note-se que quando o nmero de experincias for zero (Nf=Nn=0) teremos uma probabilidade de 0.5 que denota um total desconhecimento do fenmeno (numa perspectiva de que desconhecer o problema implica atribuir igual probabilidade s vrias hipteses). Por outro lado, a confiana total em que um acontecimento ocorra ou no apenas pode ser obtida por um nmero infinito de experincias que confirmem essa hiptese. Interessante ser calcular ento o erro obtido na predio do prximo acontecimento. A probabilidade do prximo acontecimento no ser favorvel :

En = 1 pf
Do mesmo modo a probabilidade de ser favorvel :

(3.29)

Ef = 1 pn

(3.30)

Supondo que se aposta para o resultado da prxima experincia na possibilidade favorvel com probabilidade Pf e na possibilidade no favorvel com probabilidade Pn o erro esperado ser:

E = p f (1 p f ) + p n (1 p n )

(3.31)

Estas equaes podem ser generalizadas para uma experincia que tenha um de k resultados possveis tendo-se ento:

pf =

Nf +1

N
i =1

(3.32)

+k

Neste caso Nf ser o nmero de exemplos numa dada partio, Pf a probabilidade dessa partio, Ni o nmero de exemplos na partio i e k ser o nmero de parties no n em causa.

3.2.3. Critrio das massas probabilsticas


Este critrio, apresentado em [Moura-Pires, 1993a], pode resumir-se da seguinte forma: considere que uma descrio um conjunto vector de medida - classe, ou seja, d=(v,c). Suponha que dentro de uma urna colocado um conjunto de descries em que a sua proporo relativa representa a sua probabilidade de ocorrncia de cada descrio. Desta urna efectuada uma extraco com reposio de modo a formar o conjunto de treino t. Deste modo diremos que:

t = (d j , w j ), j = 1,.., K
Onde: dj - descrio j
Jos Manuel Fonseca

(3.33) K - nmero de descries


Induo de rvores de Deciso

wj - n de ocorrncias da distribuio j

50

Tcnicas de construo de rvores de deciso

Define-se ento a massa probabilstica de uma descrio j - mj - e da urna - m - como sendo: m j = K1 w j (3.34) (3.35)

m = K 2 V
Onde: K1, K2 - constantes de proporcionalidade V - nmero de descries distintas Colocam-se duas restries:

m j + m = 1
j

(3.36) (3.37)

K1 N + K 2 V = 1

Note-se que se adoptarmos K2=0 estaremos perante o modelo probabilstico clssico. Um outra hiptese ser fazer K1=K2=K que nos levar a:
K= Por consequncia: 1 N+ V (3.38)

mj =

wj N+ V V m = N+ V

(3.39) (3.40)

Para se definir a distribuio marginal de massas probabilisticas associada a uma partio Pi do conjunto de treino com k elementos (k|V|) teremos:
k t = Pi i =1 P P = j i

U I

(3.41) para i j, i, j = 1... k

A massa probabilistica de uma dada partio dada por:

w( Pi ) =
m( Pi ) = w( Pi ) N

S Pi

w( S)
N = w( Pi ) N+k

(3.42) (3.43)

N+k

Onde N representa o nmero total de amostragens do conjunto de treino. Desta forma m(Pi) representa a massa probabilistica associada i-sima partio enquanto que m representa a massa probabilistica associada urna.

3.3. Eleio da melhor caracterstica


Faz-se neste pargrafo uma apresentao de vrias tcnicas para a eleio da "melhor" caracterstica a ser testada em cada n de uma rvore de deciso, constituindo a chamada funo de avaliao de cada partio.
Jos Manuel Fonseca Induo de rvores de Deciso

Tcnicas de construo de rvores de deciso

51

3.3.1. Critrio da impuridade


Apresentado em [Breiman, 84] este critrio visa a minimizao da chamada "impuridade" da cada n sendo essa impuridade definida como se segue: Definam-se as probabilidades das N classes num dado n como sendo p(c|t) para c=1,...,N dadas pela proporo de cada classe nos casos abrangidos por esse n de modo a que:

p( c t ) = 1
i =1 i

(3.44)

Seja i(t) a medida de impureza de um n definida por uma funo que obedea aos seguintes requisitos: 1 1 ,..., = Valor max imo N N (3.45) (3.46)

(1,0,..., 0) = 0 ( 0,1,..., 0) = 0 ... ( 0,0,..., 1) = 0

Como evidente, a impureza de um n mxima quando todas as classes tm igual prioridade e mnima quando existe apenas uma classe. Podemos ento definir o ganho de uma partio como sendo a diferena entre a impuridade do n inicial e a soma das impuridades das parties resultantes pesadas da respectiva probabilidade. Assim, para uma regra de partio s que divida o conjunto de treino t no n em dois subconjuntos tL e tR com propores, respectivamente pL e pR o ganho de impuridade ser:

i ( s, t ) = i ( t ) p Li ( t L ) p R i ( t R )

(3.47)

Segundo este critrio, ser portanto escolhida para efectuar a partio em cada a n a caracterstica que permitir uma maior reduo na impuridade. Para problemas apenas com duas classes o erro aparente ou erro de resubstituio cumpre as restries (3.45) e (3.46) podendo aparentemente ser utilizado como funo de impuridade. Nesse caso:

( p1 , p 2 ) = 1 max( p1 , p 2 ) = min( p1 , p 2 ) = min( p1 ,1 p1 )


Vejamos, no entanto, o seguinte exemplo:
400 400 400 400

(3.48)

300 100 Partio 1

100 300

200 400 Partio 2

200 0

Figura 3.12 - Exemplo de duas parties. Neste caso, se for utilizado o erro aparente como medida de impuridade ambas as parties conduziro ao valor 0.25 para e sero portanto consideradas equivalentes. Olhando atentamente para os dois casos
Jos Manuel Fonseca Induo de rvores de Deciso

52

Tcnicas de construo de rvores de deciso

fcil verificar a vantagem apresentada pela segunda hiptese. Na verdade, a segunda partio apresenta melhores perspectivas pois embora no resolva imediatamente a totalidade do problema possui um ramo que permite uma classificao sem erro no necessitando mais qualquer desenvolvimento e um outro que necessita de posterior expanso, o que, comparado com a necessidade de expanso dos dois ramos da primeira alternativa, lhe d uma vantagem clara. Para que a medida de impuridade conduza escolha da segunda opo teremos de possuir uma funo que no decresa linearmente com o seu argumento mas tenha uma evoluo decrescente mais rpida que este. Para tal, necessrio que a funo adoptada seja estritamente cncava, o que equivalente a dizerse que a sua segunda derivada entre 0 e 1 (no seu domnio) seja negativa. Teremos assim de acrescentar a restrio (3.49) s condies (3.45) e (3.46).

'' ( x) < 0

(3.49)

Esta situao generalizvel para o caso de vrias classes sendo portanto esta condio vlida em todas as situaes. A famlia de funes mais simples que podem respeitar este conjunto de restries do tipo

( x) = a + bx + cx 2 . Da aplicao das vrias restries resulta que a=0 e b+c=0 o que nos leva a ( x) = b( x x 2 ) . Fazendo b=1 teremos ( x) = x x 2 ou seja: i( t ) = p( 1 t ) p( 1 t ) = p( 1 t ) ( 1 p( 1 t ) ) = p( 1 t ) p( 2 t )
2

(3.50)

Uma outra funo que respeita as restries mencionadas dada por:

i( t ) = p( 1 t ) log( p( 1 t ) ) p( 2 t ) log( p( 2 t ) )

(3.51)

Facilmente se reconhece em (3.51) a funo de entropia aplicada a uma situao de duas classes. Para situaes com mais do que duas classes duas funes de impuridade so seguidamente apresentadas.

3.3.1.1. Critrio de Gini

Segundo o critrio de Gini a impuridade num dado n dada por:

i( t ) = p( j| t ) p(i| t )
i j

(3.52)

Este critrio, aplicvel a rvores n-rias, pode ser encarado como a probabilidade condicional de erro dado um conjunto de treino seleccionado de forma aleatria que dividido no n onde cada classe i tem uma probabilidade p(i|t) e onde se encontra a regra de deciso que atribui a classe j com probabilidade p(j|t). Note-se que a probabilidade condicional de erro no n para um exemplo da classe j dada por:

1 p( j| t ) = p( i| t )
i j

(3.53)

Jos Manuel Fonseca

Induo de rvores de Deciso

Tcnicas de construo de rvores de deciso


3.3.1.2. Critrio da entropia

53

Uma outra funo de impuridade a entropia. A noo de entropia que teve origem na teoria de informao mede a quantidade de informao necessria para codificar a situao presente no n e tem o seu clculo dado pela equao seguinte: i( t ) = H ( C| t ) = Onde: N - nmero de classes pi - probabilidade da classe i

p .log p
i =1 i

2 i

(3.54)

De forma a tornar a notao mais clara, omite-se a representao da dependncia do conjunto de treino t, dada a sua pouca relevncia, sendo esta utilizada apenas quando considerada absolutamente necessria. O ganho de informao I(C;A|t) resultante da adopo de uma partio baseada num dado atributo ser assim dado por:

I( C; A ) = H( C) Onde:

p( t ) H( C| t )
A i A i i

(3.55)

H( C) - entropia no n antes de efectuada a partio. p( t A i ) - probabilidade da i-sima partio baseada no atributo A.

H( C| t A i ) - entropia da i-sima partio.

Tentar-se- portanto escolher a partio que permitir obter um maior ganho de informao. O critrio da entropia tem a desvantagem de favorecer claramente as caractersticas que efectuem a partio do universo em maior nmero de intervalos. Para contornar esta dificuldade, Quinlan em [Quinlan, 1986] prope uma alternativa que se baseia na razo do ganho de informao dado por cada medida pelo valor dado pela expresso (3.56). H ( A ) = pi .log2 pi
i =1 N

(3.56)

Onde:

N - nmero de ramos da partio pi - probabilidade do ramo i

O objectivo ser assim escolher a caracterstica que permita maximizar o quociente (3.57). I ( C; A ) H ( A ) (3.57)

3.3.2. Critrio de paridade


Este critrio, que se aplica a rvores binrias, define a medida de impuridade de um n como sendo dada por: p p i( t ) = L R 4
p( j| t L ) p( j| t R )
2

(3.58)

Jos Manuel Fonseca

Induo de rvores de Deciso

54 Onde: pL - probabilidade do n descendente esquerdo pR- probabilidade do n descendente direito

Tcnicas de construo de rvores de deciso

p(j|tL) - probabilidade da classe j n descendente esquerdo p(j|tR) - probabilidade da classe j n descendente direito

3.3.3. Critrio de Laplace


Pegando no clculo de probabilidades segundo a aproximao baseada no critrio de Laplace, o erro esperado para um problema contendo K classes ser (com pj dado pela equao 3.32):

E = p j 1 p j
j=1

(3.59)

Temos ento que, ao dividirmos o nosso universo num determinado n podemos esperar um erro que dado por (3.60).

Ni K E = pi, j 1 pi, j i =1 N j=1


M

com

pi, j =

N i, j + 1 Ni + K

(3.60)

Onde: K - nmero total de classes. M - nmero de subconjuntos da partio. Ni,j - nmero de exemplos da classe j que possuem o i-simo valor. Ni - nmero de valores que possuem o i-simo valor. Pi,j - probabilidade de um exemplo da classe j ter o i-simo valor. Segundo este algoritmo, ser escolhida e usada para efectuar a partio do conjunto de treino em cada n a caracterstica que minimizar o valor de (3.60). Em relao equao (3.60) pode ser apontada uma pequena incoerncia no que respeita forma como encarada a probabilidade de erro. Na verdade, o factor de pesagem Ni/N introduz uma incoerncia pois, quando Ni=0, o que significa que nenhum exemplo no conjunto de treino classificado na partio i, o erro com que essa partio contribui para o erro total pesado zero. Este facto vem contra a perspectiva Laplaciana em que o desconhecimento implica uma probabilidade de erro no nula. Para contornar esse problema parece coerente a adopo de uma pesagem dada por (Ni+1)/(N+M). Deste modo, quando Ni=0 teremos um peso para esse ramo de 1/(N+M) que permite entrar em considerao com o desconhecimento que possumos acerca do fenmeno. A equao (3.60) ficaria assim:

Ni + 1 K E= pi, j 1 pi, j i =1 N + M j=1


M

com

pi, j =

N i, j + 1 Ni + K

(3.61)

O autor, depois de contactado com vista a esclarecer este pormenor viria a considerar esta pequena alterao como "interessante" tendo dado a sua concordncia s razes apresentadas.

Jos Manuel Fonseca

Induo de rvores de Deciso

Tcnicas de construo de rvores de deciso

55

3.3.4. Medida da confuso


Uma outra aproximao medida de qualidade de uma dada partio baseia-se na medida das massas probabilisticas [Moura-Pires, 1993a]. Quando se pretende recorrer Teoria da Evidncia -se, partida, confrontado com a dificuldade de no existir nesta nenhum conceito equivalente ao de informao mtua. Recorde-se que a informao mtua a diferena entre a entropia a priori e a entropia a posteriori dada por 3.62.

I( Classe; Atributo) = H( Classe) H( Classe Atributo) = H( Classe) + H( Atributo) + H( Classe, Atributo)

(3.62)

Na Teoria da Evidncia, os conceitos equivalentes aos da entropia so os conceitos da confuso (3.63) e dissonncia (3.64).

Conf ( m) =

m( a) log ( Bel( A ) ) Diss( m) = m( a ) log ( Pl( A ) )


A 2 A 2

(3.63) (3.64)

onde Bel(A) e Pl(A) representam respectivamente a crena e a plausibilidade que constituem as medidas de incerteza na teoria de Dempster-Shafer :
Bel( Pi ) =
S Pi

w ( S)
N+ S (3.65) (3.66)

Pl( Pi ) = Bel( Pi ) + m( )
Recorde-se que m(Pi), w(S) e m() foram j definidos no pargrafo 3.2.3.

Por analogia com a informao mtua, dois dos mais simples critrios que correspondem a escolher o atributo que maximiza a diminuio da confuso (3.67) ou da dissonncia (3.68).

max Conf ( C) + Conf A j Conf C, A j


j j j j

( ) ( )) max( Diss( C) + Diss( A ) Diss( C, A ) )


( ) ( ) ( )

(3.67) (3.68)

Um outro critrio, equivalente ao critrio da razo do ganho j definido, ser: Conf ( C) + Conf A Conf C, A j j max j Conf A j (3.69)

De uma forma geral pode dizer-se que aceitvel qualquer outro critrio do tipo:
R = max f Conf ( C) + Conf A j Conf C, A j j

( )

))

(3.70)

Jos Manuel Fonseca

Induo de rvores de Deciso

56

Tcnicas de construo de rvores de deciso

3.3.5. Pesagem do desconhecimento


O surgimento de valores desconhecidos nos vectores do conjunto de treino pode tambm influenciar a escolha da melhor caracterstica. Seja t o conjunto de treino e x um teste qualquer efectuado sobre um atributo A que conhecido numa percentagem f dos valores de t. Seja H(C) e H(C|x) definidos como anteriormente mas em que s so tomados em considerao para o seu clculo os exemplos de t que possuem o valor de A definido. O ganho resultante do teste x pode ser definido como sendo: I(C;x) = f.(H(C)-H(C|x))+(1-f).0 = f.(H(C)-H(C|x)) (3.71)

Como dividir ento os exemplos para os quais o valor do atributo testado desconhecido? Esta aproximao [Quinlan, 1993] atribui a cada exemplo conduzido por um dado ramo um peso que, no caso do valor do atributo testado ser conhecido para esse exemplo 1. Caso contrrio o peso dado ao exemplo o valor da probabilidade desse ramo. Note-se que neste caso, a probabilidade de cada ramo calculada como sendo a soma dos pesos dos exemplos com o valor do atributo conhecido e conduzidos por esse ramo dividido pela soma dos pesos de todos os exemplos com valor conhecido para o atributo testado. O peso de cada exemplo num dado n obviamente o produto de todos os pesos a ele atribudos desde a raiz at esse n. A classificao de um caso para o qual se desconhece o valor do atributo testado efectuada explorando todas as possibilidades e combinando aritmeticamente todas as classificaes da resultantes. A classificao mais provvel ser atribuda ao exemplo em causa.

3.4. Determinao da classe associada folha


Quando se conclui estar na presena de folha da rvore de deciso necessrio determinar qual a classe que dever ficar a ela associada. Duas aproximaes distintas podem ser adoptadas: a atribuio da classe mais provvel que visa a minimizao do erro de classificao ou a atribuio da classe que permite minimizar os custos de classificao.

3.4.1. Atribuio da classe mais provvel


Nesta aproximao ser atribuda folha a classe mais provvel dentro dos exemplos que se encontram nessa folha.

max p j = max
j j

( )

Nj N

com j = 1.. k

(3.72)

Onde: N - nmero total de exemplos na folha Nj - nmero de exemplos da classe j na folha k - nmero de classes
Jos Manuel Fonseca Induo de rvores de Deciso

Tcnicas de construo de rvores de deciso

57

3.4.2. Determinao baseada na noo de custos


Para a determinao de qual a classe a atribuir a cada folha baseados na noo de custos teremos de recordar o conceito de matriz de custos apresentada no pargrafo 2.1. O objectivo ser, neste caso, a minimizao dos custos provenientes da adopo de uma dada classe e no da probabilidade de erro da resultante. Coloca-se ento a questo de qual o custo da adopo de cada classe. Este custo ser dado por:

Custo( k ) = p i C i ,k
i =1

(3.73)

Onde: N - nmero de classes pi - probabilidade da classe i Ci,k - valor da linha i, coluna j da matriz de custos A diferena entre este critrio e o da minimizao da probabilidade de erro pode ser ilustrado com base no exemplo que se segue. Suponha que numa dada folha o nmero de ocorrncias para cada uma das trs classes que compem o problema o seguinte: c1 10 c2 5 c3 2

Tabela 3.6 - Frequncias das trs classes na folha. Deste modo a probabilidade de cada uma das classes : p(c1) 59% p(c2) 29% p(c3) 12%

Tabela 3.8 - Probabilidades das trs classes na folha. Desta forma, a classe mais provvel a classe 1 e seria a escolhida pelo critrio de minimizao do erro. No entanto, considere-se a seguinte matriz de custos: 1 0 2 1 2 1 0 0.5 3 3 3 0

1 2 3

Tabela 3.10 - Matriz de custos do problema. Com base na matriz de custos anterior o custo proveniente da adopo de cada uma das classes : C(c1) 0.70 C(c2) 0.64 C(c3) 2.65

Tabela 3.12 - Custos associados a cada uma das classes. Tendo como objectivo a minimizao de custos seria escolhida a classe 2 para a folha.

Jos Manuel Fonseca

Induo de rvores de Deciso

58

Tcnicas de construo de rvores de deciso

3.5. Aplicao de janelas sobre o conjunto de treino


Motivado pela falta de memria dos sistemas disponveis para a execuo dos exemplos de maiores dimenses durante os primeiros tempos do desenvolvimento de algoritmos de induo, Quinlan em [Quinlan, 1986] introduziu o conceito de janela sobre o conjunto de treino que viria a revelar-se interessante mesmo nos nossos dias onde a quantidade de memria necessria no , em princpio, um factor primordial.

3.5.1. Janela aleatria


Apresentado em [Quinlan, 1986], este foi o primeiro algoritmo de janela sobre o conjunto de treino. Com vista a diminuir o volume de dados a processar, o treino do classificador inicia-se com base num conjunto de treino constitudo por apenas uma fraco do conjunto de treino inicial escolhida de forma aleatria. Depois de calculado desta forma um classificador, este usado para classificar todos os exemplos que no foram usados para o treino. Se todos esses exemplos forem correctamente classificados a rvore assim gerada aceite. Seno, alguns dos exemplos incorrectamente classificados so adicionados ao subconjunto inicial e o processo repetido at que o classificador consiga contemplar correctamente todos os exemplos. A dimenso do conjunto de partida e o nmero de exemplos adicionados ao conjunto de treino em cada passo no so definidos pelo algoritmo sendo parmetros a definir em funo do problema especfico. de notar que, em casos extremos este processo pode levar incluso de todo o conjunto de treino inicial no conjunto de treino efectivo. No entanto, muitas vezes possvel, usando este mtodo, encontrar rvores de menores dimenses e com um esforo de clculo menor comparativamente s calculadas sem qualquer janela.

3.5.2. Janela de distribuio normalizada


No seu mais recente trabalho [Quinlan, 1993], Quinlan volta a apresentar o conceito de janela sobre o conjunto de treino mas com alguns melhoramentos sobre a verso inicial. Em lugar do subconjunto de treino inicial ser escolhido de forma completamente aleatria, ele agora encontrado aleatoriamente mas de modo a ser obtida uma distribuio de classes to uniforme quanto possvel. Por outro lado em lugar de em cada iterao, se juntar ao conjunto de treino um nmero fixo de exemplos, so agora adicionados, pelo menos, metade dos exemplos incorrectamente classificados. Consegue-se desta forma uma mais rpida convergncia do algoritmo. Finalmente, e prevendo a possibilidade de existncia de rudo no conjunto de treino, a construo do classificador pode agora ser dada por finda mesmo antes de se conseguir uma eficcia de 100% na classificao caso no se notem melhorias sensveis com a adio de novos exemplos.

Jos Manuel Fonseca

Induo de rvores de Deciso

CAPTULO 4
Limitao na dimenso das rvores de deciso
Uma das operaes mais importantes para o desempenho das rvores de deciso na classificao a limitao das suas dimenses de acordo com o verdadeiro conhecimento inferido do conjunto de treino. A construo passo-a-passo, tendo como objectivo apenas a diminuio do erro estimado prolongando o desenvolvimento da rvore at que s uma classe esteja presente ou at que j no existam mais atributos a testar conduz em geral, a rvores demasiado extensas, ou seja, pormenorizadas para alm daquilo a que a informao disponvel aconselharia. Desta forma, obtm-se uma estimao de erro aparente demasiado optimista ao mesmo tempo que se produzem rvores cujo desempenho real est longe do ideal. Pode intuitivamente afirmar-se que uma rvore demasiado extensa ser pouco eficiente em termos de classificao, pois dando demasiada importncia a casos particulares surgidos no conjunto de treino, prejudica a inferncia da verdadeira estrutura do problema. Por outro lado, tambm evidente que uma rvore demasiado simplista ter tendncia a desprezar informao importante acerca do fenmeno sob considerao. Teremos portanto de encontrar um ponto de equilbrio onde se encontra, em princpio, o mximo de desempenho possvel. Um exemplo interessante e elucidativo da construo sobre-dimensionada de rvores de deciso transcrito de Quinlan [1993] seguidamente apresentado. Considere-se um problema com duas classes de probabilidades 25% e 75% respectivamente. Uma vez criado um conjunto de 1000 amostras com 10 medidas de valores completamente aleatrios e incorrelatos com qualquer das duas classes, este conjunto foi partido em dois subconjuntos de 500 amostras que foram utilizados separadamente para a construo e para o teste do classificador. Verificou-se ento que o classificador baseado na tcnica C4.5 (que ser apresentada em captulos posteriores) produziu uma rvore com 119 ns que apresentava um erro de classificao superior a

Jos Manuel Fonseca

59

Induo de rvores de Deciso

60

Limitao na dimenso das rvores de deciso

35%. Como bvio, a simples atribuio da classe mais provvel levaria obteno de um erro de apenas 25%. Este valor de erro pode ser facilmente justificado teoricamente. Suponha que possui duas classes com probabilidades respectivamente p e 1-p com p>0.5. Se o classificador atribuir aleatoriamente a cada amostra a classe um ou dois de acordo com a sua probabilidade de ocorrncia o erro ser: p(1-p)+(1-p)p = 2p(1-p) (4.1)

o que, dado que p>0.5 ser superior a (1-p) que seria o erro do classificador que simplesmente atribusse a todas as amostras a classe mais provvel. Para o caso prtico apresentado no pargrafo anterior, teramos 2*0.75(1-0.75)=0.375 o que confirma os resultados prticos obtidos por Quinlan. A ttulo de exemplo mostra-se seguidamente um grfico obtido a partir de [Breiman, 84 pgina 60] que nos d uma ideia da evoluo do erro de classificao aparente e do erro real em funo da dimenso da rvore de classificao (erro real calculado com base nos resultados de classificao dum conjunto de teste independente).
100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 71 63 58 40 34 19 10 9 7 6 5 2 1 Nmero de ns termina is Erro estim a d o Erro rea l

Figura 4.1 - Evoluo do erro aparente e do erro real em funo do nmero de ns da rvore de deciso. Note-se o mnimo existente para o erro real quando a rvore possui dez ns tal como o facto do erro estimado crescer sempre medida que o nmero de ns vai sendo reduzido. De forma a contornar o problema do crescimento exagerado das rvores de deciso, duas aproximaes distintas podem ser adoptadas. A primeira aproximao tem como objectivo a paragem na construo da rvore logo que se considere ter sido atingido um nvel de pormenor apropriado. A segunda adopta uma estratgia literalmente diferente sendo um processo a posteriori que visa, depois de desenvolvida a rvore ao seu mximo pormenor, reduzi-la s suas dimenses ptimas.

4.1. Mtodos de limitao durante a construo


Uma das hipteses de limitar a dimenso das rvores de deciso a interrupo do seu desenvolvimento em face de uma determinada condio. A grande vantagem deste tipo de mtodos, Jos Manuel Fonseca Induo de rvores de Deciso

Limitao na dimenso das rvores de deciso

61

em contraste com os mtodos de poda, consiste no facto de se evitar a construo de um estrutura que vir mais tarde a ser destruda pela poda. O critrio de paragem pode ser diverso tendo como caracterstica comum o facto de se considerar estar na presena de uma folha mesmo quando o conjunto de exemplos sob considerao no pertencem apenas a uma classe.

4.1.1. Paragem baseada na informao mtua


Um dos critrios de paragem que podem ser utilizados baseia-se na informao mtua. Segundo este critrio, se o ganho de informao obtido com o "melhor" atributo for inferior a um determinado o n em causa considerado ser uma folha e o desenvolvimento pra.

I( C; A ) = H( C) H( C| A ) <

(4.2)

O valor de um parmetro que dever ser ajustado de modo a que seja obtida uma rvore de dimenses aceitveis.

4.1.2. Paragem baseada no teste de independncia estatstica ou teste do qui-quadrado


Um teste muito utilizado o proposto por Quinlan [1986] baseado no teste 2 (qui-quadrado). Considere a existncia de um conjunto de treino t e de uma caracterstica A que possibilite a partio {t1, t2, ..., tn}. Sejam p e n as frequncias das classes P e N no conjunto de treino e pi e ni as frequncias observadas na partio ti. As frequncias esperadas pi e ni so dadas por:
pi + ni p i = p. p+n n = n. p i + n i i p+n

(4.3)

O valor aproximado do 2 com n-1 graus de liberdade dado pela equao:

i =1

( p i pi ) 2 pi

( n i n i ) 2 ni

(4.4)

Este valor pode ser usado para a determinao da confiana com que se rejeita a hiptese da caracterstica A ser independente da classe de objectos em t.

Jos Manuel Fonseca

Induo de rvores de Deciso

62

Limitao na dimenso das rvores de deciso

4.1.3. Paragem baseada na regra de entropia delta


Proposto por Goodman e Smyth [1988] consiste num teste que determina que sempre que se verificarem as condies expressas em (4.5) considerado estar-se na presena de um n no sendo interrompido o desenvolvimento da rvore.

H (C ) H (C) e p max 0. 5

(4.5)

Nesta expresso, pmax representa a probabilidade da classe mais representativa, C a varivel aleatria que representa as classes, C a distribuio normalizada das classes uma vez retirada a classe mais provvel (pmax) e H(X) a funo de entropia normalizada ao seu valor mximo, isto , dividida pelo logaritmo na base 2 do nmero de elementos de X com probabilidade no nula.

4.2. Tcnicas de poda


As tcnicas de poda sero alvo de desenvolvimento nos prximos pargrafos. O princpio bsico de um algoritmo de poda o seguinte: supondo possvel o clculo do erro de uma rvore e de todas as suas subrvores examine cada um dos ns no folha de uma rvore comeando por baixo, ou seja, pelos ns mais prximos das folhas. Se a sua substituio por uma folha ou pelo seu ramo mais utilizado conduzir a um menor erro, substitua.

A3 371 A1 10 A2 5 A3 350 A4 6 Nmero de exemplos classificados por cada rvore

Substituio de um n por uma folha

Substituio de um n pelo seu ramo mais utilizado

Figura 4.2 - Exemplos de remoo de ns. Dado que o erro da rvore global decresce sempre que o erro de qualquer das suas subrvores decresce, este processo conduzir-nos- a uma rvore para a qual o erro mnimo com respeito a todas as formas de poda possveis. A forma adoptada para a estimao do erro depende essencialmente da dimenso do conjunto de treino disponvel. Se o volume de informao disponvel for grande, o mtodo mais aconselhvel ser o uso de um conjunto de teste independente devido sua simplicidade e eficincia. Se a informao disponvel for em nmero limitado a validao cruzada ser o mtodo mais aconselhado. Como claro, a utilizao da estimao por resubstituio no aqui possvel pois esta apenas pode aumentar com a poda da rvore.

Jos Manuel Fonseca

Induo de rvores de Deciso

Limitao na dimenso das rvores de deciso

63

Uma outra aproximao a pesagem da complexidade da rvore em conjunto com o erro de classificao. Tendo em conta estes dois parmetros, possvel obter um compromisso entre a dimenso e o desempenho permitindo obter um soluo mais equilibrada. A combinao das tcnicas de poda com uma correcta estimao de erro parecem constituir o mais promissor mtodo de construo de rvores de deciso para a classificao.

4.2.1. Poda pelo algoritmo Laplaciano


Este mtodo, apresentado em [Christie, 1993], bastante simples e eficiente, permitindo melhorar o desempenho obtido pelo ID3 em cerca de 5%. Este algoritmo pode resumir-se da seguinte forma: 1 passo - gerar a rvore completa guardando para cada n o erro tal como definido pela expresso (3.60). 2 passo - visitar todos os ns no folha da rvore desenvolvida no 1 passo de modo a observar sempre primeiro os descendentes de cada n e, para cada um deles, calcular o erro E segundo a expresso (4.6). Se En>En substituir o n por uma folha com o erro En, seno, substituir o erro En por En. En = Onde: Ni - Nmero de exemplos abrangidos pelo i-simo descendente. Ei - Erro no n i-simo descendente. k - nmero de descendentes do n n. Adoptando a sugesto dada em (3.61) a equao anterior viria: En = 1 N+k 1 N

N E
i =1 i

(4.6)

( N
i =1

+ 1) E i

(4.7)

4.2.2. Poda por minimizao do custo-complexidade


A tcnica de poda por minimizao do custo-complexidade baseia-se nos seguintes passos: 1 passo - Criar uma rvore inicial to grande quanto o necessrio de modo a produzir um valor de erro estimado suficientemente baixo. 2 passo - Podar sucessivamente a rvore criando um conjunto de rvores de menores dimenses.

Jos Manuel Fonseca

Induo de rvores de Deciso

64

Limitao na dimenso das rvores de deciso 3 passo - Utilizar uma estimao de erro "honesta" de modo a seleccionar a melhor das

rvores criadas no ponto anterior. Colocam-se ento duas questes fundamentais: como efectuar a poda de modo a criar a sucesso de rvores de menores dimenses ? Como estimar de uma forma "honesta" o erro de cada uma dessas rvores ? Vejamos passo por passo como efectuar as vrias fases do algoritmo.
1 passo - criao da rvore inicial

O primeiro passo a construo de uma rvore de classificao to grande quanto necessrio - Tmax de modo a que se proceda de seguida sua reduo. Esta rvore inicial dever ser to grande quanto possvel sendo normalmente limitada apenas pelo volume de processamento e armazenamento envolvidos. A dimenso desta rvore inicial no no entanto crtica, desde que suficientemente grande.
2 passo - Criar uma sucesso de rvores de classificao por reduo da rvore inicial.

interessante observar o enorme nmero de subrvores que possvel obter por reduo mesmo a partir de rvores de pequenas dimenses. De modo a tornar o processo computacionalmente suportvel, ento necessrio fazer a poda de uma forma criteriosa evitando a gerao de um nmero demasiado elevado de subrvores seleccionando partida a "melhor" rvore de cada dimenso. Este processo implica a adopo de um critrio de comparao entre rvores de iguais dimenses considerando para tal o nmero de ns terminais. Embora o erro estimado por resubstituio seja, como j vimos, um valor de significado relativamente pobre surge como a forma mais natural de comparar entre si rvores de iguais dimenses. A ideia da poda por minimizao do custo-complexidade fundamentalmente fazer reflectir no processo de reduo da rvore simultaneamente o critrio de complexidade e o critrio de custo (ou simplesmente erro para o caso de custos unitrios). Seja o erro aparente num determinado n com um conjunto de treino t dado por: r () = 1 max p( j| t ) j A contribuio de cada n para o erro aparente total ser portanto:
R () = p () * r ()

(4.8)

(4.9)

~ Como evidente, sendo T o conjunto dos ns terminais de uma qualquer rvore T, o seu erro aparente

total, pode ser calculado com sendo: R ( T) =


~ T

R()

(4.10)

Jos Manuel Fonseca

Induo de rvores de Deciso

Limitao na dimenso das rvores de deciso Assim, define-se o valor de custo-complexidade de uma rvore T o valor dado pela expresso: ~ R ( T) = R ( T) + T (4.11) Onde: R(T) - erro aparente da rvore T ~ T - nmero de ns terminais da rvore - constante 0 a que se d o nome de factor de complexidade.

65

Consegue-se assim obter uma combinao linear entre o custo da rvore e a sua complexidade. O objectivo deste tipo de poda ser ento encontrar a rvore que minimiza o valor de R fazendo variar valor de desde 0 at que se esteja na presena de uma rvore com apenas um n. Repare-se que, se =0 e dado que o valor mnimo de R(T) se verifica para a maior rvore possvel, ser escolhida a rvore inicial Tmax. Por outro lado, para valores de muito altos, o factor complexidade ser sobrevalorizado levando a que seja seleccionada uma rvore que no limite ser constituda apenas pelo primeiro n. Vejamos ento como gerar a sequncia de rvores das quais se escolher a mais apropriada. Denotam-se por l e r os descendentes esquerdo e direito de um n . Comeando com 1=0 teremos R ( T) = R ( Tmax ) . Verifica-se para qualquer rvore :

R() R(l ) + R(r )

(4.12)

Para encontrar a primeira rvore T1 visitar todos os ns de Tmax e se R() = R(l ) + R(r ) eliminar l e r. Este primeiro passo constitui um pr-processamento que se destina a eliminar todos os ns inteis de forma a criar uma primeira rvore a partir da qual iniciar a verdadeira sequncia de reduo. O processo de reduo efectua-se da seguinte forma. Seja {} o n que resulta da eliminao do ramo % e que R ({}) = R ({}) + (note-se Tt. Para todos os ramos da rvore dado que R ( Tt ) = R ( Tt ) + T t {t}. Coloca-se ento a questo de qual o valor de para o qual teremos R ( Tt ) = R ( {}) . Para o ~ sabermos teremos de resolver a equao R ( Tt ) + Tt = R ({}) + de onde, resolvendo em ordem a teremos: que {} = 1), enquanto se verificar R ( Tt ) < R ( {}) significa que Tt constitue melhor soluo que

R ({}) R (Tt ) ~ Tt 1

(4.13)

interessante olhar para a expresso 4.13 na perspectiva de que ela nos d a variao do erro por n terminal eliminado, ou seja:

R( T) ~ T

(4.14)

Embora a equao 4.12 esteja limitada a ns com dois descendentes a sua generalizao bvia: R ()

R( )
i =1 i

(4.15)

Jos Manuel Fonseca

Induo de rvores de Deciso

66 Onde: N - nmero de descendentes do n .

Limitao na dimenso das rvores de deciso

Dever-se- ento escolher o chamado elo mais fraco, ou seja, o ramo que contem um valor de mais baixo. Este valor de portanto o valor para o qual ter de se efectuar a primeira reduo na rvore T1 para o que se reduz de Tt. O processo ento repetido tendo como ponto de partida o valor de encontrado nesta interaco e a rvore que resulta da rvore inicial depois de retirado Tt. Este processo ser repetido at que se encontre uma rvore contendo apenas um n findo o qual, teremos uma sequncia de rvores e respectivos valores de tais que:

T1 f T2 f... f {}

1 < 2 <... < n

Vejamos como funciona este algoritmo para um exemplo concreto. Apresenta-se seguidamente a sequncia de reduo criada pelo algoritmo CART que utiliza este tipo de poda para o problema Heart que ser apresentado nos prximos captulos. Este problema consiste na distino de duas classes de doentes tendo o conjunto de treino um total de 270 exemplos com 13 atributos, 6 deles discretos ordenados e 7 contnuos, 150 representando a classe 1 e 120 a classe 2. Para a ilustrao deste exemplo todos os atributos foram tratados como contnuos. A rvore inicial gerada para este exemplo a mostrada na figura 4.3. Note-se que esta a rvore que resulta do pr-processamento referido anteriormente e que visa a eliminao dos ns redundantes.

Jos Manuel Fonseca

Induo de rvores de Deciso

Limitao na dimenso das rvores de deciso

67

150 120 119 1 33 2 91 10 89 7 69 2 1 13 0 1 4 20 5 1 7 1 1 5 7 5 1 1 6 0 4 2 0 1 2 1 3 2 3 2 23 2 25 6 1 9 23 1 1 1 8 2 4 2 28 23 1 7 3 17 2

1 1 31 87 25 28 20 9 1 12 15 2 1 6 2 1 5 1 5 5 1 2 15 0 4 2 11 5 19 2 14 0 14 2 2 2 1 1 1 0 2 10 6 59 2 16 4 58 1 2 17 3 58

5 7 4 1 1

2 13

Classe atribuda ao n Nmero de exemplos da classe 1 Nmero de exemplos da classe 2

Figura 4.3 - 1 rvore da sequncia de reduo para o problema Heart. interessante observar a sequncia de reduo efectuada por este algoritmo a partir da rvore apresentada na figura anterior. Repare que os valores nela apresentados so suficientes para que se efectuem todos os clculos necessrios ao preenchimento da tabela que se segue e que permite obter todas as rvores que constituem o processo de reduo completo. Note ainda que em cada rvore so apresentados alguns valores de a carregado sendo esses os valores mais baixos correspondendo portanto aos ns a eliminar nesse passo ou a ns que so removidos por remoo de um seu antecessor.

Jos Manuel Fonseca

Induo de rvores de Deciso

68
N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 rvore 0.021786 0.010185 0.004630 0.004938 0.007407 0.014815 0.020988 0.005556 0.003704 0.010185 0.014815 0.009259 0.011111 0.007407 0.014815 0.003704 0.003704 0.012346 0.014815 0.009259 0.011111 0.007407 0.014815 0.012346 0.014815 0.009259 0.011111 0.007407 0.014815 2 rvore 0.025661 0.011111 0.004630 0.004938 0.007407 0.014815 0.029630 0.007407 0.029630 0.007407 3 rvore 0.034074 0.019753

Limitao na dimenso das rvores de deciso


4 rvore 0.045503 0.025926 5 rvore 0.060000 0.025926 6 rvore 0.086420 0.025926 7 rvore 0.207407

0.051852

0.051852

0.051852

0.014815 0.019753 0.009259 0.011111

0.020370 0.040741

Tabela 4.1 - Valores de para a sequncia de reduo do problema Heart.

A partir da tabela 4.1 podemos facilmente formar a seguinte sequncia de rvores:

Jos Manuel Fonseca

Induo de rvores de Deciso

Limitao na dimenso das rvores de deciso

69

10

3 4 5 6 9 8

11

16 17

12 13 15

14

1 rvore

10

3 4 5 6 8

11

12 13 15

14

2 rvore

1
10

10

7 8

11

7
14 15

11

12 13

12 13

3 rvore

4 rvore

1
1

10
2

11
7

5 rvore

6 rvore

7 rvore

8 rvore

Figura 4.4 - Sequncia de reduo para o problema Heart. Alguns comentrios podem ser efectuados em relao forma como este processo de reduo efectuado. interessante notar o facto de, por exemplo na 2 rvore, o n 6 apresentar um valor de bastante elevado e ser podado de imediato. Este facto deve-se contribuio extremamente positiva do
Jos Manuel Fonseca Induo de rvores de Deciso

70

Limitao na dimenso das rvores de deciso

n 4 que, mesmo tendo em conta os valores bastante maus do n 6 torna o n 3 o mais favorvel reduo implicando portanto a eliminao de todos os seus descendentes. Ser ainda curioso observar que ser neste caso seleccionada (usando validao cruzada, mtodo que ser apresentado no prximo pargrafo) a 6 rvore por ser aquela que apresenta um menor valor de erro estimado. Embora neste caso, dada a sua simplicidade, apenas sejam geradas 8 rvores, no raro serem internamente geradas dezenas ou mesmo centenas de rvores para de entre elas ser encontrada a rvore ptima.
3 passo - Escolha da melhor rvore.

Depois de calculada a sequncia de rvores coloca-se o problema da escolha de qual adoptar para o classificador final. Para este efeito necessitamos de uma estimativa "honesta" do erro de cada uma delas de modo a podermos optar de forma acertada por aquela que apresentar melhores capacidades de classificao. Duas hipteses se colocam: estimao por utilizao de um conjunto de exemplos independente ou validao por camadas.
Estimao por utilizao de um conjunto de exemplos independente

Esta tcnica prev a utilizao de um conjunto de exemplos apenas para a estimao do erro do classificador resultante. Assim, a gerao da rvore inicial dever ser efectuada com base no conjunto de treino inicial ao qual retirado o conjunto de exemplos utilizado para a estimao de qualidade das vrias rvores. Depois de calculada a sequncia de rvores por redues sucessivas todos os exemplos do conjunto de teste so utilizados para medir o erro obtido por cada uma delas na sua classificao. Esse erro, que ser a percentagem de exemplos mal classificados por cada uma das rvores, ditar a eleita como prefervel, sendo para tal, escolhida a que apresentar um valor de erro mais baixo. Esta tcnica tem a principal desvantagem de reduzir a dimenso do conjunto de treino pois alguns dos exemplos so utilizados apenas para a estimao da qualidade do classificador sendo utilizada apenas quando os conjuntos de treino apresentam grandes dimenses. A tcnica de validao cruzada portanto prefervel na maioria das situaes embora seja computacionalmente muito mais complexa.
Estimao por validao cruzada

Nesta tcnica, inicialmente gerada uma rvore utilizando todo o conjunto de treino inicial e calculada a sua sequncia de redues. Depois disso o conjunto de treino dividido em V subconjuntos (tipicamente 10) e para cada um dos V subconjuntos gerada uma rvore utilizando para o seu treino todo o restante conjunto de treino e calculada a respectiva sequncia de redues. Teremos portanto V sequncias de redues de rvores e V conjuntos independentes que podem ser utilizados para a sua estimao segundo a tcnica de utilizao de um conjunto de teste independente.

Jos Manuel Fonseca

Induo de rvores de Deciso

Limitao na dimenso das rvores de deciso

71

Seja T ( v ) ( ) para v=1..V a rvore de menor valor de custo-complexidade para cada . Utilizando o subconjunto do conjunto de treino inicial que no foi considerado para o seu desenvolvimento, seja v) ( v) N( ( ) . i , j o nmero de exemplos da classe j classificados erroneamente na classe i pela rvore T Assim, o valor de N i , j , ou seja, o nmero total de exemplos da classe j mal classificados por todas as rvores de complexidade dado por N i , j = validao cruzada ser:

N
i, j

( v) i, j

. Assim sendo, a probabilidade de erro por

R CV ( T( ) ) =

1 N

N
i j

i, j

(4.16)

Temos assim uma forma de clculo do erro para uma rvore de complexidade . Note-se que, as rvores construdas com base no conjunto de treino inicial so idnticas a Tk para valores de tais que k < k +1 . Seja ento k = k . k +1 , ou seja, o centro geomtrico entre k e k+1. O erro de validao cruzada da k-sima rvore da sequncia de redues efectuada sobre a rvore produzida com base no conjunto de treino global ser dado por:

R CV ( Tk ) = R CV T( k )

(4.17)

Ser portanto escolhida a rvore que permita minimizar o valor do erro assim calculado podendo utilizar-se esse valor como estimativa de erro para o classificador final. A rvore escolhida para o classificador final utilizando validao cruzada no caso do problema anterior seria a 6 da sequncia de reduo que se apresenta na figura seguinte.

31 87 91 10 1 25 6 1 3 17 2

Figura 4.5 - rvore considerada ideal para o problema Heart. interessante salientar que a rvore escolhida pelo algoritmo CART na presente implementao no aquela que apresenta directamente um menor erro. Dado que a estimao do erro efectuada por validao cruzada, o CART tem em considerao que a prpria estimao contem erro. Assim sendo, para alm de ser encontrada a mdia dos erros obtidos pelas vrias rvores geradas tambm calculado o valor da sua varincia. Deste modo, a rvore escolhida a que tiver menores dimenses de entre aquelas cujo erro mdio se encontrar dentro dos intervalos de incerteza da rvore de menor erro mdio.

Jos Manuel Fonseca

Induo de rvores de Deciso

72

Limitao na dimenso das rvores de deciso

4.2.3. Poda baseada no erro


Apresentado em Quinlan [1993], o algoritmo de poda baseada no erro visa contornar o problema da utilizao de um conjunto independente de exemplos para esse efeito. Utilizar o prprio conjunto de treino para efectuar a poda da rvore tem a vantagem de no obrigar reduo do mesmo por separao, em conjunto de treino e conjunto de teste. Num dado n que classifique N casos do conjunto de treino, k deles incorrectamente, o erro aparente ser k/N. Podemos olhar para estes nmeros como representando uma experincia com k eventos em N experincias1. Se optarmos por esta perspectiva podemos questionar-nos sobre qual o significado destes valores em relao ao fenmeno que estamos a tratar. Embora a partir destes dados no seja possvel calcular a probabilidade de ocorrncia do evento (ou seja, a probabilidade de erro) de uma forma exacta possue ela prpria uma distribuio de probabilidades a posteriori que normalmente representada por um par de limites de confiana. Para um dado factor de confiana , o limite superior desta probabilidade pode ser encontrado a partir dos limites de confiana da distribuio binomial. Estes limites inferior e superior que se denotam respectivamente por pi e ps representam os valores de probabilidade que permitem dizer que a probabilidade real de um acontecimento (que ocorreu k vezes em N experincias) estar fora do intervalo definido por estes valores de 1-.
0.12 0.1 0.08 0.06 0.04 0.02 0

=0.125

12.5% p
i

75% p
s

12.5%

Figura 4.6 - Limites inferior e superior da distribuio binomial. Estes limites inferior e superior podem ser calculados segundo [Geigy, 1978] com base na distribuio binomial dada por (4.18), de uma forma aproximada, pela expresso (4.20).
N Nx p( N , x) = p x ( 1 p) x

(4.18) (4.19)

p p i < p < p s x = k , N = 1 2 ; < 0.5

1Esta

perspectiva estatisticamente pouco correcta mas permite obter bons resultado prticos.

Jos Manuel Fonseca

Induo de rvores de Deciso

Limitao na dimenso das rvores de deciso


xm 1 2 + c2 x x m 0.5 c 2 + m c m 1 2 2 N 4 N + c2

73

pi , ps =

(4.20)

O valor de c em (4.20) uma constante que depende do valor de . Para =0.125 que constitue um valor tpico, teremos segundo a tabela da pagina 28 de [Geigy, 1978] um valor de c=1.1503. Vejamos qual o resultado que daria a aplicao deste algoritmo de poda rvore inicial da sequncia de reduo para o problema Heart apresentada no pargrafo anterior.

Jos Manuel Fonseca

Induo de rvores de Deciso

74

Limitao na dimenso das rvores de deciso

270 120 119 33 101 10 96 7 71 2 1 1 13 0 1 2 8 1 1 3 1 19 25 5 1 20 12 5 1 21 4 0 2 4 1 0 2 6 1 22 5 3 2 5 25 2 1 24 24 1 1 7 31 6 1 25 6 4 2 8 5 1 1 10 1 23 51 23 1 26 20 3 2 9 12 7 2 27

1 35 118 31 53 25 29 9 1 28 17 2 7 1 2 11 1 12 6 1 1 13 10 5 2 30 4 0 2 14 2 29 24 5 2 31 14 0 2 15 3 1 1 16 1 0 1 17 2 32 65 6 2 33 62 4 2 34 61 3 2 18

Nmero do n Classe atribuda ao n

Nmero de exemplos classificados pelo n Nmero de exemplos classificados incorrectamente

Figura 4.7 - rvore inicial do problema Heart. Junto de cada n so apresentados do lado esquerdo em cima o nmero de exemplos classificados por esse n e do lado esquerdo em baixo o nmero de exemplos incorrectamente classificados. Por baixo de cada n surge o seu nmero de referncia e dentro de cada um deles a classe que minimiza o erro aparente, ou seja, a classe mais provvel. Com base nestes valores possvel calcular o limite superior do erro para cada n que se apresenta na tabela 4.3. Sempre que o valor do erro por si s seja inferior soma do erro dos seus descendentes o n podado, sendo substitudo por uma folha cuja classificao ser a da classe mais provvel. Como evidente, este clculo dever ser efectuado de baixo para cima, visitando sempre em primeiro lugar os descendentes de cada n. Seguindo este processo, sero podados na rvore da figura 4.7 os ns 19, 20, 21 e 22 resultando na rvore da figura 4.8. Repare-se que esta rvore possue 14 folhas sendo de dimenses substancialmente superiores quela produzida pelo algoritmo anterior que possua apenas 4 folhas (figura 4.5). Esta tendncia do algoritmo de poda por custo/complexidade para a gerao de rvores de menores dimenses pode ser confirmada pelos valores das experincias efectuadas, apresentados no captulo 6 desta tese.

270 120 119 33 101 10 1 31 6 25 2 1 0 2 6 1 24 24 1 1 23 51 23 1 25 6 4 1 7 2 8 5 1 1 10 1 26 20 3 2 9 12 7 2 27

1 35 118 31 53 25 29 9 1 28 17 2 7 1 2 11 1 12 6 1 1 13 10 5 2 30 4 0 2 14 2 29 24 5 2 31 14 0 3 1 2 15 1 16 1 0 1 17 2 32 65 6 2 33 62 4 2 34 61 3 2 18

Figura 4.8 - rvore resultante do algoritmo de poda baseado no erro.


Jos Manuel Fonseca Induo de rvores de Deciso

Limitao na dimenso das rvores de deciso

75

N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

E 2 0 1 0 2 0 1 2 3 1 1 2 1 0 0 1 0 3 7 5 5 10 33 2 6 23 7 9 25 5 5 31 6 4 120

N 71 13 8 4 5 1 24 6 20 5 7 17 6 4 14 3 1 61 96 25 12 101 152 25 31 51 12 29 53 10 24 118 65 62 270

ps (=0.125) 0.062 0.127 0.338 0.342 0.666 0.785 0.126 0.582 0.263 0.492 0.377 0.241 0.427 0.342 0.119 0.703 0.785 0.091 0.106 0.300 0.575 0.134 0.250 0.169 0.280 0.518 0.723 0.405 0.537 0.667 0.312 0.302 0.138 0.108 0.471

Erro do n (podado) 4.389 1.655 2.702 1.370 3.329 0.785 3.023 3.491 5.255 2.460 2.641 4.094 2.563 1.370 1.666 2.108 0.785 5.560 10.191 7.502 6.895 13.508 38.009 4.215 8.682 26.416 8.679 11.734 28.454 6.667 7.478 35.695 8.981 6.719 127.201

Erro se no podado 11.164 6.774 4.072 13.520 26.062 3.808 7.300 12.554 5.101 9.195 14.794 3.933 5.599 23.247 8.454 6.345 49.309

Podado

Podado

Tabela 4.2 - Valores do limite superior do erro de classificao para cada n da rvore da figura 4.7.

4.2.4. Poda segundo Guo e Gelfand


apresentado em [Guo, 1992], um mtodo de poda distinto dos anteriores e que segundo os autores apresenta algumas vantagens em relao poda por minimizao do custo-complexidade. Este mtodo garante o clculo de uma rvore podada de uma forma ptima, ou seja, com o menor erro estimado possvel (utilizando uma estimao "honesta").

Jos Manuel Fonseca

Induo de rvores de Deciso

76

Limitao na dimenso das rvores de deciso

$ uma estimativa honesta do Seja T={t1,...,tp} com t1,<...< tp a rvore inicial2, T* a rvore podada e R

erro (preferencialmente calculada com base num conjunto de teste independente). Dado que o algoritmo produz a rvore como menor erro de entre todas as subrvores possveis, podemos dizer que:

$ ( T *) = min R $ ( S) R
S T

(4.21)

O algoritmo pode ser sumarizado como se segue:


Q( t ) { $ se Folha(t) ento Q( t) = R(t) seno $ Q(left(t)) + Q(right(t)) ento { se R(t) Poda(t), $ Q(t) = R(t) } seno Q(t) = Q(left(t)) + Q(right(t)) } Onde: Folha(t) - funo que devolve verdadeiro quando o parmetro se trata de uma folha e falso quando de um n. $ (t) - erro estimado para a subrvore t baseado num conjunto de teste independente tendo em R considerao os casos que lhe dizem respeito. Poda(t) - procedimento que elimina os descendentes do n t. Este algoritmo, sendo simples e eficiente, tem no entanto a desvantagem de exigir a existncia de uma estimao "honesta", o que implica a existncia de um conjunto de teste independente, reduzindo para tal a dimenso do conjunto de treino original. Especialmente em problemas onde a dimenso do conjunto de treino seja limitada, este pormenor pode ter um importncia decisiva. Por outro lado, apenas o factor erro tomado em conta, no sendo pesado de alguma forma o factor complexidade.

t1<t2 significa, neste contexto, que t1 no um ascendente de t2.

Jos Manuel Fonseca

Induo de rvores de Deciso

CAPTULO 5
Descrio do trabalho efectuado
Faz-se neste captulo uma apresentao do trabalho efectuado ao longo desta tese, bem como de todo o percurso que lhe viria a dar origem. Sendo efectuada inicialmente uma retrospectiva da evoluo nos objectivos do autor em funo dos resultados obtidos e dos ambientes em que se integrou, ento apresentado o algoritmo desenvolvido especificamente para este trabalho, culminando-se com a apresentao do software desenhado ao qual foi atribudo o nome de HistClass - HISTogram based CLASSifier.

5.1. Percurso da investigao


O trabalho que est na base desta tese iniciou-se em 1990. Integrado ento na equipa de desenvolvimento de um sistema de monitorao para mquinas de ferramentas, o autor viria a ser convidado a integrar a equipa do projecto europeu da linha MAST1, SNECOW - Ship Noise Evaluation in COastal Waters - que dava nessa poca os primeiros passos. Dentro deste projecto foi ento decidido efectuar-se o estudo de sistemas capazes do reconhecimento da assinatura de navios atravs dos rudos captados por sonares passivos sua passagem. Para este fim e utilizando o pr-processamento j desenvolvido pelo autor para a monitorao das mquinas de ferramentas [Fonseca, 1990], o sinal depois de filtrado por um filtro analgico para eliminao de possveis efeitos de sobreposio de banda e digitalizado por um conversor analgico/digital adequado, era ento sujeito aplicao de uma transformada rpida de Fourier [Thrane, 1979] que o traduz no domnio da frequncia. Estas transformadas, efectuadas com uma dimenso de 1024 pontos produziam dois conjuntos de 512 pontos reflectindo os valores de amplitude e de fase das vrias componentes de frequncia sendo considerados no processamento efectuado apenas os valores de amplitude. A tarefa que se pretendia executar era ento a identificao da categoria a que pertencia cada conjunto de vectores assim obtidos, de entre de um conjunto de classes possveis. No

1MArine

Science and Technology 75 Induo de rvores de Deciso

Jos Manuel Fonseca

76

Descrio do trabalho efectuado

caso destas primeiras experincias, foram efectuados testes com 6 e com 12 classes de navios para avaliao da robustez do algoritmo utilizado [Fonseca, 1991a, 1991b]. Depois de algumas experincias efectuadas com base em algoritmos bastante simplistas, foi decidido utilizar para a classificao dos vectores resultantes das transformadas de Fourier, o algoritmo de induo de rvores de deciso proposto por Fernando Moura Pires em [Moura-Pires, 1991]. Este algoritmo, que representa uma evoluo do ID3 de Quinlan para problemas envolvendo atributos contnuos adoptando uma abordagem baseada na teoria da informao foi j descrito no pargrafo 3.1.2.2. Com esta soluo, conseguiram-se resultados que permitiam cerca de 70% de xito na classificao. Sendo este um modelo paramtrico (recorde-se que necessrio assumir um distribuio de rudo e calcular os seus parmetros), ele baseia-se ainda no conhecimento dos vectores caractersticos de cada uma das classes envolvidas no problema. Embora o conhecimento dos vectores originais de cada classe (que podem ser encarados como os valores "verdadeiros" aos quais adicionado rudo) no seja, especialmente em problemas do domnio da robtica para os quais ele foi pensado, um problema, no caso das assinaturas dos navios no de alguma forma possvel o seu clculo. Para contornar este problema foi admitido que cada classe caracterizada por apenas um vector em que cada atributo tinha o valor caracterstico dado pela mdia dos valores desse atributo presentes no conjunto de treino. Por outro lado, a assuno de uma distribuio de rudo, que no caso presente se assumiu ser do tipo Gaussiano de mdia nula, no na maior parte dos casos verdadeira, introduzindo uma importante fonte de erro na classificao. Para validar os resultados obtidos e confirmar as limitaes do algoritmo de induo para esta aplicao foi ento decidido desenvolver estudos envolvendo redes neuronais com vista produo de um classificador baseado neste outro tipo de tecnologia. Utilizando ento o simulador de redes neuronais Aspirine-Migraines [Leighton, 1991] foram estudadas algumas arquitecturas utilizando o algoritmo de aprendizagem backpropagation. Foi ento decidido utilizar uma arquitectura de trs camadas que, dado o grande nmero de entradas necessrias para a soluo deste problema, no estava completamente ligada na primeira camada, o que permitia, sem uma degradao sensvel de desempenho, reduzir drasticamente o nmero de pesos envolvidos no processo [Fonseca, 1993]. Estas redes foram ento comparadas em termos de desempenho de classificao e de imunidade ao rudo com o algoritmo de induo anteriormente desenvolvido. Verificou-se ento que as redes neuronais apresentavam resultados bastante superiores s rvores de deciso tanto em termos de classificao, em que as redes obtinham percentagens de xito entre os 90 e os 100%, como em termos de imunidade ao rudo em que as redes suportavam situaes de relaes sinal/rudo de -10dB sem degradao significativa nos resultados da classificao. de salientar que em situaes de rudo semelhantes as rvores de deciso se revelavam incapazes de proceder classificao das situaes. Baseados nestes resultados decidiu-se ento efectuar o desenvolvimento de um classificador em tempo real tirando partido de uma plataforma hardware de baixo custo utilizando o simulador de redes Jos Manuel Fonseca Induo de rvores de Deciso

Descrio do trabalho efectuado

77

neuronais SNNS-Stutgart Neural Network Simulator [Zell, 1993] que devido s suas potencialidades grficas e disponibilidade de um mdulo de execuo de redes neuronais sob a forma de fonte permitindo a ligao a qualquer aplicao desenvolvida pelo utilizador, fez com que o simulador Aspirine-Migraines fosse abandonado a seu favor. O classificador projectado, desenvolvido em ambiente Windows e apresentando uma agradvel e simples interface com o utilizador, viria a ser apresentada em [Fonseca, 1993] como resultado final da tarefa do UNINOVA no projecto SNECOW.

5.2. Motivaes para o estudo das rvores de deciso


Embora a descrio anterior possa indiciar um certo desapontamento em relao aos algoritmos de induo de rvores de deciso a realidade bem diferente. As redes neuronais, embora possuindo capacidades de classificao indiscutveis, sendo geralmente superiores s rvores de deciso, encerram uma enorme dificuldade no que respeita interpretao do seu funcionamento. Embora o seu desempenho seja por vezes verdadeiramente impressionante, normalmente impossvel a anlise dos valores dos pesos da rede em termos de se conhecer como efectuada a classificao e portanto qual a essncia do fenmeno. Como evidente, este um facto pouco ou nada limitativo quando o objectivo apenas a classificao. No entanto, existe uma diversidade de aplicaes em que o objectivo principal , no a maior correco possvel na classificao, mas a descoberta de relaes obscuras em grandes quantidades de informao. neste campo que as rvores de deciso apresentam grandes vantagens pois geram estruturas de grande inteligibilidade e que expressam de forma muito clara caractersticas na informao que de outra forma so praticamente impossveis de detectar. Este o caso de toda uma nova rea que se est neste momento a desenvolver e que se dedica descoberta de conhecimento em grandes quantidades de informao. As rvores de deciso possibilitam ainda a obteno de informao sobre a importncia dos vrios atributos para a classificao o que, mesmo para efeitos de classificao pura, pode ser muito til se pensarmos que cada medida pode ter associada um custo e que a eliminao de algumas medidas por serem consideradas irrelevantes pode reduzir bastante os custos ou aumentar a eficincia do sistema global. Tambm esta informao muito difcil ou mesmo impossvel de obter a partir das redes neuronais que recebem normalmente como entradas todas as medidas e computando um valor de sada com base em todas elas no fornecem qualquer informao sobre a importncia de cada uma delas. A interpretao da estrutura das redes neuronais constitue neste momento uma rea de investigao em que se comeam a obter alguns resultados interessantes mas que est ainda muito longe de se considerar resolvida.

5.3. Algoritmo HistClass


Motivados portanto pelas razes atrs expostas, iniciou-se o trabalho especfico desta tese com vista ao desenvolvimento de algumas ideias sobre a induo de rvores de deciso entretanto surgidas e tambm ao aprofundamento do estudo de algoritmos de induo capazes de manipular valores contnuos e Jos Manuel Fonseca Induo de rvores de Deciso

78

Descrio do trabalho efectuado

discretos. Na sequncia dos estudos efectuados, decidiu-se pela criao de um algoritmo no paramtrico para a induo de rvores de deciso.

5.3.1. Tratamento de atributos contnuos


A primeira ideia surgida para o tratamento de atributos contnuos foi a da aplicao de um algoritmo de clculo dos pontos de inflexo no histograma de valores de cada atributo em cada n baseando nesses pontos de inflexo o clculo dos pontos de ciso. Este tipo de tratamento foi adoptado com o objectivo de reduzir a enorme complexidade de clculo implicada na pesquisa exaustiva dos pontos de ciso tal como apresentada no pargrafo 3.1.2.1 e que a aproximao adoptada pelos algoritmos mais comuns (CART e C4.5). Seja ento o conjunto de treino formado por M exemplos com N atributos descrevendo C classes, sendo x m ,n o valor do n-simo atributo do m-simo exemplo. Para o clculo do histograma necessrio calcular o valor mnimo e o valor mximo de cada atributo ao longo de todos o exemplos presentes em cada n. Assim, para o j-simo atributo teremos:
Min j = min x i , j i Max j = max x i , j i para i = 1.. M para i = 1.. M

(5.1)

Para o clculo do histograma ainda necessrio o clculo do passo a utilizar que funo do nmero de pontos a considerar nesse clculo - |H|. Dado que efectuado um histograma para cada atributo vir para o j-simo atributo:

Passo j =

Max j Min j H 1

(5.2)

Assim, o histograma do atributo j efectuado a partir de:

x i , j Min j inc H j round Passo

para i = 1.. M

(5.3)

Desta forma obtm-se um histograma do tipo do apresentado na figura 5.1.

Min

Max

Figura 5.1 - Exemplo do histograma de um atributo. Como evidente, a figura anterior mostra um histograma bastante simples e "liso" denotando uma regularidade que no , em princpio, muito realista. Em situaes reais, o que se encontra so histogramas irregulares, contendo rudo, que no permitem o clculo directo dos intervalos de ciso pois seriam encontrados inmeros pontos de inflexo (figura 5.2). Jos Manuel Fonseca Induo de rvores de Deciso

Descrio do trabalho efectuado

79

Min

Max

Figura 5.2 - Exemplo de histograma de um atributo com rudo. De modo a eliminar este tipo de irregularidades pode ser aplicado um filtro de mdia ponderada que no caso da implementao efectuada seguiu a frmula (5.4).

H [1] = 0.6 * H[1] + 0.4 * H[ 2] H [ H ] = 0.4 * H[ H 1] + 0.4 * H[ H ] H [ i] = 0.2 * H[ i 1] + 0.6 * H[ i] + 0.2 * H[ i + 1] para i = 2..| H| 1
(5.4)

De modo a que as irregularidades sejam eficientemente absorvidas o filtro pode ser aplicado diversas vezes podendo o nmero de passagens ser controlado atravs do parmetro -f. No caso de no ser especificado nenhum valor atravs desta opo sero efectuadas 10 passagens. Para o clculo dos pontos de ciso procede-se ento ao clculo dos mximos do histograma considerando-se como ponto de mximo todo aquele que verificar (5.5).

Max[1] = 1 Max[ k ] = i Max[ k ] = H

sse H[1] > H[ 2] sse H[ i 1] < H[ i] e H[ i] H[ i + 1] sse H[ H 1] < H[ H ] para i = 2.. H 1 (5.5)

Onde k representa o nmero de mximos encontrados at ao momento. Dado que possvel encontrar qualquer nmero de mximos, de modo a limitar o volume de processamento, sempre que esse nmero exceda um valor previamente definido (10 no caso da implementao efectuada) os mximos de menor valor so eliminados. Depois de eliminados os mximos em excesso efectuada uma eliminao dos mximos considerados no significativos. Para tal, efectua-se uma normalizao dos valores dos mximos dividindo-os pelo maior valor observado no histograma sendo ento eliminados os valores que estejam abaixo de um determinado patamar (0.15 na implementao efectuada).

MMax = max( Max[ k ])


k

Max[ k ] =

Max[ k ] MMax

para k = 1.. Max

(5.6)

Depois deste passo so finalmente calculados os pontos de ciso finais sendo adoptado como ponto de ciso o valor mdio entre cada dois dos mximos seleccionados.

Jos Manuel Fonseca

Induo de rvores de Deciso

80 Ciso [ i] = Pos( Max[ i]) + Pos( Max[ i + 1]) Pos( Max[ i]) 2

Descrio do trabalho efectuado para i = 1.. Max 1

(5.7)

Consegue-se assim obter parties do tipo da apresentada na figura 5.3.


2 mximo 1 ponto de ciso 2 ponto de ciso

1 mximo

3 mximo

Min Seco A Seco B Seco C

Max

Figura 5.3 - Exemplo de histograma de um atributo e respectivos pontos de ciso. A opo de procurar os valores mximos e determinar os pontos de ciso como sendo os pontos intermdios entre cada dois mximos sucessivos deve-se possibilidade, bastante comum, da ocorrncia de atributos que pela pouca quantidade de rudo tornam bastante difcil a correcta determinao das localizaes dos seus mnimos. Por outro lado, os mximos so sempre localizveis tendo este mtodo o inconveniente de no pesar o valor de cada mximo seleccionando simplesmente o valor de localizao mdia entre eles. Este problema pode, no entanto, ser reduzido pelo clculo do ponto intermdio em funo dos valores dos dois mximos em causa. A equao (5.12) vir ento: Ciso [ i] = Pos( Max[ i]) + ( Pos( Max[ i + 1]) Pos( Max[ i]) ) * Max[ i] Max[ i] + Max[ i + 1] (5.8)

Uma vez encontrados os pontos de ciso para cada atributo resta agora verificar qual o ganho proveniente da adopo de cada uma das parties do conjunto de treino da resultante. Ser ento escolhido para efectuar a partio nesse n o atributo que possibilitar a partio com maior ganho segundo o critrio de avaliao adoptado. Para teste do algoritmo a desenvolver bem como dos algoritmos utilizados para comparao - o algoritmo CART e o C4.5 - foi desde logo decidida a aquisio de bases de dados de aprendizagem automtica de uso comum neste tipo de testes de modo a proporcionar testes comparveis com as diversas experincias que surgem frequentemente na literatura da especialidade. Por outro lado, consegue-se desta forma obter uma variedade de aplicaes que seria quase impossvel de obter de outra forma. Felizmente, existe j neste momento uma muito razovel comunidade cientfica dedicada a este tipo de problemas de tal forma que existem disponveis ao pblico uma srie bastante extensa de bases de dados contendo problemas tpicos de aprendizagem automtica que foram utilizadas para as experincias efectuadas. O anexo E apresenta um breve resumo dos problemas adoptados. Com base nesta ideia foi desenvolvido um primeiro prottipo que, embora apresentasse resultados bastante aceitveis em alguns exemplos, revelava algumas insuficincias importantes em alguns outros.

Jos Manuel Fonseca

Induo de rvores de Deciso

Descrio do trabalho efectuado

81

Na verdade, dado que para o estudo dos pontos de ciso apenas se tinha em conta o histograma do atributo no intervindo de forma alguma a classe a que os exemplos pertencem, surgia um problema grave quando o atributo tinha uma distribuio de valores do tipo do que se apresenta na figura seguinte.

Min

Classe 1

Classe 2

Max

Figura 5.4 - Exemplo de histograma de um atributo capaz de diferenciar duas classes. No exemplo da figura anterior nenhum ponto de ciso era detectado neste atributo embora fosse possvel encontrar um ponto que dividisse perfeitamente as duas classes. Assim, um atributo que podia dividir duas classes de uma forma perfeita era considerado intil para efeitos de classificao e ignorado como candidato partio no n. Num caso extremo (mas no impossvel) podemos mesmo pensar numa situao em todos os atributos seguem uma distribuio do tipo da apontada anteriormente, levando a que o algoritmo considere que impossvel fazer qualquer partio o que obviamente falso. Para se ultrapassar este inconveniente foi ento decidido adoptar um estratgia que passa por se efectuar um histograma para cada classe e por cada atributo. Desta forma teramos no caso anterior a seguinte situao:

Min

Atributo/Classe 1

Max

Min

Atributo/Classe2

Max

Figura 5.5 - Exemplo de histogramas para um atributo em funo da classe. Efectuando os histogramas desta forma torna-se possvel a resoluo do problema anterior. Ser para tal necessrio calcular quais as zonas dos histogramas em que cada uma das classes possue um valor mais significativo e efectuar a partio de acordo com os limites assim calculados. Esta soluo conduzir-nos-ia portanto a rvores n-rias em que o nmero de descendentes de cada n seria, no mximo, igual ao nmero de classes no problema. Depois de efectuados alguns testes foi decidido adoptar-se uma estratgia ligeiramente diferente. Efectuando um histograma para cada atributo/classe calculam-se ento quais as classes para as quais os histogramas possuem um valor

Jos Manuel Fonseca

Induo de rvores de Deciso

82

Descrio do trabalho efectuado

significativo. Cada uma das situaes distintas assim detectadas determina a criao de um descendente prprio. Para se encontrarem os pontos de ciso segundo esta tcnica o primeiro passo o clculo dos valores mnimos, mximos e de passo para cada atributo segundo (5.1) e (5.2). Dado que agora efectuado um histograma para cada par atributo/classe, a equao (5.3) vem agora:

x i , j Min j inc H round se Classe( x i ) = k para i = 1.. M , k = 1.. C, j = 1.. N j, k Passo

(5.9)

Estes histogramas so ento filtrados utilizando o filtro definido em (5.4) de modo a eliminar o rudo. Seguidamente, so calculados os valores mximos para cada ndice de cada um dos diversos histogramas e o valor mximo de entre todos os ndices de todos os histogramas.
Max j [ i] = max H j,k [ i]
k

MMax j

( ) = max( Max [ i])


j

para k = 1.. C, i = 1.. H , j = 1.. N

(5.10)
para i = 1.. H , j = 1.. N

De modo a serem eliminados os valores pouco significativos, que podem facilmente introduzir um grande nmero de pontos de ciso perturbando o resultado final, os pontos dos histogramas cujo mximo seja considerado demasiado pequeno, ou seja, que verifiquem (5.11), so desde logo eliminados, sendo considerados nesta fase como indefinidos. Max[ i] < MinTh * MMax para i = 1.. H (5.11)

O valor MinTh um valor que pode ser definido atravs da opo -m sendo o seu valor, caso seja omitida esta opo, de 0.2. Depois de eliminados os pontos no significativos, so verificadas quais as classes que possuem valor significativo em cada ponto dos vrios histogramas. considerado como significativo o histograma que possuir um valor tal que verifique (5.12).

H j,k [ i] > MaxTh * Max j [i]

para k = 1.. C, i = 1.. H

(5.12)

O valor de MaxTh pode ser definido atravs da opo -M sendo o seu valor por omisso de 0.8. Vejamos como se comporta a soluo com base num exemplo concreto.

Jos Manuel Fonseca

Induo de rvores de Deciso

Descrio do trabalho efectuado

83

p1 A1/C3

p2 p3

p4 p5

p6

p7

p8

A1/C1 A1/C2

Patamar de aceitao

A1/C4

Patamar mnimo

Min Indefinido

Max C3 C1&C3 Indefinido Indefinido C1 C4 C2 Indefinido

Figura 5.6 - Exemplo de histogramas por atributo/classe para um exemplo com 4 classes. No exemplo da figura 5.6 possvel observar a existncia de 6 zonas distintas: intervalos considerados indefinidos por os seus valores se encontrarem abaixo do limiar mnimo que se situam entre o valor mnimo e p1, entre p4 e p5, entre p6 e p7 e de p8 at ao valor mximo, intervalos caractersticos das classes 1, 2, 3 e 4 indicados na figura por C1, C2, C3 e C4 e ainda um intervalo caractersticos das classes C1 e C3 denotado por C1&C3. Coloca-se ento a questo de qual a caracterizao a dar s reas indefinidas. Foi adoptada um estratgia de atribuir a cada ponto destas zonas o valor da classificao definida mais prxima. Esta estratgia de eliminao das zonas indefinidas leva-nos definio de zonas apresentada na figura 5.7.
A1/C3

A1/C1 A1/C2

A1/C4

Min C3 C1&C3 C1 C4 C2

Max

Figura 5.7 - Histograma da figura 5.6 depois de eliminadas as zonas de indefinio. ainda possvel aplicar s parties resultantes um processo de eliminao de riscas de dimenses demasiado pequenas de modo a evitar o surgimento de pequenas parties pouco significativas (opo a). Neste caso, se utilizada esta opo com um valor lcito como por exemplo 0.1, representando 10% do comprimento total do histograma, poderia ser eliminada a risca C1&C3 que sofreria ento um processo idntico quele que utilizado para as zonas indefinidas e que nos levaria s parties apresentadas na figura 5.8.
Jos Manuel Fonseca Induo de rvores de Deciso

84
A1/C3

Descrio do trabalho efectuado

A1/C1 A1/C2

A1/C4

Min C3 C1 C4 C2

Max

Figura 5.8 - Histograma depois de aplicado o processamento de eliminao de riscas no significativas. O processo de partio do conjunto de treino efectuado na corrente implementao por escolha da melhor das parties resultantes da aplicao dos dois mtodos expostos. Repare-se que ambos os mtodos tm vantagens e desvantagens. Enquanto que o primeiro mtodo se revela incapaz de detectar qualquer ponto de ciso em situaes do tipo da apresentada na figura 5.5, o segundo mtodo impotente sempre que um atributo apresente histogramas idnticos para as vrias classes.

5.3.2. Tratamento de atributos discretos


Embora criado inicialmente com vista ao tratamento de atributos contnuos, o algoritmo do histograma sofreu uma fcil adaptao para os atributos discretos. Para este tipo de atributos, foram tambm adoptadas duas aproximaes distintas de modo a poder ser seleccionado o melhor resultado de entre as duas. Uma primeira tentativa efectuada atribuindo um descendente a cada valor do atributo discreto tal como apresentado no pargrafo 3.1.1.1. De forma alternativa, foi implementado um mtodo baseado no histograma de ocorrncia de valores dos vrios atributos que comparado com o benefcio oferecido pelo mtodo anterior sendo escolhido em cada n o que apresentar melhores resultados. A aproximao adoptada para a realizao dos histogramas com vista ao tratamento deste tipo de atributos foi baseada na segunda abordagem apresentada para os atributos contnuos. O algoritmo baseado no histograma implica o clculo dos histogramas de ocorrncia de valores em cada n para cada atributo/classe. Podemos apresentar um exemplo hipottico com 4 classes de forma a ilustrar o algoritmo.

Jos Manuel Fonseca

Induo de rvores de Deciso

Descrio do trabalho efectuado


300 250 200
Atributo/Classe1 Patamar de aceitao

85

150 100 50 0 1 2 3 4 5 6
Patamar mnimo

Atributo/Classe2 Atributo/Classe3 Atributo/Classe4

Figura 5.9 - Exemplo de histograma de um atributo discreto. O valor do patamar mnimo e do patamar de aceitao so calculados exactamente da mesma forma que anteriormente para o tratamento de atributos contnuos, ou seja, calculando o valor mximo de todos os atributos/classes e definindo o patamar mnimo como sendo uma percentagem desse valor tal como anteriormente e o valor de aceitao em cada ponto como uma percentagem do valor mximo de todos os histogramas atributo/classe em cada um dos pontos. Note-se que so utilizados os mesmo valores percentuais que foram definidos para o tratamento dos atributos contnuos. Baseados nos histogramas apresentados na figura 5.9 o atributo em causa efectuaria uma partio do conjunto de treino em 4 subconjuntos. Se o seu valor 1 ento considerado um valor tpico da classe 1, se o seu valor dois considerado tpico da classe 2, o valor 3 caracteriza fundamentalmente a classe 3, o valor 4 identifica a classe 1 e 2 tal como o valor 6. Em relao ao valor 5, para o qual o nmero de exemplos considerado insuficiente para que lhe seja atribudo um ramo prprio, atribudo o valor do ramo mais prximo. Como neste caso existem dois candidatos a igual distncia qualquer um deles pode ser adoptado. A utilizao deste atributo com base neste mtodo levaria adopo de um n do tipo apresentado na figura 5.10.
A

=1

=2

=3

=4,5,6

Figura 5.10 - N criado com base no atributo apresentado na figura 5.9. Repare-se que esta aproximao tem o defeito de, para atributos com uma distribuio de valores muito uniforme atribuir a todos os seus valores etiquetas idnticas rejeitando-o quando ele poderia ser til se fosse utilizada, por exemplo, uma abordagem do tipo um ramo por cada valor. Por esse facto as duas abordagens so calculadas de forma a ser seleccionada a mais adequada.

5.4. Software desenvolvido


Para o teste do algoritmo proposto foi desenvolvido um pacote completo de software capaz da anlise, gerao de rvores de deciso e classificao de novos exemplos adoptando as tcnicas propostas.

Jos Manuel Fonseca

Induo de rvores de Deciso

86

Descrio do trabalho efectuado

5.4.1. Formato dos ficheiros utilizados


O programa desenvolvido utiliza trs ficheiros: ficheiro de descrio dos dados, ficheiro de dados contendo o conjunto de treino e ficheiro de teste.
Formato do ficheiro de descrio

O ficheiro de descrio dever conter em primeiro lugar a especificao de quantas classes o problema contm e de quais os seus nomes ou identificadores. Seguidamente dever ser fornecido o tipo e identificador de cada um dos atributos que compem o problema. A sintaxe que deve ser respeitada apresenta-se na figura 5.11 sob a forma de um diagrama sintctico.
| Comentrio , ClassId Number . AtributeId : Continuous Discrete value ,

Figura 5.11 - Formato do ficheiro de descrio. O ficheiro de dados dever respeitar a sintaxe indicada na figura 5.12.
| Feature value , Comentrio , ClassId .

Figura 5.12 - Formato do ficheiro de dados. Tanto nos ficheiros de descrio como nos ficheiros de dados possvel inserir comentrios que devero ser antecedidos do caracter '|'. Todo o texto desde esta marca at ao fim da linha ser assim ignorado. Saliente-se que a sintaxe observada por este programa, constitui um subconjunto daquela que seguida pelo programa C4.5 que ser apresentado no prximo captulo. Esta opo teve o objectivo de se poder trabalhar com este programa juntamente com o programa C4.5 sem que seja necessria qualquer alterao tanto nos ficheiros de descrio como nos ficheiros de dados. Note-se ainda que o facto de ser um subconjunto e no exactamente igual se prende apenas com algumas opes no implementadas nesta verso no tendo origem em nenhuma limitao. Apresenta-se seguidamente um exemplo de ficheiro de descrio para o problema Heart.

Jos Manuel Fonseca

Induo de rvores de Deciso

Descrio do trabalho efectuado


1,2 | classes

87

A1: continuous. A2: 0,1 . A3: 1,2,3,4 . A4: continuous. A5: continuous. A6: 0,1 . A7: 0,1,2 . A8: continuous. A9: 0,1 . A10: continuous. A11: continuous. A12: continuous. A13: 3,6,7 .

Figura 5.13 - Exemplo do ficheiro de descrio do problema Heart. O ficheiro de dados bastante simples mostrando-se como exemplo apenas algumas linhas do ficheiro de dados para o mesmo problema.
| exemplo de ficheiro de dados 70,1,4,130,322,0,2,109,0,2.4,2,3,3,2 67,0,3,115,564,0,2,160,0,1.6,2,0,7,1 57,1,2,124,261,0,0,141,0,0.3,1,0,7,2 64,1,4,128,263,0,0,105,1,0.2,2,1,7,1

Figura 5.14 - Exemplo do ficheiro de dados do problema Heart.

5.4.2. Descrio do software implementado


Faz-se seguidamente a apresentao das diversas tcnicas aplicadas no programa HistClass. Dado que a maioria das tcnicas utilizadas foram j explicadas detalhadamente no captulo 3 remete-se o leitor para esse captulo sempre que necessrio.
Regras de partio

Como foi j explicado no incio deste captulo a originalidade deste algoritmo reside precisamente no que respeita s regras de partio. A tcnica proposta foi j exposta no pargrafo 5.2.
Clculo das medidas de incerteza

O clculo das medidas de incerteza efectuada com base numa perspectiva frequencista de probabilidades (pargrafo 3.2.1).
Eleio do melhor atributo

Para a eleio do melhor atributo possvel a utilizao de dois critrios - critrio da entropia ou critrio da razo do ganho - atravs da opo -g (pargrafo 3.3.1.2).

Jos Manuel Fonseca

Induo de rvores de Deciso

88
Determinao da classe associada folha

Descrio do trabalho efectuado

A determinao da classe associada a cada folha efectuada por atribuio da classe mais provvel (pargrafo 3.4.1).
Tratamento de valores desconhecidos

O tratamento de valores desconhecidos no foi efectuado nesta verso do sistema. Este , no entanto, um dos pontos a desenvolver no futuro prximo.
Mtodo de paragem durante a construo

convico do autor que este um dos pontos que mais penaliza o algoritmo desenvolvido. Na verdade, a utilizao de um processo de poda viria certamente beneficiar os resultados assim obtidos tanto em termos do desempenho de classificao como na dimenso das rvores produzidas. No entanto, dada a pouca eficincia do algoritmo de poda baseada no erro e a grande complexidade do mtodo de poda por reduo do custo/complexidade foi decidido abandonar-se o seu desenvolvimento nesta fase. Assim sendo, foi adoptada uma estratgia de paragem durante o crescimento baseada na entropia. Est tambm disponvel como opo a paragem baseada na regra de entropia delta (opo -e). O valor tpico de entropia em face da qual deve ser interrompido o crescimento de 0.5 e foi esse o valor adoptado por omisso. Apresenta-se seguidamente uma tabela onde possvel observar a influncia deste valor no erro obtido sobre o conjunto de treino e sobre um conjunto de teste independente.
Patamar 0.8 0.6 0.5 0.2 0 N de ns 1 7 9 44 57 Erro no conj. de treino 38.7% 4.3% 4.0% 1.3% 0.0% Erro no conj. de teste 38.5% 3.0% 3.0% 5.9% 5.9%

Tabela 5.1 - Tabela exemplificativa da influncia do valor da entropia para a paragem no desenvolvimento da rvore. Embora o comportamento apresentado na tabela anterior seja bastante vulgar, o valor de 0.5 no o ideal para todos os exemplos pelo que, de forma a poder ser encontrado o melhor valor para um dado exemplo em que o valor por omisso se revele inadequado, possvel introduzir qualquer outro atravs da opo -p.
Clculo do erro de classificao

Existem duas hipteses de clculo do erro de classificao na implementao efectuada: estimao do erro por validao cruzada (opo -c) e por teste sobre um conjunto independente (opo -t). A

Jos Manuel Fonseca

Induo de rvores de Deciso

Descrio do trabalho efectuado

89

validao cruzada efectuada em 10 camadas, sendo o conjunto de valores a utilizar como conjunto de teste em cada passagem do processo seleccionado de forma aleatria.
Repetio de atributos ao longo da rvore

A repetio de atributos ao longo de percursos consecutivos da rvore de deciso permitido desde que seleccionada a opo -r. Esta tcnica permite que um dado atributo que serviu j para a partio num n antecessor do n corrente seja utilizada novamente para a partio no novo n. Desta forma, permite-se a ocorrncia de situaes em que um dado atributo observado em termos de todos os valores que possue ao longo de todo o conjunto de treino e portanto com pouco pormenor, sendo posteriormente observado em mais pormenor em cada uma das parties a que deu lugar que contero forosamente uma amplitude de valores mais reduzida.

5.4.3. Opes do programa HistClass


Apresenta-se seguidamente uma tabela que sumariza o conjunto de opes disponveis no programa de induo de rvores de deciso HistClass. Repare-se que as opes disponveis possuem sempre valores assumidos por omisso de modo a que a execuo do programa possa ser efectuada com um conhecimento mnimo das caractersticas do algoritmo por parte do utilizador. Dado que este algoritmo possui um nmero de parmetros com interferncia directa no seu desempenho um tanto elevado exige, em princpio, uma afinao especfica para cada problema. Este facto pouco relevante dado que, por um lado a sua sensibilidade a estes parmetros bastante baixa e por outro lado, ele foi desenhado com vista sua aplicao no estudo de problemas de grande complexidade onde a obteno de bons resultados compensa certamente algum trabalho na pesquisa dos patamares ideais.

Opo -e -p <valor> -m <valor> -M <valor>

Significado Especifica a paragem no crescimento da rvore baseada na regra de entropia Delta. Especifica a paragem no crescimento da rvore baseado na entropia do n. Permite alterar o valor por omisso para o clculo do patamar mnimo no histograma. Permite alterar o valor por omisso para o clculo do patamar mnimo no histograma para que se considere um valor significativo. Especifica a partio baseada em atributos discretos segundo a filosofia um ramo para cada valor do atributo.

Valor por omisso Desenvolvimento exaustivo p=0.5 m=0.2 p=0.8

-i

Agrupamento de valores baseado na tcnica do histograma.

Jos Manuel Fonseca

Induo de rvores de Deciso

90
-a <valor> Especifica a passagem de anulao de riscas de pequenas dimenses nos histogramas. Valor representa a percentagem da dimenso do histograma a considerar para eliminao. Especifica o nmero de passagens a efectuar pelo filtro passa-baixos ao longo dos histogramas. Determina avaliao do erro pela tcnica Leave-one-out. Determina avaliao cruzada do erro. Determina escolha do melhor atributo com base no critrio da razo do ganho. Indica utilizao de ficheiro de teste independente. Determina utilizao de histograma simples. Determina a colocao da rvore resultante em ficheiro. Indica a possibilidade de utilizao repetida de atributos em nveis sucessivos da rvore.

Descrio do trabalho efectuado


No aplicao da anulao de riscas.

-f <valor> -l -c -g -t -h -s -r

10 Avaliao por resubstituio. Avaliao por resubstituio. Escolha com base no critrio da entropia. Avaliao por resubstituio. Histograma completo. Amostragem da rvore no cran.

Tabela 5.2 - Tabela de opes do programa HistClass.

Jos Manuel Fonseca

Induo de rvores de Deciso

Descrio do trabalho efectuado

91

Jos Manuel Fonseca

Induo de rvores de Deciso

CAPTULO 6
Algoritmos de induo de rvores de deciso
So apresentados neste captulo diversos algoritmos de induo de rvores de deciso. A seleco efectuada prende-se fundamentalmente com a sua importncia na evoluo deste ramo da cincia da computao, com a disponibilidade de software que permita a sua comparao com os demais algoritmos e com a investigao levada a cabo pelo autor desta tese at ao momento da sua elaborao. So apresentados os resultados da comparao entre alguns dos algoritmos expostos, tendo sido colocada especial nfase nos algoritmos que permitem o tratamento de caractersticas contnuas.

6.1. Algoritmos e software de apoio


Descrevem-se seguidamente alguns algoritmos que constituem referncia obrigatria, sempre que se trate da gerao automtica de rvores de deciso. No caso especfico dos algoritmos utilizados no trabalho experimental ao longo desta tese efectuada uma breve descrio do software utilizado. Dada a grande complexidade de alguns dos programas apresentada em anexo a descrio sumria dos seus principais comandos.

6.1.1. ID3
Este algoritmo, apresentado por J. R. Quinlan [Quinlan, 1986], constitui uma das referncias base dos algoritmos actuais de induo de rvores de deciso. Desenvolvido com vista ao tratamento de problemas contendo apenas caractersticas discretas, a sua estrutura bsica iterativa. Embora tendo sido proposto pelo seu autor utilizando o conceito de janela sobre o conjunto de treino frequentemente implementado sem janela, de modo a simplificar o processo de gerao da rvore de deciso. Adoptando o critrio de maximizao da informao mtua para a escolha da caracterstica a testar em cada n, a sua estrutura muito simples no que se refere ao tratamento de problemas sem rudo. Cada caracterstica permite a diviso do conjunto de treino num nmero de subconjuntos igual sua cardinalidade (nmero de diferentes valores possveis). Jos Manuel Fonseca Induo de rvores de Deciso

92

Algoritmos de induo de rvores de deciso

Podemos exemplificar o funcionamento deste algoritmo adoptando o exemplo da funo lgica:


Y = A . B. C . D + B. C. D + A . B. D + B. C. D

que se pode representar pela tabela de verdade ou pelo mapa de Karnaugh seguintes:
C 0 A B 0 1 0 1 1 0 0 D 1 1 0 1 0 0 0 1

Figura 6.2 - Mapa de Karnaugh para o exemplo de resoluo do ID3.


A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Y 0 0 1 1 0 1 0 1 0 0 1 1 1 0 0 0

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Tabela 6.2 - Conjunto de treino correspondente ao mapa de Karnaugh anterior. Perante este problema, o algoritmo ID3 sem a utilizao de janela sobre o conjunto treino gera a seguinte rvore de deciso:
C 0 B 0 0 0 D 0 0 1 1 0 1 1 A 1 D 1 0 0 0 D 1 1 1 0 0 1 B 1 A 1 0

Figura 6.4 - rvore gerada pelo ID3 para o problema da tabela anterior. A capacidade de generalizao uma das principais caractersticas de um algoritmo de gerao de classificadores. portanto curioso estudarmos o que acontece quando a este algoritmo mostrado no todo o universo mas apenas uma parte dele. Para tal, com base no exemplo anterior, foi gerado um conjunto de treino constitudo por 12 exemplos excluindo os exemplos 3, 8, 11, 14 da tabela. Apresenta-

Jos Manuel Fonseca

Induo de rvores de Deciso

Algoritmos de induo de rvores de deciso

93

se na figura 6.Error! Bookmark not defined. a rvore gerada com base neste subconjunto do conjunto de treino inicial.
D 0 A 0 0 0 0 0 1 1 B 1 C 1 0 0 0 C 1 1 1 0 0 C 1 1 0 B 0 1 A 1 B

Figura 6.6 - rvore gerada pelo ID3 com base num subconjunto do conjunto de treino composto por 12 exemplos. Como facilmente se pode verificar, a rvore assim gerada possui dimenses superiores quela que foi gerada conhecendo todo o conjunto de treino. Enquanto que aquela tinha a capacidade de classificar correctamente todo o universo, a agora apresentada classifica incorrectamente dois dos exemplos excludos do conjunto de treino. Os resultados apresentados foram obtidos utilizando o conjunto de programas desenvolvido pelo autor, apresentado no captulo anterior, utilizando o conjunto de opes adequado. Discusso do algoritmo de janela sobre o conjunto de treino As tcnicas de janela sobre o conjunto de treino levam, por vezes, a uma construo mais rpida da rvore de deciso. A utilizao de apenas uma parte dos exemplos iniciais permite um muito menor volume de processamento e, portanto, uma maior velocidade no clculo da soluo final. No entanto, verifica-se em casos reais um fenmeno inverso. Na verdade, este processo pode retardar bastante a pesquisa do classificador final pois, se for necessrio tomar em considerao todos ou quase todos os exemplos disponveis, s depois de se terem construdo e testado um nmero significativo de classificadores encontraremos a soluo pretendida. Algumas possibilidades se abrem tambm em virtude das caractersticas deste tipo de construo de classificadores. Dado que o conjunto de treino inicial escolhido de forma aleatria com restries, diferentes execues produziro diferentes classificadores. Pode ento escolher-se aquele que apresentar um menor erro e/ou uma menor dimenso. Uma outra possibilidade ser, com base em cada um dos classificadores assim gerados, transcrev-los para o formato de regras e escolher o conjunto mnimo de regras que representa o fenmeno. No podemos, no entanto, esquecer o grande volume de processamento implicado em qualquer destes processos.

Jos Manuel Fonseca

Induo de rvores de Deciso

94

Algoritmos de induo de rvores de deciso

Como exemplo das vantagens que se podem obter pela utilizao de janela sobre o conjunto de treino, interessante observar a dimenso das rvores e respectivas percentagens de erro obtidas pelo algoritmo ID3, com e sem janela, nos problemas conhecidos na literatura como monks problems [Trun, 1991].
Tempo de clculo1 P1 P2 P3 36 154 23 5 8 4 Dimenses ns/folhas P1 P2 P3 13/28 66/110 13/29 32/62 64/110 14/31 Exactido no conj. teste2 P1 P2 P3 98.6 68.0 94.4 83.2 69.1 95.6

ID3 c/ janela3 ID3 s/ janela

Tabela 6.4 - Resultados obtidos pelo ID3 com e sem janela. Note-se na tabela 6.2 o tempo de processamento muito superior na verso com janela em relao verso sem janela, que se deve ao grande nmero de iteraes necessrias ao clculo da soluo final. Por outro lado, de realar o superior desempenho e menor dimenso da rvore encontrada pelo algoritmo com janela no primeiro caso, demonstrando uma melhor percepo do problema. Nos restantes exemplos, o desempenho das duas solues bastante idntico.

6.1.2. CART
O algoritmo CART - Classification And Regression Trees - foi apresentado por quatro estatsticos de nomeada, respectivamente Leo Breiman, Jerome Friedman, Richard Oslen e Charles Stone no seu trabalho [Breiman, 84]. Este trabalho constitui talvez o mais importante marco na histria da aprendizagem automtica sendo, no mnimo, uma referncia fundamental. Sendo um algoritmo no paramtrico, uma das suas caractersticas principais a grande capacidade de pesquisa de relaes entre os dados, mesmo quando elas no so evidentes, bem como a produo de resultados sob a forma de rvores de deciso de grande simplicidade e legibilidade. Tal como o seu nome indicia, esta uma metodologia que prev o tratamento de variveis dependentes discretas (classificao) ou contnuas (regresso) usando uma mesma tecnologia. O resultado deste algoritmo sempre uma rvore binria que pode ser percorrida da sua raiz at s folhas respondendo apenas a questes simples do tipo sim/no. A anlise efectuada de forma completamente automtica requerendo uma interveno humana mnima. de salientar que, segundo os seus autores, esta tcnica permite a obteno de resultados, em geral, bastante superiores aos obtidos pelas tcnicas estatsticas clssicas, sendo superado apenas num restrito nmero de casos e apenas por algoritmos de complexidade muito superior. No entanto, e ainda segundo os autores, quando superado, a diferena nos resultados mnima.

1Tempo

mdio de 3 clculos em segundos de acordo com [Hunt, 1991]. de exactido usando um conjunto de teste independente 3Janela inicial de 20% dos exemplos disponveis sem restries.
2Avaliao

Jos Manuel Fonseca

Induo de rvores de Deciso

Algoritmos de induo de rvores de deciso

95

Esta tcnica tem sido aplicada com sucesso numa grande variedade de ambientes, tais como o diagnstico mdico, economia, sociologia, pesquisa de mercado, etc. Problemas como a determinao do grau de desenvolvimento do cancro, classificao de clulas sanguneas, mortalidade infantil, controlo de qualidade, estimao de riscos associados atribuio de crdito, reconhecimento de voz, identificao de situaes de alto risco de investimento, classificao de imagens para fins militares, entre outros, tm sido resolvidos tirando partido desta tecnologia. Este algoritmo um exemplo de um algoritmo de partio binria recursiva. O processo binrio pois os ns efectuam uma partio em dois subconjuntos, e recursivo pois aplicado recursivamente a cada um dos subconjuntos assim gerados, at que no seja possvel ou no seja necessrio efectuar mais nenhuma partio. Regras de partio Este algoritmo efectua a partio baseada em atributos discretos testando todas as possibilidades de formao de dois subconjuntos de possveis valores (pargrafo 3.1.1.4). De modo a possibilitar a gerao de rvores mais legveis tambm possvel efectuar testes exaustivos quando se possuem atributos ordenados (pargrafo 3.1.1.3). Em relao s caractersticas contnuas adoptada a tcnica de pesquisa exaustiva (pargrafo 3.1.2.1) sendo tambm possvel a utilizao de combinaes lineares entre atributos tal como descrito no pargrafo 3.1.2.3. Clculo das medidas de incerteza Para o clculo das medidas de incerteza adoptada uma aproximao frequencista de probabilidades (pargrafo 3.2.1). Eleio da melhor caracterstica A eleio da melhor caracterstica efectuada com base num de trs critrios: Gini, Entropia ou Paridade (pargrafos 3.3.1 e 3.3.2). Determinao da classe associada folha A atribuio de uma classe a cada folha efectuada com base no critrio da classe mais provvel (pargrafo 3.4.1) ou da minimizao dos custos (pargrafo 3.4.2). Tratamento de valores desconhecidos O tratamento de valores desconhecidos efectuado atravs do clculo de parties alternativas (pargrafo 3.1.3.3). Contrariamente abordagem adoptada por outros algoritmos, que interrompem o desenvolvimento da rvore de classificao logo que todos os ns respeitem um determinado critrio, o CART efectua a Jos Manuel Fonseca Induo de rvores de Deciso

96

Algoritmos de induo de rvores de deciso

expanso da rvore at exausto efectuando ento uma poda por reduo do factor custo-complexidade (pargrafo 4.2.2). A tcnica de poda utilizada extremamente eficiente produzindo sempre rvores de reduzidas dimenses e elevado desempenho, contribuindo fortemente para a elevada capacidade de generalizao demostrada por este algoritmo. Para alm das potencialidades j citadas, este algoritmo possui uma grande possibilidade de parametrizaes prevendo uma larga gama de utilizaes e possibilitando a sua adaptao a uma infinidade de situaes. Esta grande variedade de opes disponveis reflecte-se no programa utilizado ao longo do trabalho experimental desta tese que seguidamente se descreve. Descrio do software de apoio O software de apoio a este algoritmo foi desenvolvido por Dan Steinberg e Phillip Colla da SYSTAT Inc. A verso adquirida para a execuo das experimentaes levadas a cabo durante o trabalho experimental desta tese a verso para MS-Windows que assenta sobre o pacote SYSTAT tambm para MS-Windows. O pacote estatstico SYSTAT, muito popular nos Estados Unidos, revelou-se bastante limitado nesta verso (no caso a verso 5.02) acusando com demasiada facilidade problemas de falta de memria, o que no caso do computador usado (possuindo 16MB de RAM) no so de todo compreensveis. Devem, no entanto, salientar-se a facilidade e variedade de anlise de dados bem como as potencialidades grficas desta ferramenta. Os ficheiros de texto contendo os dados a analisar tm de ser convertidos para o formato SYSTAT atravs do comando import para que possam ser lidos pelo CART. O programa que implementa o algoritmo CART constitui um ambiente integrado de anlise de dados que produz resultados essencialmente sob a forma de texto, no possuindo nenhumas capacidades grficas de realar. No entanto, a profuso de informao e o detalhe de que est dotado so de enaltecer. De modo a dar uma ideia das grandes capacidades de parametrizao que possui apresenta-se no anexo C um breve resumo dos comandos disponveis. Um exemplo dos resultados da anlise para o problema Heart apresentado no anexo D.

6.1.3. C4.5
Apresentado no mais recente trabalho de Ross Quinlan [Quinlan, 1993], este algoritmo visa a gerao de rvores de deciso e de regras de classificao permitindo o tratamento de atributos discretos e/ou contnuos. Sendo possvel a aquisio, juntamente com o livro citado, de um pacote de software sob a forma de fontes que permite o teste e a avaliao de resultados, este algoritmo foi utilizado nesta tese como um dos sistemas em confronto. Embora o software tenha sido desenvolvido para a instalao em sistemas UNIX, foi adaptado para o ambiente MS-Windows utilizando o compilador Borland C++ 3.1 de forma a possuir-se uma plataforma nica de execuo dos vrios algoritmos. Apesar desta adaptao, dado que a estimao de erro por validao cruzada efectuada nesta verso do C4.5 (release 5), custa

Jos Manuel Fonseca

Induo de rvores de Deciso

Algoritmos de induo de rvores de deciso

97

de um ficheiro de comandos do sistema UNIX, a maioria das experincias utilizando esta tcnica foram efectuadas neste sistema executando a verso original deste programa. Regras de partio O algoritmo C4.5 apresenta dois tipos de parties baseadas em atributos discretos: atribuio de um ramo distinto a cada valor do atributo tal como descrito no pargrafo 3.1.1.1 (opo normal) ou a formao de agrupamentos de valores em vrios conjuntos tal como descrito no pargrafo 3.1.1.5 (opo -s). Para as parties efectuadas com base em atributos contnuos utilizado o mtodo de pesquisa exaustiva do ponto de ciso (pargrafo 3.1.2.1), levando construo de rvores binrias. Clculo das medidas de incerteza Para o clculo das medidas de incerteza o C4.5 adopta uma perspectiva frequencista de probabilidade (pargrafo 3.2.1). O valor de probabilidade de cada ramo calculado como sendo o nmero de exemplos classificados por esse ramo dividido pelo total de exemplos presentes no n em causa. Eleio da melhor caracterstica A eleio da melhor caracterstica pode ser efectuada em opo pelo critrio do ganho de informao ou pelo critrio da razo do ganho (pargrafo 3.3.1.2). Determinao da classe associada folha atribuda a cada folha a classe mais provvel nessa folha (pargrafo 3.4.1). Tratamento de valores desconhecidos Os valores desconhecidos so tratados pelo C4.5 com base na aproximao de pesagem do desconhecimento (pargrafo 3.3.5). Aplicao de janela sobre o conjunto de treino Neste trabalho proposta como opo a aplicao da janela de distribuio normalizada sobre o conjunto de treino (pargrafo 3.5.2). Descrio do software de apoio O software que implementa este algoritmo baseia-se em trs ficheiros: - Ficheiro de descrio do problema (extenso names) - Ficheiro de dados (extenso data) - Ficheiro de teste (extenso test)

Jos Manuel Fonseca

Induo de rvores de Deciso

98

Algoritmos de induo de rvores de deciso

Ficheiro de descrio do problema - ficheiro que contem a descrio dos dados em termos de quantas classes constituem o problema, quais os seus nomes, quantos atributos e quais os seus tipos (contnuos, discretos, etc). Os tipos de atributos suportados so os seguintes: ignore - o atributo ser ignorado continuous - atributo numrico de tipo contnuo discrete N - atributo numrico discreto com, no mximo, N valores distintos lista de nomes separados por vrgula - atributo discreto com valores especificados. Permite a validao do ficheiro de dados. Este ficheiro deve iniciar-se pela descrio de quais as classes, separadas por vrgula e terminadas por ponto. Seguidamente deve ser fornecida a descrio de todos os atributos sendo esta efectuada atravs da indicao do nome do atributo, dois pontos e especificao do tipo de atributo. Sempre que necessrio possvel a introduo de comentrios desde que antecedidos pelo caracter "|". Ficheiro de dados - contm os valores do conjunto de treino, um em cada linha, com todos os valores separados por vrgula, com o valor da respectiva classe no fim da linha. Os valores desconhecidos so designados pelo carcter ?. Tambm neste ficheiro podem ser introduzidos comentrios, seguindo-se para tal a mesma sintaxe do ficheiro de descrio. Ficheiro de teste - ficheiro que contem os valores que serviro para a avaliao da qualidade do classificador com base num conjunto de exemplos independente. Segue exactamente a mesma sintaxe do ficheiro de dados anteriormente descrito. Existem ainda algumas ferramentas associadas a este programa que permitem a gerao de regras de classificao e a classificao caso-a-caso de exemplos introduzidos pelo utilizador. No anexo D apresentada uma lista resumida das opes disponveis neste programa e um exemplo de execuo para o problema Heart.

6.2. Apresentao e comparao de resultados


So neste pargrafo apresentados os resultados obtidos pelos algoritmos apresentados na seco anterior. A comparao entre os diversos algoritmos centrada essencialmente no desempenho de classificao pois, dada a heterogeneidade de plataformas de execuo, os tempos de clculo e memria necessria, entre outros, no puderam ser comparados. Esta no parece uma limitao importante deste trabalho, pois o clculo das rvores de deciso, dado ser um processo executado off-line no representa, em geral, um factor relevante na escolha de um dado algoritmo de induo. So num primeiro pargrafo apresentados os resultados obtidos com dois exemplos envolvendo exclusivamente atributos discretos e num segundo pargrafo os resultados com problemas envolvendo atributos dos dois tipos - discretos e contnuos.

6.2.1. Exemplos no domnio discreto

Jos Manuel Fonseca

Induo de rvores de Deciso

Algoritmos de induo de rvores de deciso

99

Para a comparao entre algoritmos exclusivamente no domnio discreto foram adoptados dois problemas distintos. Um problema bastante simples visando a caracterizao dos representantes no Congresso dos Estados Unidos permite apontar algumas das diferenas entre os trs algoritmos em confronto sem que para tal seja necessrio uma anlise complexa. Um segundo exemplo composto por trs problemas - The Monk's Problems - apresentado por ser especialmente til na comparao com outros algoritmos do domnio discreto dada a sua grande divulgao na literatura de aprendizagem automtica e a disponibilidade de trabalhos com base neste exemplo.

6.2.1.1. O problema dos votos Este exemplo corresponde caracterizao dos participantes republicanos e democratas participantes no 98 Congresso dos Estados Unidos em 1984 (U. S. House of Representatives) atravs das suas posies em relao a 16 problemas distintos. As respostas dos congressistas foram codificadas como sendo ndesfavorvel, y-favorvel e u-indiferente. Os resultados obtidos pelos trs programas foram bastante idnticos (o que se justifica pela simplicidade do problema) no deixando, no entanto, de revelar algumas caractersticas interessantes e que podero ser confirmadas em exemplos posteriores. Podemos observar na tabela seguinte que embora o nvel de desempenho das trs solues seja idntica, a rvore produzida pelo algoritmo CART, depois de podada, apresenta dimenses bastante menores que as restantes, sendo esta uma tendncia que se verificar nos restantes exemplos.
Algoritmo CART C4.5 HistClass4 N de ns terminais antes da poda 13 17 6 N de ns terminais depois da poda 2 5 6 N de erros no conj. de teste 4 4 4

Tabela 6.6 - Resultados obtidos para o problema Vote. de salientar que, os resultados aqui apresentados foram obtidos utilizando os valores por omisso para os vrios algoritmos. ainda de referir que, por ajuste do parmetro que determina o nvel de entropia que determina a interrupo no desenvolvimento da rvore, possvel obter com o algoritmo HistClass, rvores idnticas a qualquer uma das obtidas pelas outras solues. As rvores produzidas pelos trs algoritmos so as seguintes:

relembre-se que no realizada qualquer poda no algoritmo HistClass

Jos Manuel Fonseca

Induo de rvores de Deciso

100

Algoritmos de induo de rvores de deciso

CART
physician_fee_freeze = [y] republican physician_fee_freeze = [n] [u] democrat

C4.5
physician fee freeze = [n] democrat physician fee freeze = [y] republican physician fee freeze = [u] mx missile = [n] democrat mx missile = [y] democrat mx missile = [u] republican

HistClass
physician_fee_freeze = [n] democrat physician_fee_freeze = [y] republican physician_fee_freeze = [u] mx_missile = [n] democrat mx_missile = [y] anti_satellite_test_ban = [n] republican anti_satellite_test_ban = [y][u] democrat mx_missile = [u] republican

Figura 6.8 - rvores produzidas pelos trs algoritmos para o problema Vote.

6.2.1.2. The Monk's Problems Este exemplo, considerado clssico na literatura de Machine Learning, normalmente conhecido por The Monk's Problems, sendo composto por trs problemas distintos. Tendo tido origem aquando da realizao da 2 Escola Europeia de Vero dedicada ao tema de Machine Learning, realizada na Blgica durante o ms de Julho de 1991, foi criado de modo a permitir uma comparao inteligvel e justa entre os diversos algoritmos de aprendizagem automtica. Foi ento acordado entre os diversos investigadores presentes a adopo deste problema para a avaliao dos vrios algoritmos em condies de completa igualdade. Deste trabalho resultou o relatrio [Thrun, 1991] onde algoritmos de aprendizagem tais como o AQ17DCI, AQ17-HCI, AQ17-FCLS, AQ14-NT, AQ15-GA, Assistant Professional, mFOIL, ID5R-hat, TDIDT, ID3, AQR, CN2, CLASS WEB, ECOBWEB, PRISM, Backpropagation e Cascade Correlation so comparados. Este trabalho particularmente interessante, pois sendo os prprios proponentes das vrias solues a defender a sua causa, no so possveis desvios de qualquer espcie favorecendo esta ou aquela soluo. Este exemplo constitudo por trs problemas distintos do domnio da robtica, nos quais robs so descritos por seis caractersticas:
Caracterstica Formato da cabea Formato do corpo Est rindo Segurando Cor Tem lao Valores Redonda, Quadrada, Octgono Redonda, Quadrada, Octgono Sim, No Espada, Esfera, Bandeira Vermelho, Amarelo, Verde, Azul Sim, No

Tabela 6.8 - Descrio dos atributos do problema Monks. Todos os problemas so de classificao binria de pertena ou no a uma classe, que pode ser caracterizada por uma simples descrio lgica. Para a avaliao dos diversos algoritmos apenas um subconjunto dos 432 exemplos possveis utilizado para o treino, sendo a totalidade do universo usado para a medio do desempenho na classificao. Pretende-se desta forma medir a capacidade de generalizao dos diferentes mtodos de aprendizagem. O trs problemas caracterizam-se como se segue: Jos Manuel Fonseca Induo de rvores de Deciso

Algoritmos de induo de rvores de deciso M1: (Formato da cabea = Formato do corpo) ou (Cor = Vermelho)

101

Dos 432 exemplos (216 positivos e 216 negativos) foram aleatoriamente escolhidos 124 para formar o conjunto de treino. M2: Exactamente duas das caractersticas possuem o seu primeiro valor 169 dos 432 exemplos foram aleatoriamente escolhidos para formar o conjunto de treino. M3: ((Cor = Verde) e (Segurando = Espada)) ou ((Cor Azul) e (Formato do corpo Octgono)) Neste problema foram aleatoriamente escolhidos 122 exemplos para o conjunto de treino tendo sido alterada a classe a 5% deles de modo a simular uma situao de rudo no conjunto de treino. Resultados obtidos Apresentam-se seguidamente trs tabelas contendo os resultados obtidos nos trs problemas citados pelos algoritmos: ID3 sem janela sobre o conjunto de treino, ID3 com janela sobre o conjunto de treino, C4.5 sem ser efectuada a poda da rvore de deciso, C4.5 com poda da rvore de deciso, CART considerando as caractersticas como valores numricos contnuos, CART considerando as caractersticas como valores discretos e algoritmo HistClass. Todos estes resultados foram obtidos pelo autor desta tese utilizando o software anteriormente descrito com excepo dos valores respeitantes ao ID3 com janela que foram retirados de [Thrun, 1991]. Estes resultados apresentados por Kreuziger, Hamann e Wenzel foram resultado da aplicao de uma janela com a dimenso de 20% dos exemplos do conjunto de treino. importante referir que, embora os resultados obtidos pelo ID3 com janela sejam no primeiro caso bastante superiores aos apresentados pela verso sem janela, o mesmo no se verifica no segundo e terceiros exemplos.
% Correco 82.9 98.6 76.6 75.7 83.3 90.7 83.1 Dimenso 90 41 43 18 9 21 72

ID3 (s/ janela) ID3 (c/ janela) C4.5 (s/ poda) C4.5 (c/ poda) CART (cont.) CART (disc.) HistClass

Tabela 6.10 - Resultados obtidos para o problema Monk1.


% Correco 69.2 67.9 65.3 65 63.4 56.9 71.8 Dimenso 174 176 73 31 35 17 145

ID3 (s/ janela) ID3 (c/ janela) C4.5 (s/ poda) C4.5 (c/ poda) CART (cont.) CART (disc.) HistClass

Tabela 6.12 - Resultados obtidos para o problema Monk2.

Jos Manuel Fonseca

Induo de rvores de Deciso

102

Algoritmos de induo de rvores de deciso


% Correco 95.6 94.4 92.6 97.2 97.2 100 95.8 Dimenso 45 42 25 12 5 9 39

ID3 (s/ janela) ID3 (c/ janela) C4.5 (s/ poda) C4.5 (c/ poda) CART (cont.) CART (disc.) HistClass

Tabela 6.14 - Resultados obtidos para o problema Monk3. Embora nestes quadros no se faa referncia ao tempo de treino tambm curioso notar que a verso de ID3 com janela consumiu um tempo de processamento entre seis a vinte vezes superior verso sem janela. Este facto prende-se com o grande nmero de iteraes necessrias ao clculo da soluo final na verso com janela. No se pode deixar de realar a grande eficincia apresentada pelo algoritmo de poda utilizado pelo CART, que permite obter rvores de reduzidssimas dimenses que apresentam, no entanto, um desempenho notvel. Por ltimo gostaria ainda de salientar os resultados alcanados pelo algoritmo de histograma, que tendo sido criado tendo em vista sobretudo os problemas envolvendo caractersticas contnuas, permitiu uma adaptao bastante correcta ao domnio discreto conseguindo alcanar resultados muito aceitveis no primeiro e terceiro exemplos e muito bons no segundo exemplo. Alguns reparos podem, no entanto, ser efectuados quanto dimenso das rvores geradas por este mtodo. Na verdade, a poda das rvores essencial no que respeita sua dimenso e bastante benfica, na maioria dos casos, no que respeita ao seu desempenho de classificao. Regra geral, a poda permite diminuir drasticamente a dimenso das rvores e aumentar a sua preciso. convico do autor que a aplicao de um correcto algoritmo de poda permitir, mantendo ou mesmo aumentando a preciso de qualificao, reduzir a dimenso das rvores agora geradas pelo algoritmo do histograma para valores comparveis aos apresentados pelos outros algoritmos aqui comparados. A aplicao de um algoritmo de poda s no foi j desenvolvida por limitaes de temporais sendo este um dos pontos que o autor pretende explorar logo que possvel.

6.2.2.Exemplos no domnio contnuo ou mistos


Faz-se seguidamente uma breve apresentao dos problemas utilizados no domnio contnuo ou misto. So seguidamente apresentados os resultados obtidos pelos diferentes algoritmos em confronto em termos do seu desempenho na classificao dos exemplos dos vrios problemas.

6.2.2.1.Caracterizao das bases de dados utilizadas no domnio contnuo ou mistas

Jos Manuel Fonseca

Induo de rvores de Deciso

Algoritmos de induo de rvores de deciso


Exemplo Austral Diabetes Heart Ionospher Iris Liver Satelite Segment Vehicule Wine N de exemplos 690 768 270 351 150 345 4435 2310 846 178 Discretos 8 0 7 0 0 0 0 0 0 0 N de atributos Contnuos 6 8 6 34 4 6 36 19 18 13 N de classes Total 14 8 13 34 4 6 36 19 18 13 2 2 2 2 3 2 6 7 4 3

103

Tabela 6.16 - Resumo das caractersticas dos diversos problemas de testes dos algoritmos. A tabela anterior apresenta um resumo das caractersticas de cada um dos 10 problemas que foram apresentados aos diversos algoritmos. Uma descrio mais detalhada destes exemplos apresentada no anexo E.

6.2.3. Resultados obtidos


Os resultados obtidos pelos diversos algoritmos so resumidos na tabela 6.9. Alguns comentrios devem ser efectuados em relao a esta tabela. Um facto evidente a dimenso extremamente reduzida das rvores produzidas pelo algoritmo CART. De facto, a dimenso das rvores CART situa-se entre 1/2 e 1/10 daquelas que so originadas pelo C4.5. Neste aspecto o algoritmo HistClass est em grande desigualdade de circunstncias pois ao adoptar, recorde-se que por uma questo de simplicidade, um mtodo de paragem durante o crescimento, no pode, de modo algum, competir com os mtodos de poda adoptados pelos outros algoritmos. Em termos de desempenho na classificao os trs algoritmos apresentam resultados bastante equilibrados.
CART Austral Diabetes Heart Ionospher Iris Liver Satelite Segment Vehicule Wine Dimenso 3 15 7 5 5 17 115 47 25 9 % erro 14.5 26.0 23.3 10.0 6.6 31.0 14.7 4.7 30.6 5.0 Dimenso 60 126 46 23 9 79 399 88 181 10 C4.5 % erro 15.2 28.4 21.1 8.0 6.6 34.8 13.9 3.6 30.0 5.8 HistClass Dimenso 60 62 39 5 8 56 190 118 204 10 % erro 13.9 23.0 27.0 17.0 5.3 32.0 17.1 7.2 33.0 9.5

Tabela 6.18 - Resumo dos resultados obtidos pelos diversos algoritmos. O algoritmo proposto nesta tese consegue os melhores resultados em trs dos exemplos tendo, no entanto, resultados um tanto negativos em pelo menos dois outros problemas. No entanto, convico do autor que a implementao de um algoritmo de poda (que a efectuar-se seria certamente segundo o mtodo de reduo do factor de custo/complexidade) pode aumentar de forma muito significativa o desempenho

Jos Manuel Fonseca

Induo de rvores de Deciso

104

Algoritmos de induo de rvores de deciso

desta soluo tanto em termos de complexidade das rvores produzidas como no erro obtido. ainda de salientar a grande complexidade de clculo envolvida nos algoritmos CART e C4.5. Para este facto contribui essencialmente o mtodo de escolha do ponto de ciso que, envolvendo a ordenao dos valores de cada atributo e o teste da qualidade resultante da adopo de cada um dos valores intermdios possveis, torna o volume de processamento extraordinariamente elevado especialmente quando se trata de problemas envolvendo um grande nmero de amostras. Por outro lado, tambm o mtodo de poda adoptado pelo CART penaliza bastante o seu tempo de clculo dada a sua grande complexidade. No entanto, esta factor no foi explorado ao longo deste trabalho dado que, como foi j referido, apesar dos esforos efectuados para se conseguir uma plataforma nica de execuo das vrias solues, tal no foi possvel.

Jos Manuel Fonseca

Induo de rvores de Deciso

Jos Manuel Fonseca

Induo de rvores de Deciso

CAPTULO 7
Concluses e trabalho futuro
O algoritmo apresentado nesta tese, bem como todo o trabalho de comparao com outros algoritmos bem conhecidos na literatura da especialidade, est longe de se considerar terminado. convico do autor que o que importa neste momento, em lugar de encerrar o estudo efectuado tecendo algumas consideraes elogiosas ao algoritmo proposto em detrimento dos seus opositores, mais importante apontar com preciso os seus pontos fracos de modo a abrir desde j hipteses de desenvolvimento de novas ideias com vista ao melhoramento do trabalho at agora desenvolvido e, porque no diz-lo, sua reviso de modo a obter um melhor desempenho. Vejamos ento alguns dos pontos fracos da actual proposta: Regras de partio - a regra de partio baseada no histograma de ocorrncias dos atributos mostra-se eficiente especialmente no tratamento de grandes quantidades de dados. Parece ser uma evoluo importante a definio de um mtodo de clculo automtico dos patamares de aceitao e rejeio. Sendo estes valores determinados a priori pelo utilizador e idnticos para todos os atributos dentro de cada problema, torna-se difcil a optimizao destes valores para um problema especfico. Deve no entanto salientar-se a reduzida sensibilidade demonstrada pelo algoritmo em relao s variaes destes valores. Eleio da melhor caracterstica - a implementao de outros mtodos de eleio da melhor caracterstica, para alm dos j implementados poder, em princpio, melhorar os resultados obtidos. Limitao no crescimento durante a construo - a ausncia de um mtodo de poda , na opinio do autor, o factor mais desfavorvel em relao aos resultados obtidos. Com efeito, tanto em termos das dimenses das rvores obtidas, como no que respeita ao seu erro de classificao, os algoritmos de poda revelam-se extremamente teis. Com a sua utilizao, consegue-se normalmente uma reduo na dimenso das rvores obtendo-se em geral rvores muito mais concisas, mais legveis e mais correctas. A dimenso das rvores , na perspectiva do autor, um

Jos Manuel Fonseca

Induo de rvores de Deciso

106

Concluses e trabalho futuro

factor preponderante, dado ser a sua interpretao pelo utilizador um objectivo primordial da rea de descoberta de conhecimento onde se pensa aplicar este tipo de algoritmos. tambm de referir que, de entre os algoritmos de poda apresentados, o algoritmo de reduo por custo/complexidade aquele que apresenta um melhor desempenho, sendo portanto aquele que ser integrado no actual sistema. Tratamento de valores desconhecidos - embora o trabalho efectuado ao longo desta tese no contemple o tratamento de valores desconhecidos, inteno do autor adicionar esta possibilidade ao algoritmo proposto, abrindo assim um novo e amplo leque de aplicaes. Com o intuito de melhorar o algoritmo proposto e integrar novas tecnologias que se revelam prometedoras nesta rea prevem-se os seguintes desenvolvimentos: Desenvolvimento de um pacote completo para induo de rvores de deciso, integrando um elevado nmero de tcnicas para a implementao dos diversos clculos necessrios. Com efeito, surge como um culminar natural do trabalho desenvolvido at este ponto, o aperfeioamento do software desenvolvido para esta tese, dotando-o de um ainda maior nmero de opes nos diversos aspectos de que se reveste. A integrao neste pacote de tcnicas propostas por outros autores em algoritmos como o C4.5, o CART ou o OC1, juntamente com as tcnicas originais apresentadas nesta tese permitir uma comparao uniforme entre as vrias propostas. Este trabalho tornar ainda possvel a construo de sistemas hbridos pela conjuno num dado processamento de tcnicas caractersticas de sistemas distintos. Introduo da possibilidade de definio de custos do erro de classificao. Implementao de ferramentas grficas de anlise de rvores de deciso com vista a possibilitar obter o mximo de informao a partir da sua estrutura. Aplicao de algoritmos genticos para o clculo das parties nos ns. A pesquisa dos coeficientes ideais para o clculo das parties com base em combinaes lineares de atributos parecem constituir um campo privilegiado de aplicao de algoritmos genticos. Utilizao de redes neuronais para o clculo das parties. As redes neuronais, dado o seu grande poder de descriminao, parecem constituir uma ferramenta ptima para o clculo de parties nos vrios ns de uma rvore da deciso. Embora as redes neuronais apresentem uma enorme dificuldade no que respeita sua interpretao, este problema pode, em princpio, ser contornado. Mantendo uma baixa complexidade nas redes colocadas em cada n, possvel uma mais fcil interpretao de cada uma delas, possibilitando assim uma explicao global para o problema. Introduo do conceito de especialistas. Parece uma ideia prometedora a introduo do conceito de especialistas para a construo de classificadores/analisadores automticos. Desta forma,

Jos Manuel Fonseca

Induo de rvores de Deciso

Concluses e trabalho futuro

107

possvel a construo de classificadores de grande simplicidade, apresentando, no entanto, alguns defeitos na classificao de alguns tipos de exemplos. A aplicao de classificadores especializados neste tipo de distino - os chamados especialistas - permite contornar esta dificuldade. Existem no entanto muitos pontos neste tipo de abordagem que falta ainda esclarecer necessitando um investimento considervel. Em jeito de concluso, ser de referir a grande satisfao obtida pelo desenvolvimento de um algoritmo original que viria a demonstar possuir a possibilidade de obter resultados, em termos de qualidade de classificao, comparveis com outros algoritmos sobejamente conhecidos implicando, no entanto, uma complexidade de clculo bastante inferior a estes. O grande desafio que se coloca nesta fase a aplicao deste tipo de algoritmos e em particular do algoritmo proposto nesta tese a casos reais, tanto para a construo de classificadores, como para a anlise de dados com vista descoberta de conhecimento.

Jos Manuel Fonseca

Induo de rvores de Deciso

Jos Manuel Fonseca

Induo de rvores de Deciso

ANEXO A
Deduo das equaes de aprendizagem backpropagation
y b

b1 z1 a1 a1p a11 a12 z2

b2

bq

a2 a2p

... ...
u=

zq aq aq1 aq3

aqp

x1

x2

x3

xp-1

xp

Figura A.1 - Estrutura de uma rede neuronal de duas camadas com q neurnios na camada de entrada e um neurnio na camada de sada. As equaes da rede representada na figura anterior so:

y = g( u)
z i = g( t i )

b z
i =1
p

i i

b
ai

(A.1)

ti =

a
j=1

ij x j

(A.2)

g( ) =

1 e 1 + e

(A.3)

Para a aprendizagem, adoptando-se o mtodo do gradiente, a variao nos pesos de cada neurnio em cada ciclo de treino dever ser proporcional, com uma qualquer constante de proporcionalidade , variao do erro em funo dos prprios pesos. Ento:

a ij =

E a ij

(A.4)

Jos Manuel Fonseca

109

Induo de rvores de Deciso

110 Podemos ento dizer:

Deduo das equaes de aprendizagem backpropagation

a ij ( k + 1) = a ij ( k )

E a ij

(A.5)

Dado que o erro da rede numa determinada classificao dado pela distncia euclidiana entre o vector de sada desejado e aquele que obtido, podemos escrever:

E = ( d y )2
Assim:
d y = 2( d y) a ij a ij a ij E y = 2( d y) a ij

(A.6)

(A.7)

Uma vez que:


y a ij = y u u a ij = y u z i u z i a ij = y u z i t i u z i t i a ij

(A.8)

Vejamos ento as vrias parcelas:

1 e u 1 1 y2 ) = ( u = u u 1 + e 2 y
Dado que para a camada de sada temos: u=

(A.9)

b z
i =1

i i

(A.10)

Teremos:

q = bi zi b = bi z i z i i=1 u

(A.11)

Dado ainda que:

z i = g( t i )
p

z i 1 = ( 1 z i2 ) t i 2
t i = xj a ij

(A.12)

ti =

a ij x j a i
j =1

(A.13)

Substituindo (A.8), (A.9), (A.11), (A.12) e (A.13) em (A.7) teremos:


E a ij = 2( d y) y u z i t

1 = ( d y )( 1 y 2 ) b i ( 1 z 2 i )xj 2 u z i t a ij

(A.14)

Jos Manuel Fonseca

Induo de rvores de Deciso

Deduo das equaes de aprendizagem backpropagation Finalmente:

111

1 a ij ( k + 1) = a ij ( k ) + (d y)( 1 y 2 ) b i ( k )( 1 z 2 i )xj 2
De forma anloga:
E a i = a i

(A.15)

( d y) 2 = 2( d y)

y a i

= 2( d y)

y u z i t i u z i t i a ij

(A.16)

t i a i

p a ij x j + a i = 1 a i j=1

(A.17)

Usando (A.9), (A.11), (A.12) e (A.17) em (A.16) teremos:

E 1 = ( d y)( 1 y 2 ) b i ( 1 z 2 i ) a i 2
E portanto:

(A.18)

a i ( k + 1) = a i ( k ) +
Para os pesos bi teremos:

1 ( d y)(1 y2 ) bi ( k )(1 z2 i ) 2

(A.19)

b i ( k + 1) = b i ( k )
E b i = b i

E b i
y u u b i

(A.20)

( d y) 2 = 2( d y)
u

y b i

= 2( d y)

(A.21)

q = b i zi + b = zi b i b i i=1

(A.22) (A.23)

E = ( d y)( 1 y 2 ) z i b i

E portanto:

b i ( k + 1) = b i ( k ) + ( d y)( 1 y 2 ) z i

(A.24)

Em relao a b teremos:

b( k + 1) = b( k )
E b = b

E b
y u u b

(A.25) (A.26) (A.27)

( d y) 2 = 2( d y)
u b =

y b

= 2( d y)

q bi zi + b = 1 b i=1

De (A.9) e (A.27) vem:


Jos Manuel Fonseca Induo de rvores de Deciso

112

Deduo das equaes de aprendizagem backpropagation

E = ( d y)( 1 y 2 ) b
e portanto:

(A.28)

b( k + 1) = b( k ) + ( d y)( 1 y 2 )

(A.29)

Jos Manuel Fonseca

Induo de rvores de Deciso

ANEXO B
Algoritmo de pesquisa de combinaes lineares
Suponha que num dado n , existem N vectores de medida com dimenso M. Denotem-se as coordenadas do n-simo vector por xm,n com m=1,...,M e n=1,...,N. 1 passo - Normalizar os N valores xm,n com n=1,..,N atravs da centragem na sua mediana e diviso pelo seu intervalo interquartile (interquartile range1). Gerar aleatoriamente um vector de coeficientes e um valor c. 2 passo - Para todas as variveis xi de x1 a xM fazer: 2.1 - Para =0, =0.25 e =-0.25 encontrar a melhor partio da forma:

v - (x i + ) c
Onde:

(B.1)

v= Rescrevendo a equao (B.1) teremos:

m =1

mxm

(B.2)

(x i + ) v - c
Assim:

(B.3)

v-c (x i + ) v-c (x i + )
Fazendo:

se x i + 0 se x i + < 0
(B.4)

un =

vn c x i ,n +

onde n = 1.. N

(B.5)

1quartile - valor que marca o fronteira entre dois intervalos consecutivos numa distribuio de frequncias com quatro intervalos contendo cada um um quarto da populao total.

Jos Manuel Fonseca

Induo de rvores de Deciso

114 Ordene os valores de un e:

Algoritmo de pesquisa de combinaes lineares

se un tal que x i,n + 0 - procure, variando 1 , a melhor partio da forma u n 1 . se un tal que x i,n + 0 - procure, variando 2 , a melhor partio da forma u n 2 . escolha a melhor das duas parties e atribua a o valor do patamar respectivo ( 1 ou 2 ).
2.2 - Comparar os trs resultados obtidos e escolher os valores e que correspondem ao melhor

ensaio. Actualizar os parmetros de acordo com:


m = m m = m se m = i se m i

c = c +

(B.6)

3 passo - Seja sn a partio por combinao linear produzida no fim do n-simo ciclo. Repetir a partir

do 2 passo se ( um pequeno valor definido pelo utilizador): ( sn , t ) ( sn 1 , t ) >


4 passo - Transpor o vector encontrado para a escala original, no normalizada.

(B.7)

interessante observarmos qual o comportamento do programa CART, que utiliza este algoritmo para a pesquisa de combinaes lineares entre os atributos, perante um problema com 30 exemplos, 14 da classe 0 e 16 da classe 1, com os valores dos atributos entre -1 e 1, sendo a classe 0 caracterizada por y>x e a classe 1 por yx. De forma a podermos ter uma ideia da vantagem de ser efectuada uma pesquisa deste tipo vejamos tambm quais os resultados obtidos pelo mesmo algoritmo sem tirar partido da combinao linear entre atributos.

y<=0.03 1 x<=0.21 0

y>=0.03

-0.59x+0.81y<=-0.04 1 x>=0.21 1

-0.59x+0.81y>-0.04 0

Figura B.2 - rvores geradas pelo algoritmo CART sem e com combinao linear de atributos. A partio do espao efectuada em cada um dos casos representada na figura seguinte:

Figura B.4 - Parties resultantes das rvores geradas pelo algoritmo CART sem e com combinao linear de atributos.
Jos Manuel Fonseca Induo de rvores de Deciso

Algoritmo de pesquisa de combinaes lineares

115

Repare-se na muito melhor generalizao conseguida pela soluo com combinao linear de atributos que no s consegue classificar correctamente todos os exemplos, o que no acontece com a outra soluo, como se aproxima muito mais da soluo ideal. Esta tendncia para uma maior eficincia por parte da soluo utilizando combinaes lineares ainda mais evidente se tentarmos resolver um problema em tudo idntico a este mas tendo no conjunto de treino 2000 exemplos. O elevado nmero de exemplos torna o problema especialmente difcil para a soluo sem combinaes entre atributos levando a que seja gerada uma rvore contendo 24 ns e 25 folhas que obtm um erro de 2% na validao cruzada. Por outro lado, a soluo encontrada utilizando combinaes entre atributos possue apenas um n e duas folhas consistindo aproximadamente na recta x>y que consegue obter um erro de 0% na validao cruzada.

Jos Manuel Fonseca

Induo de rvores de Deciso

Jos Manuel Fonseca

Induo de rvores de Deciso

ANEXO C
Comandos disponveis e exemplo de execuo do programa CART
Resumo dos comandos disponveis Apresenta-se seguidamente um breve resumo dos comandos do programa CART. Este resumo visa apenas dar um ideia da variedade de comandos disponveis no pretendendo de forma alguma constituir um guia de utilizao do produto.

Comando Adjust Boptions

Build Case Category Cdf Charset Dos Error Fedit Format Fpath Help Hist Idvar

Significado Permite o ajuste de parmetros crticos na gesto da memria Permite a especificao de vrios parmetros de gerao das rvores de deciso tais como: limitao no crescimento da rvore inicial, nmero de alternativas em cada n, nmero de rvores apresentadas no relatrio, mximo nmero de classes, nmero de exemplos mnimo para validao por conjunto independente, tipo de relatrio, etc. L o conjunto de treino e gera a rvore de deciso. Classifica caso-a-caso. Identifica variveis discretas. Opcionalmente especifica o nmero de diferentes nveis e valores mnimos. Clculo de distribuies, densidades ou distribuies inversas. Especifica o tipo de caracteres utilizados. Suspende o programa CART e lana uma instncia do sistema operativo. Especifica o mtodo de estimao de erro utilizado (validao cruzada, conjunto independente, estimao por resubstituio). Permite a edio de ficheiros de texto com vista ao desenvolvimento de ficheiros de comandos. Especifica a preciso com que os valores numricos so mostrados. Define a directoria de trabalho para os vrios comandos. Fornece breves explicaes sobre os vrios comandos. Gera grficos de baixa resoluo das variveis. Selecciona uma varivel para que seja salva ou afixada juntamente com todos os comandos de escrita no cran ou em ficheiros.

Jos Manuel Fonseca

117

Induo de rvores de Deciso

118 Limit

Comandos disponveis e exemplo de execuo do programa CART Especifica limites no crescimento das rvores. Permite a definio do nmero de exemplos abaixo do qual um n no ser mais expandido, profundidade mxima da rvore, nmero mximo de exemplos no conjunto de treino, mximo nmero de exemplos no conjunto de teste, etc. Selecciona a pesquisa de combinaes lineares de variveis contnuas. Controla um conjunto de opes binrias de controle da amostragem de resultados. Permite a execuo de um ficheiro de macros. Fornece informao sobre o uso de memria e respectivas necessidades. Permite especificar o mtodo de escolha da melhor caracterstica (por omisso utilizado o mtodo de Gini). Permite especificar custos de classificao. Especifica a varivel dependente e opcionalmente um subconjunto das variveis independentes para a predio. Mostra os valores das variveis do conjunto de treino. Anula todas as opes re-inicializando o programa. Escreve uma linha de texto no dispositivo de sada corrente. Mostra as opes correntes. Redirecciona os resultados para uma impressora, para o cran ou para um ficheiro. Permite especificar opes relacionadas com a formatao dos resultados (dimenses da pgina, ttulos, tipo de impressora, etc). Permite rever a sequncia de gerao de rvores mostrando com detalhe a rvore especificada atravs do seu nmero de ns, nmero de sequncia ou valor de complexidade. Permite ainda alterar a preciso de amostragem do valor de complexidade e o nmero de rvores mostradas na lista de gerao de rvores. Permite definir probabilidades a priori para as classes. possvel adoptar a percentagem observada nos exemplos que se encontram simultaneamente no conjunto de treino e de teste, no conjunto de treino, no conjunto de teste, prioridades uniformes (1/nmero de classes), mdia entre as percentagens no dois conjuntos e as prioridades uniformes ou especificar as probabilidades classe por classe. Termina o programa e regressa ao sistema operativo. Permite inserir comentrios na sequncia de comandos (til para ficheiros de comandos). Permite inicializar o gerador pseudo-aleatrio com um valor dado pelo utilizador. Permite especificar um critrio para a seleco de um subconjunto de exemplos na construo de rvores. Permite a execuo de uma sequncia de comandos a partir de um ficheiro de texto. Permite comutar para outro mdulo SYSTAT e opcionalmente executar um ficheiro de comandos nesse mdulo. Usado em conjunto com o comando build cria os ficheiros onde a informao sobre a rvore gerada guardada para posterior anlise. Abre um ficheiro SYSTAT para anlise e lista o nome das variveis contidas nesse ficheiro. Identifica uma varivel para ser usada como peso de classificao. Produz grficos a duas dimenses de baixa resoluo das variveis no conjunto de treino. Tabela C.1 - Comandos disponveis no programa CART.

Linear Loptions Macro Memory Method Misclass Model Names New Note Options Output Page Pick

Priors

Quit Rem Seed Select Submit Switchto Tree Use Weight Xyplot

Jos Manuel Fonseca

Induo de rvores de Deciso

Comandos disponveis e exemplo de execuo do programa CART Exemplo de execuo

119

O exemplo transcrito neste anexo o resultado da execuo dos comandos contidos no ficheiro Heart.cmd.
Contedo do ficheiro Heart.cmd output heart.res format=6 use heart tree heart category class=2,v2,v3,v6,v7,v9,v13 priors data model class error cross=10 build Significado Resultados colocados no ficheiro heart.res Valores mostrados com 6 casas decimais Valores no ficheiro heart.sys rvore colocada no ficheiro heart.tr1 e heart.tr2 Varivel discreta Class com dois valores possveis. Definio das variveis v2, v3, v6, v7, v9 e v13 como discretas Distibuio de prob. para as classes baseadas no conj. treino Varivel dependente Class Estimao de erro por validao cruzada de 10 camadas Gera rvore

Figura C.1 - Contedo do ficheiro Heart.cmd.


######################################## ############################################################ ###### ## ## ###### ######## ## ######## ### ## ## ## ### ## ## #### ## ### ## ## ### ## ## ## ## ### #### ### ## ######## ## ## ### ## ## ### ## ## ## ## ###### ## ###### ## ## ## ## #########################################################(R) ###################################### CART VERSION 1.01 (INTERFACE 5.02) COPYRIGHT, 1993 SYSTAT, INC. 60000 PREPROCESSOR WORKSPACE ELEMENTS. 625000 TREE BUILDING WORKSPACE ELEMENTS. SYSTAT BASIC WORKSPACE CLEARED. >submit heart VARIABLES IN SYSTAT RECT FILE ARE: V1 V2 V3 V6 V7 V8 V11 V12 V13 HEART.SYS: 31142 BYTES, 270 RECORDS. SYSTAT BASIC WORKSPACE CLEARED. RECORDS READ: 270 RECORDS WRITTEN IN LEARNING SAMPLE: 270 AUTOMATIC LEVEL SETTINGS NAME LEVELS MINIMUM -------------------------------------V2 2 0 V3 4 1 V6 2 0 V7 3 0 V9 2 0 V13 5 3 CLASS 2 1 DATA PRIORS: 0.555556 0.444444 Necessidades de memria ANALYSIS: 13668 Nmero de exemplos lidos N de exemplos no conj. de treino

V4 V9 CLASS

V5 V10

CURRENT MEMORY REQUIREMENTS TOTAL: 17448 DATA: AVAILABLE: 625000 SURPLUS: 607552

3780

270 Observations in the learning sample. File: HEART.SYS ============= TREE SEQUENCE ============= Dependent variable: CLASS

Ficheiro de dados utilizado Sequncia de reduo

Jos Manuel Fonseca

Induo de rvores de Deciso

120

Comandos disponveis e exemplo de execuo do programa CART

Terminal Cross-Validated Resubstitution Complexity Tree Nodes Relative Cost Relative Cost Parameter -----------------------------------------------------------------1 19 0.550000 +/- 0.058562 0.166667 0.000000 2 18 0.550000 +/- 0.058562 0.166667 0.000010 3 15 0.508333 +/- 0.056540 0.191667 0.003714 4 11 0.516667 +/- 0.056780 0.233333 0.004640 5* 8 0.483333 +/- 0.055877 0.283333 0.007417 6** 6 0.500000 +/- 0.056667 0.325000 0.009269 7 4 0.541667 +/- 0.058392 0.416667 0.020380 8 2 0.675000 +/- 0.062542 0.533333 0.025936 9 1 1.000000 +/- 0.000064 1.000000 0.207417 Initial misclassification cost = 0.444444 Initial class assignment = 1 CROSS VALIDATION RELATIVE COST VS. NUMBER OF NODES -------------------------------------------------------------1.000064 |* | | | 0.928488 | | | | 0.856912 | | | | 0.785336 | | | . | 0.713760 | | | * | 0.642184 | | | . . . .| 0.570608 | . . . | | * . * *| 0.499032 | . * * * * . .| | . . | 0.427457 | . . | -------------------------------------------------------------1.000000 | 10.000000 | 19.000000 5.500000 14.500000 C.V. & RESUB (*) RELATIVE COST VS. NUMBER OF NODES -------------------------------------------------------------1.000064 |* | | | 0.895890 | | | | 0.791715 | | | | 0.687540 | * | | | 0.583365 | | | * * * * * *| 0.479191 | * * | | * | 0.375016 | | | * | 0.270841 | * | | * | 0.166667 | * * *| -------------------------------------------------------------1.000000 | 10.000000 | 19.000000 5.500000 14.500000 COMPLEXITY VS. NUMBER OF NODES -------------------------------------------------------------0.207417 |* | | | 0.181490 | | | | 0.155563 | | | | 0.129636 | | | | 0.103709 | | | | 0.077782 | | | | 0.051854 | | | | 0.025927 | * * | | * * | 0.000000 | * * * *| -------------------------------------------------------------1.000000 | 10.000000 | 19.000000

Jos Manuel Fonseca

Induo de rvores de Deciso

Comandos disponveis e exemplo de execuo do programa CART


5.500000 =========================== CLASSIFICATION TREE DIAGRAM =========================== | --------------------------1-------------------------| | ------------2---------------------4----------| | | | --------3--------------5------| | | | Terminal Regions 1 2 3 4 5 6 14.500000

121

================ NODE INFORMATION ================ * * * * 1 * * * * * * * * * * 152 118 * * * * * * * * * * 2 * * * * * * * * * * * * * 4 * * * * * * * Node 1 was split on variable V13 A case goes left if variable V13 = (3,4,5) Improvement = 0.133150 C. T. = 0.207407 Node 1 2 4 Class 1 2 1 2 3 4 5 1 2 3 4 5 * * * * 2 * * * * * * * * * * 101 51 * * * * ---*--| | | | | 1 | | | | | ------* * * * * * * 3 * * * * * * * Cases 270 152 118 Class 1 1 2 Top 0.555556 0.444444 Cost 0.444444 0.217105 0.262712 Within Node Prob. Left Right 0.782895 0.262712 0.217105 0.737288 Improve. 0.086822 0.073604 0.043772 0.124630 0.066610 Improve. 0.124630 0.109989 0.086822 0.080584 0.079299

Number Of Cases Top Left Right 150 119 31 120 33 87 Surrogate V9 V8 V2 V3 V10 Competitor V3 V12 V9 V8 V10

Split s 0 r 150.500000 s 0 s 1,2,3 s 1.550000 Split 1,2,3 0.500000 0 147.500000 1.700000

Assoc. 0.245762 0.237288 0.228812 0.228812 0.220338

Node 2 was split on variable V3 A case goes left if variable V3 = (1,2,3) Improvement = 0.031098 C. T. = 0.025926 Node 2 -1 3 Class 1 2 1 2 3 4 5 1 2 3 4 5 Cases 152 101 51 Class 1 1 1 Top 0.782895 0.217105 Cost 0.217105 0.099010 0.450980 Within Node Prob. Left Right 0.900990 0.549020 0.099010 0.450980 Improve. 0.017244 0.018630 0.004582 0.017571 0.017571 Improve. 0.029491 0.023779 0.023779 0.019263 0.017244

Number Of Cases Top Left Right 119 91 28 33 10 23 Surrogate V9 V8 V4 V12 V10 Competitor V12 V8 V10 V1 V9

Split s 0 r 125.500000 s 167.000000 s 2.500000 s 3.100000 Split 0.500000 119.500000 2.100000 57.500000 0

Assoc. 0.196078 0.137255 0.058822 0.039214 0.039214

* * * * *

Node 3 was split on variable V12 A case goes left if variable V12 <= Improvement = 0.038805 C. T. =

0.500000 0.051852

Jos Manuel Fonseca

Induo de rvores de Deciso

122
3 * * * * * * * * * 31 20 * * * * ---*--| | | | | 2 | | | | | ------* Node 3 -2 -3

Comandos disponveis e exemplo de execuo do programa CART


Cases 51 31 20 Class 1 1 2 Cost 0.450980 0.193548 0.150000

Number Of Cases Within Node Prob. Class Top Left Right Top Left Right * 1 28 25 3 0.549020 0.806452 0.150000 ---*--2 23 6 17 0.450980 0.193548 0.850000 | | | | Surrogate Split Assoc. Improve. | 3 | 1 V8 r 142.500000 0.350000 0.012273 | | 2 V10 s 1.700000 0.299999 0.011224 | | 3 V1 s 62.500000 0.250000 0.003493 ------4 V4 r 113.500000 0.150000 0.001068 5 V6 s 0 0.100000 0.004648 1 2 3 4 5 Competitor V8 V1 V9 V10 V11 Split 120.000000 53.500000 0 1.700000 1.500000 Improve. 0.024401 0.015353 0.015114 0.011224 0.008523

* * * * * * * 4 * * * * * * * * * 53 65 * * * * * * * * * 5 * * * * * *

Node 4 was split on variable V12 A case goes left if variable V12 <= Improvement = 0.031128 C. T. = Node 4 5 -6 Cases 118 53 65 Class 2 2 2

0.500000 0.020370

Cost 0.262712 0.471698 0.092308

Number Of Cases Within Node Prob. Class Top Left Right Top Left Right * 1 31 25 6 0.262712 0.471698 0.092308 ---*--2 87 28 59 0.737288 0.528302 0.907692 | | | | Surrogate Split Assoc. Improve. | 6 | 1 V1 s 53.500000 0.320755 0.000873 | | 2 V3 s 1,2 0.207548 0.015590 | | 3 V5 s 204.500000 0.188679 0.007371 ------4 V8 r 154.500000 0.132076 0.006412 5 V11 r 2.500000 0.132076 0.000009 1 2 3 4 5 Competitor V3 V10 V8 V9 V4 Split 1,2,3 0.550000 144.500000 0 109.000000 Improve. 0.030837 0.025165 0.018142 0.018142 0.015247

* * * * 5 * * * * * * * * * * 29 24 * * * * ---*--| | | | | 4 | | | | | ------*

Node 5 was split on variable V9 A case goes left if variable V9 = (0) Improvement = 0.022536 C. T. = Node 5 -4 -5 Cases 53 29 24 Class 2 1 2

0.040741

Cost 0.471698 0.310345 0.208333

Number Of Cases Within Node Prob. Class Top Left Right Top Left Right * 1 25 20 5 0.471698 0.689655 0.208333 ---*--2 28 9 19 0.528302 0.310345 0.791667 | | | | Surrogate Split Assoc. Improve. | 5 | 1 V8 r 131.500000 0.458333 0.012891 | | 2 V10 s 0.550000 0.375000 0.012402 | | 3 V3 s 1,2,3 0.333333 0.021527 ------4 V4 s 124.500000 0.208333 0.001516 5 V5 s 266.500000 0.166667 0.007593 Competitor 1 V3 2 V10 Split 1,2,3 0.700000 Improve. 0.021527 0.015162

Jos Manuel Fonseca

Induo de rvores de Deciso

Comandos disponveis e exemplo de execuo do programa CART


3 V1 4 V8 5 V13 51.500000 144.500000 3,4,5,6 0.013379 0.013379 0.008876

123

========================= TERMINAL NODE INFORMATION ========================= Complexity Node N Prob Class Cost Class N Prob Threshold -------------------------------------------------------------------------1 101 0.374074 1 0.099010 1 91 0.900990 0.025926 2 10 0.099010 2 3 4 5 6 31 20 29 24 65 0.114815 0.074074 0.107407 0.088889 0.240741 1 2 1 2 2 0.193548 0.150000 0.310345 0.208333 0.092308 1 2 1 2 1 2 1 2 1 2 25 6 3 17 20 9 5 19 6 59 0.806452 0.193548 0.150000 0.850000 0.689655 0.310345 0.208333 0.791667 0.092308 0.907692 0.051852 0.051852 0.040741 0.040741 0.020370

========================== MISCLASSIFICATION BY CLASS ========================== |------CROSS VALIDATION------||-----LEARNING SAMPLE--------| Prior N MisN MisClass Prob. N Classified Cost N Classified Cost ---------------------------------------------------------------------------1 0.555556 150 28 0.186667 150 14 0.093333 2 0.444444 120 32 0.266667 120 25 0.208333 ---------------------------------------------------------------------------Tot 1.000000 270 60 270 39 ===================================== CROSS VALIDATION CLASSIFICATION TABLE ===================================== ACTUAL PREDICTED CLASS ACTUAL CLASS 1 2 TOTAL --------------------------------------------------1 122.000000 28.000000 150.000000 2 32.000000 88.000000 120.000000 --------------------------------------------------PRED. TOT. 154.000000 116.000000 270.000000 CORRECT 0.813333 0.733333 SUCCESS IND. 0.257778 0.288889 TOT. CORRECT 0.777778 SENSITIVITY: 0.813333 SPECIFICITY: 0.733333 FALSE REFERENCE: 0.207792 FALSE RESPONSE: 0.241379 REFERENCE = CLASS 1, RESPONSE = CLASS 2 ----------------------------------------------------------================================================= CROSS VALIDATION CLASSIFICATION PROBABILITY TABLE ================================================= ACTUAL PREDICTED CLASS ACTUAL CLASS 1 2 TOTAL --------------------------------------------------1 0.813333 0.186667 1.000000 2 0.266667 0.733333 1.000000 --------------------------------------------------==================================== LEARNING SAMPLE CLASSIFICATION TABLE

Jos Manuel Fonseca

Induo de rvores de Deciso

124

Comandos disponveis e exemplo de execuo do programa CART

==================================== ACTUAL PREDICTED CLASS ACTUAL CLASS 1 2 TOTAL --------------------------------------------------1 136.000000 14.000000 150.000000 2 25.000000 95.000000 120.000000 --------------------------------------------------PRED. TOT. 161.000000 109.000000 270.000000 CORRECT 0.906667 0.791667 SUCCESS IND. 0.351111 0.347222 TOT. CORRECT 0.855556 SENSITIVITY: 0.906667 SPECIFICITY: 0.791667 FALSE REFERENCE: 0.155280 FALSE RESPONSE: 0.128440 REFERENCE = CLASS 1, RESPONSE = CLASS 2 ----------------------------------------------------------================================================ LEARNING SAMPLE CLASSIFICATION PROBABILITY TABLE ================================================ ACTUAL PREDICTED CLASS ACTUAL CLASS 1 2 TOTAL --------------------------------------------------1 0.906667 0.093333 1.000000 2 0.208333 0.791667 1.000000 --------------------------------------------------=================== VARIABLE IMPORTANCE =================== Relative Number Of Minimum Importance Categories Category ------------------------------------------------V3 100.000000 4 1 V13 69.045425 5 3 V9 65.649719 2 0 V8 64.201942 V10 55.903702 V12 45.375565 V2 22.698027 2 0 V5 7.759664 V4 3.715371 V6 2.410126 2 0 V1 2.264123 V11 0.004675 V7 0.000000 3 0

rvore gerada
V13

=3,4,5 V3 =1,2,3 1 <=0.5 1 =4 V12 >0.5 2

=6,7 V12 <=0.5 V9 =0 1 =1 2 >0.5 2

Figura C.2 - rvore gerada pelo programa CART para o exemplo Heart.

Jos Manuel Fonseca

Induo de rvores de Deciso

ANEXO D
Comandos disponveis e exemplo de execuo do programa C4.5
Resumo dos comandos disponveis A prxima tabela apresenta um pequeno resumo dos comandos disponveis no programa C4.5. Comando -f file -u -s -m valor -c CF -v nvel -t trees -w dimenso Significado Indica qual o nome dos ficheiros a processar. Indica que se pretende a utilizao de um ficheiro de teste. Valor por omisso DF No utilizao de ficheiro de teste. Indica que dever ser efectuado o agrupamento de valores No agrupamento para atributos discretos. de atributos. Especifica o nmero mnimo de exemplos para que seja 2 efectuada uma partio. Permite definir o valor do factor de confiana. 25% Valor entre 0 e 5 que permite obter um relatrio mais 0 detalhado. 1 - menos detalhado. 5 - mais detalhado. Nmero de rvores a desenvolver no algoritmo de janela 10 sobre o conjunto de treino. Determina a utilizao de janela sobre o conjunto de 2 * CT no mximo treino e define o n de exemplos a considerar na janela de 20% do CT. inicial. Determina a utilizao de janela sobre o conjunto de 20% da dimenso treino e define o nmero mximo de exemplos a adicionar da janela. em cada iterao (mnimo 1/2 dos ex. mal classificados). Especifica o critrio de avaliao do ganho de informao. Critrio da entropia. Especifica a utilizao de pontos de ciso opcionais. No utilizao. Tabela D.2 - Comandos disponveis no programa C4.5. Saliente-se que os comandos relacionados com a gerao de regras so omitidos por no serem utilizados ao longo deste trabalho. A validao cruzada possvel utilizando um ficheiro de comandos do sistema operativo UNIX que efectua a separao do conjunto de treino em vrios ficheiros, calcula os vrios classificadores e produz os resultados finais. Jos Manuel Fonseca Induo de rvores de Deciso

-i incremento

-g -p

126

Comandos disponveis e exemplo de execuo do programa C4.5

Exemplo de execuo O exemplo transcrito neste anexo o resultado da execuo do comando: c45 -f heart
C4.5 [release 5] decision tree generator Fri Feb 25 11:43:01 1994 ---------------------------------------Options: File stem <\database\heart\heart> Read 270 cases (13 attributes) from \database\heart\heart.data Decision Tree: A13 | | | | | | | | | | | | | | | | | | | | | | | | | | | | A13 | | A13 | | | | | | | | | | | | | | | | | | | | | | = 3: A8 <= 114 : | A2 = 0: 1 (3.0/1.0) | A2 = 1: 2 (5.0) A8 > 114 : | A10 <= 2.5 : | | A12 <= 0 : | | | A4 <= 156 : | | | | A5 <= 327 : 1 (89.0/3.0) | | | | A5 > 327 : | | | | | A5 <= 335 : 2 (2.0) | | | | | A5 > 335 : 1 (3.0) | | | A4 > 156 : | | | | A1 <= 62 : 2 (3.0) | | | | A1 > 62 : 1 (2.0) | | A12 > 0 : | | | A4 > 138 : 1 (9.0) | | | A4 <= 138 : | | | | A4 > 135 : 2 (2.0) | | | | A4 <= 135 : | | | | | A4 > 126 : 1 (6.0) | | | | | A4 <= 126 : | | | | | | A3 = 1: 1 (1.0) | | | | | | A3 = 2: 1 (2.0) | | | | | | A3 = 3: 1 (6.0/1.0) | | | | | | A3 = 4: 2 (10.0/1.0) | A10 > 2.5 : | | A1 <= 45 : 1 (2.0) | | A1 > 45 : 2 (7.0) = 6: A12 <= 0 : 1 (7.0/1.0) A12 > 0 : 2 (7.0) = 7: A4 <= 108 : 1 (6.0/1.0) A4 > 108 : | A3 = 1: 1 (6.0/2.0) | A3 = 2: 2 (5.0/1.0) | A3 = 3: | | A10 > 1.9 : 2 (5.0) | | A10 <= 1.9 : | | | A9 = 1: 2 (2.0) | | | A9 = 0: | | | | A12 <= 0 : 1 (6.0) | | | | A12 > 0 : | | | | | A11 <= 1 : 1 (2.0) | | | | | A11 > 1 : 2 (4.0/1.0) | A3 = 4: | | A10 > 0.6 : 2 (52.0) | | A10 <= 0.6 : | | | A8 <= 143 : 1 (3.0) | | | A8 > 143 : | | | | A5 > 244 : 2 (7.0) | | | | A5 <= 244 : | | | | | A1 <= 42 : 2 (2.0) | | | | | A1 > 42 : 1 (4.0/1.0)

Tree saved Evaluation on training data (270 items): Before Pruning ---------------Size Errors 56 13( 4.8%) After Pruning --------------------------Size Errors Estimate 56 13( 4.8%) (18.5%) <<

Jos Manuel Fonseca

Induo de rvores de Deciso

Comandos disponveis e exemplo de execuo do programa C4.5

127

Ficheiro de descrio do problema Heart


1,2 A1: A2: A3: A4: A5: A6: A7: A8: A9: A10: A11: A12: A13: | classes continuous. 0,1 . 1,2,3,4 . continuous. continuous. 0,1 . 0,1,2 . continuous. 0,1 . continuous. continuous. continuous. 3,6,7 .

rvore gerada
V13 =3 V8 <=114 V2 =0 1 =1 2 <=0 V4 <=156 V5 <=327 1 <=335 2 >327 V5 >335 1 =1 1 <=62 2 >156 V1 >62 1 >138 1 >135 2 >126 1 =2 1 <=25 V12 >0 V4 <=45 1 <=138 V4 <=135 V4 <=126 V3 =3 1 =4 2 >114 V10 <=0 1 >25 V1 >45 2 >1.9 2 =1 2 <=0 1 <=1 1 <=1.9 V9 =0 V12 >0 V11 >1 2 1 =6 V12 >0 2 =1 2 <=108 1 =2 V10 >0.6 2 <=143 1 >244 2 <=42 2 =7 V4 >108 V3 =3 =4 V10 <=0.6 V8 >143 V5 <=244 V1 >42 1

Figura D.1 - rvore gerada pelo programa C4.5 para o exemplo Heart.

Jos Manuel Fonseca

Induo de rvores de Deciso

Jos Manuel Fonseca

Induo de rvores de Deciso

ANEXO E
Breve resumo de caractersticas das bases de dados utilizadas
Todas as bases da dados utilizadas nesta tese para a comparao entre os vrios algoritmos so do domnio pblico podendo ser obtidas por simples acesso ao servidor ics.uci.edu via ftp. Foi decidido o uso destes problemas de modo a que os resultados aqui obtidos possam ser comparados com os apresentados por outros autores na literatura da especialidade. Por outro lado, consegue-se desta forma obter uma diversidade de aplicaes quase impossvel de obter de outra forma. O resumo de caractersticas apresentado bastante simples podendo ser obtida informao mais detalhada no servidor que contem as bases de dados utilizadas. Austral
N de exemplos 690 Discretos 8 N de atributos Contnuos 6 N de classes Total 14 2

Tabela E.1 - Tabela de sumrio das caractersticas do exemplo Austral. Este exemplo, baseado em dados de crdito australianos foi fornecido por J. R. Quinlan tendo sido ligeiramente alterado de modo a retirar os valores desconhecidos. Esta alterao, efectuada pela equipa do projecto europeu StatLog, consistiu em substituir os cerca de 5% dos valores que eram desconhecidos pela mdia do valor do atributo respectivo para a classe, no caso dos atributos contnuos ou pelo valor inteiro da mdia do valor do atributo para a classe no caso dos atributos discretos. O problema consiste na classificao de clientes em termos da atribuio ou no de carto de crdito. Devido confidencialidade dos dados em causa todos os nomes dos atributos bem como os respectivos valores foram alterados de modo a no conterem qualquer informao reconhecvel. Este exemplo foi usado por Quinlan nos seus estudos [Quinlan, 1987] e [Quinlan, 1993].

Jos Manuel Fonseca

129

Induo de rvores de Deciso

130 Diabetes
N de exemplos 768

Breve resumo de caractersticas das bases de dados utilizadas

Discretos 0

N de atributos Contnuos 8

N de classes Total 8 2

Tabela E.2 - Tabela de sumrio das caractersticas do exemplo Diabetes. Este exemplo, proveniente do National Institute of Diabetes and Digestive and Kidney Diseases, foi j utilizado por alguns investigadores para alguns estudos sobre a qualidade de algoritmos de aprendizagem automtica. Segundo [Smith, 1988] o algoritmo ADAP consegue obter uma percentagem de erro de 24% usando uma estimao por conjunto de exemplos independente que se situa bastante prximo dos resultados obtidos pelos vrios algoritmos comparados (pargrafo 6.2.2). Os dados que se encontram na base de dados utilizada so os resultantes de uma filtragem efectuada sobre os dados originais sendo todos eles respeitantes a indivduos do sexo feminino com idade superior ou igual a 21 anos. Os atributos contm a seguinte informao:
Atributo 1 2 3 4 5 6 7 8 Significado Nmero de gravidezes anteriores Concentrao de plasma Presso sangunea Espessura da dobra da pele nos trceps Quantidade de insulina ndice de massa muscular Genealogia dos diabetes Idade do paciente

Tabela E.3 - Significado dos atributos do problema Diabetes. Heart


N de exemplos 270 Discretos 7 N de atributos Contnuos 6 N de classes Total 13 2

Tabela E.4 - Tabela de sumrio das caractersticas do exemplo Heart. Tendo como ttulo original Heart Desease Data e sendo de origem desconhecida, conta com 13 atributos que foram seleccionados de entre os 75 originais. O objectivo deste problema diagnosticar a presena/ausncia de uma doena no corao com base em 13 atributos. Os vrios atributos tm o seguinte significado:
Atributo 1 2 3 4 5 6 7 8 9 10 11 12 13 Significado Idade do paciente Sexo Tipo de dor na caixa torcica (4 valores) Presso sangunea em repouso Percentagem de colestrol Quantidade de acar no sangue Resultados do electrocardiograma em repouso (valores 0,1 ou 2) Mximo ritmo cardaco atingido durante os testes Angina induzida pelo esforo Depresso induzida pelo esforo relativamente ao repouso Inclinao da recta de esforo Nmero de vasos principais coloridos pela fluorscopia Tipo de deficincia detectada Tipo Contnuo Discreto Discreto Contnuo Contnuo Discreto Discreto Contnuo Discreto Contnuo Discreto Contnuo Discreto

Tabela E.5 - Significado dos atributos do problema Heart. Jos Manuel Fonseca Induo de rvores de Deciso

Breve resumo de caractersticas das bases de dados utilizadas Ionospher


N de exemplos 351 Discretos 0 N de atributos Contnuos 34 N de classes Total 34 2

131

Tabela E.6 - Tabela de sumrio das caractersticas do exemplo Ionospher. Esta base de dados, criada pelo Space Physics Group do Applied Physics Laboratory da John Hopkins University constituda por dados recolhidos a partir de um sistema de radar de 16 antenas de alta frequncia com vista a classificar as condies de retorno dos sinais emitidos em termos de ser ou no possvel detectar alguma estrutura na camada da ionosfera. Existem portanto 2 classes que correspondem s ms e s boas condies de propagao sendo os 34 atributos todos contnuos. No existem quaisquer valores desconhecidos. Iris
N de exemplos 150 Discretos 0 N de atributos Contnuos 4 N de classes Total 4 3

Tabela E.7 - Tabela de sumrio das caractersticas do exemplo Iris. Esta talvez uma das bases de dados mais utilizadas na literatura da especialidade. Contando com trs classes que correspondem a trs tipos distintos de iridceas sendo cada uma das classes representada por 50 exemplos. Os quatros atributos, todos contnuos, tm o seguinte significado:
Atributo 1 2 3 4 Significado Comprimento da spala Largura da spala Comprimento da ptala Largura da ptala

Tabela E.8 - Significado dos atributos do problema Iris. Liver


N de exemplos 345 Discretos 0 N de atributos Contnuos 6 N de classes Total 6 2

Tabela E.9 - Tabela de sumrio das caractersticas do exemplo Liver. Este problema, envolvendo duas classes que caracterizam situaes de perturbao provocada pelo consumo do lcool. Os seis atributos, todos contnuos, so valores de testes sanguneos a factores que se presume serem indicadores deste tipo de perturbaes. O seu significado aqui omitido dado ser informao de carcter mdico demasiado especializada e de significado nulo para o presumvel leitor. Caso o leitor pretenda obter mais informao recomenda-se a consulta ao servidor citado. Satelite
N de exemplos 4435 Discretos 0 N de atributos Contnuos 36 N de classes Total 36 6

Tabela E.10 - Tabela de sumrio das caractersticas do exemplo Satelite. Jos Manuel Fonseca Induo de rvores de Deciso

132

Breve resumo de caractersticas das bases de dados utilizadas

O problema satlite o maior dos utilizados ao longo deste trabalho, tanto em nmero de exemplos como em nmero de atributos. Sendo composto por valores extrados de imagens de satlite, os seus 36 atributos so os valores de 9 pixels de uma imagem para cada uma das quatro bandas espectrais utilizadas (duas na banda do visvel e duas no invisvel) foi criado pelo Australian Center for Remote Sensing a partir de dados comprados NASA. O seu objectivo a caracterizao do solo na imagem recebida. Segment
N de exemplos 2310 Discretos 0 N de atributos Contnuos 19 N de classes Total 19 7

Tabela E.11 - Tabela de sumrio das caractersticas do exemplo Segment. O problema Segment, criado pelo Vision Group da University of Massachussetts um problema de segmentao de imagens em que se pretende, com base em 19 atributos extrados de uma zona de 3x3 da imagem, caracterizar 7 tipos de zonas na imagem. Os 2310 exemplos foram gerados com base em 7 imagens distintas. As 7 classes tm o seguinte significado:
Classe 1 2 3 4 5 6 7 Significado Tijolo Cu Folhagem Cimento Janela Caminho Relva

Tabela E.12 - Significado das classes do problema Segment. Os 19 atributos so os seguintes:


Atributo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Significado Coluna do pixel central da regio Linha do pixel central da regio Nmero de pixels na regio (valor constante 9) Resultado de um algoritmo de contagem do nmero de linhas com 5 pixels com baixa intensidade intersectam a regio Idntico ao anterior mas para alta densidade Medida de contraste dos pixels horizontalmente adjacentes Medida vedge-sd Medida de contraste dos pixels verticalmente adjacentes Medida hedge-sd Intensidade mdia na regio Intensidade mdia de vermelho na regio Intensidade mdia de azul na regio Intensidade mdia de verde na regio Medida mdia de excesso de vermelho (2R-(G+B)) Medida mdia de excesso de azul (2B-(G+R)) Medida mdia de excesso de verde (2G-(R+B)) Valor mdio (transformao no linear dos valores de RGB) Saturao mdia Cor mdia

Tabela E.13 - Significado dos atributos do problema Segment.

Jos Manuel Fonseca

Induo de rvores de Deciso

Breve resumo de caractersticas das bases de dados utilizadas Vehicule


N de exemplos 846 Discretos 0 N de atributos Contnuos 18 N de classes Total 18 4

133

Tabela E.14 - Tabela de sumrio das caractersticas do exemplo Vehicule. Esta base de dados foi originalmente criada em 1986-87 no Turing Institute por JP Sieber. O objectivo inicial era o treino para a distino de objectos a trs dimenses atravs de imagens a duas dimenses. Os dados correspondem a quatro tipos de veculos - um autocarro, uma carrinha Cheverolet, um Saab 9000 e um Opel Manta 400 - tendo sido as medies efectuadas a ngulos variveis. A distribuio dos exemplos por classes a seguinte:
Classe Exemplos Cheverolet 199 Autocarro 218 Opel Manta 212 Saab 217

Tabela E.15 - Distibuio dos exemplos do problema Vehicule por classes. Este conjunto de veculos foi escolhido com a inteno de que o autocarro e a carrinha fossem facilmente distinguveis mas que os dois carros fossem de distino mais complicada. Os 18 atributos tm o seguinte significado:
Atributo Densidade: Circularidade: Distncia circular: Quociente de raio: Quociente axial: Quociente perpendicular: Quociente scatter: Elegncia: Rectangularidade: Rect. do eixo maior: Vari. rescalada para o eixo maior: Vari. rescalada para o eixo menor: Raio de rotao rescalado: SKEWNESS para o eixo maior: SKEWNESS para o eixo menor: KURTOSIS para o eixo maior: KURTOSIS para o eixo menor: Quociente de cavidades: Descrio perimetro^2/rea (raio mdio)^2/rea rea/(raio mdio)^2 (raio mximo-raio mnimo)/(raio mdio) (eixo menor)/(eixo maior) (comp. perpendicular ao maior comp.)/(maior comp.) (inrcia do eixo menor)/(inrcia do eixo maior) rea/largura^2 rea/(comp. do eixo principal*larg. do eixo principal) rea/(maior comp.*comp. da prep. ao maior comp.) (momento de segunda ordem do eixo maior)/rea (momento de segunda ordem do eixo menor)/rea (mavar+mivar)/rea (mom. de 3 ordem do eixo menor)/sigma_maj**3 (mom. de 3 ordem do eixo maior)/sigma_min**3 (mom. de 4 ordem do eixo menor)/sigma_maj**4 (mom. de 4 ordem do eixo maior)/sigma_min**4 (rea de cavidades)/(rea do pol. que contem o objecto)

Tabela E.16 - Significado dos atributos do problema Vehicule. Onde: sigma_maj**2 representa a varincia ao longo do eixo maior sigma_min**2 representa a varincia ao longo do eixo menor rea de cavidades = rea do polgono que contem o objecto - rea do objecto

Wine
N de exemplos 178 Discretos 0 N de atributos Contnuos 13 N de classes Total 13 3

Tabela E.17 - Tabela de sumrio das caractersticas do exemplo Wine. Jos Manuel Fonseca Induo de rvores de Deciso

134

Breve resumo de caractersticas das bases de dados utilizadas

Este tambm um problema bem conhecido na literatura dedicada aprendizagem automtica. Tendo como objectivo distinguir entre vinhos Italianos de trs diferentes regies atravs dos resultados das anlises qumicas efectuadas, esto disponveis os valores de 13 indicadores qumicos. Esta verso do problema parece ser uma simplificao do problema original que conteria 30 atributos. No entanto, esta a verso actualmente disponvel. As trs classes so representadas por, respectivamente, 59, 71 e 48 exemplos, no existindo quaisquer valores desconhecidos.

Jos Manuel Fonseca

Induo de rvores de Deciso

Agradecimentos
Ao Prof. Fernando Moura Pires, orientador desta tese, pelo estmulo, colaborao e motivao que me proporcionou e sem os quais este trabalho no teria sido possvel. Ao Prof. Steiger Garo pelo estmulo e apoio dados ao longo deste trabalho. Eng Rubina Goolamhussen pela colaborao ao longo do projecto SNECOW e na reviso do texto desta tese. Ao Eng Lus Correia pela colaborao dada ao longo de todo o trabalho efectuado. Ao Eng Paulo Pimento pela permanente disponibilidade que sempre demonstrou para a resoluo de todos os problemas em que podia ser til. Aos colegas do Departamento de Informtica e do Departamento de Engenharia Electrotcnica pelo excelente ambiente que sempre me rodeou. Ao Departamento de Engenharia Electrotcnica e ao Centro de Robtica Inteligente do UNINOVA pelas condies de trabalho que me ofereceram. Aos meus pais e aos meus avs pela formao que me proporcionaram. Lurdes e Ins, tantas vezes sacrificadas em prol deste trabalho.

135

Referncias bibliogrficas
[Barata, 1990] Barata, M. M., Fonseca, J. M., Steiger-Garo, A. (1990). Predictive Monitoring Environment for CNC Machining, IEEE International Workshop on Intelligent Motion Control, Istambul, Turquia, Agosto 1990. [Breiman, 1984] Breiman, L., Friedman, J. H., Olshen, R. A. e Stone, C. J. (1984). Classification and Regression Trees. Belmont, CA: Wadsworth. [Carpenter, 1991] Carpenter, G. A., Grossberg, S. Eds. (1991). Pattern recognition by SelfOrganizing Neural Networks. MIT Press. [Carbonell, 1983] Carbonell, J. G., Michalski, R. S., Mitchell, T.M. (1983). An overview of machine learning. Em R. S. Michalski, J. G. Carbonell e T.M. Mitchell (eds.), Machine Learning: An Artificial Intelligence Approach. Palo Alto, CA: Tioga Press. [Christie,1993] Christie, A. M. (1993). Induction of Decision Trees from Noisy Examples, Ai Expert, Maio 1993, pag. 16-21. [Clark, 1990] Clark, P. (1990). Machine Learning: Techniques and Recent Developments, Turing Institute Press, Glasgow. [Duda, 1973] Duda, R. O., Hart, P. E. (1973). Pattern Classification and Scene Analysis, John Wiley & Sons. [Durkin, 1991] Durkin, J. (1991). Designing an Induction Expert System, Dezembro 1991, pag. 29-35. [Fonseca, 1991a] Fonseca, J. M., Correia, L. (1991). MAST - 0029 - SNECOW Project, CRI RT01-91. Ai Expert,

137

138

Referncias bibliogrficas

[Fonseca, 1991b]

Fonseca, J. M., Correia, L. (1991). MAST - 0029 - SNECOW Project Reports, CRI RT-02-91.

[Fonseca, 1992]

Fonseca, J. M. , Moura-Pires, F. (1992) Ship Noise Evaluation Based on Segmented Decision Trees, IEEE/RSJ International Conference on Intelligent Robots and Systems, North Carolina, USA, Julho 1992.

[Fonseca, 1993]

Fonseca, J. M., Correia, L. (1993). MAST - 0029 - SNECOW Final Project Report.

[Geigy, 1978]

Geigy, (1978). Tables Scientifiques, Septime dition, CIBA-GEIGY SA, Ble, Suisse.

[Goldberg, 1989]

Goldberg, D. E. (1989). Genetic Algorithms in search, Optimization and Machine Learning. Reading, Massachusetts: Addison-Wesley Publishing.

[Goldman, 1988]

Goldman, R. M., Smith, P. (1988). Decision tree design from a Communication Theory Standpoint. IEEE Transaction on Information Theory. Journal, 34(5), 979-993.

[Guo, 1992]

Guo, H., Gelfand, S. B. (1992). Classification Trees with Neural Network Extraction. IEEE Transactions on Neural Networks, Vol. 3, N 6, Novembro 1992.

[Haralick, 1992]

Haralick, R. M., Shapiro, L. G. (1992). Computer and Robot Vision, Vol I e II. Addison-Wesley.

[Hunt, 1966]

Hunt, E. B., Marin, J., & Stone, P. J. (1966). Experiments in induction. New York: Academic Press.

[Knaus, 1992]

Knaus, R. (1992). Knowledge Acquisition with Nets. Ai Expert, Setembro 1992, pag. 17-21.

[Leighton, 1991]

Leighton, R. R. (1991). The Aspirin/MIGRAINES Software Tools, User Manual, Release V5. MITRE Corporation.

[Pau, 1989]

Pau, Y. (1989). Adaptive Pattern Recognition and Neural Networks, AddisonWesley.

[Mohanty, 1986]

Mohanty, N. (1986). Random Signals Estimation and Identification - Analysis and Applications. Van Nostrand Reinhold Company, New York.

[Moharir, 1992]

Moharir, P. S. (1992). Pattern-Recognition Transforms. John Wiley & Sons Inc.

Referncias bibliogrficas

139

[Moura-Pires, 1991] Moura-Pires, F., Steiger-Garo, A. (1991). A decision tree algorithm with segmentation. International Conference on Industrial, Control and Instrumentation - IECON91, Kobe, Japan. [Moura-Pires, 1992] Moura-Pires, F. (1992). Gerao Automtica de Classificadores. Transparentes da disciplina de Sistemas Percepcionais. [Moura-Pires, 1993a] Moura-Pires, F., Moura-Pires, J. (1993). Modelo para os conjuntos de treino e induo de rvores de deciso. X Simpsio Brasileiro de Inteligncia Artificial. [Moura-Pires, 1993b] Moura-Pires, F. (1993). Aprendizagem por induo emprica. Tese de Doutoramento. [Murthy, 1993] Murthy, S., Kasif, S., Salzberg, S., Beigel, R. (1993). OC1: Randomized induction of oblique decision trees. [Nilsson, 1965] [Papoulis, 1984] Nilsson, N. J. (1965). Learning Machines. New York: McGraw Hill. Papoulis, A. (1984). Probability, Random Variables, and Stochastic Processes, McGraw-Hill, Inc. [Piatetsky-Shapiro, 1991]Piatetsky-Shapiro, G., Frawley, J. Eds. (1991). Knowledge Discovery in Databases, AAAI Press. [Quinlan, 1986] Quinlan, J.R. (1986). Induction of Decision Trees. Machine Learning 1,1, pag. 81-106. [Quinlan, 1987] Quinlan, J. R. (1987). Simplifying Decision Trees. Int. Journal of Man-Machine Studies 27, Dezembro 1987, pp. 221-234. [Quinlan, 1993] Quinlan, J. R. (1993). C4.5: Programs for Machine Learning. San Mateo, CA:Morgan Kaufman. [Smith, 1988] Smith, J. W. et al. (1988). Using the ADAP Learning Algorithm to Forescast the Onset of Diabetes Mellitus. Proceedings of the Symposium in Computer Applications and Medical Care (pp. 261-265). IEEE Computer Society Press. [Steinberg, 1992] Steinberg, D., Colla, P. (1992). CART: A supplementary module for SYSTAT. Evaston, IL: SYSTAT Inc, 1992. [Thrane, 1979] Thrane, N. (1979). The Discrete Fourier Transform and FFT Analysers. Technical Review, n1, Bruel & Kjaer.

140

Referncias bibliogrficas

[Thrun, 1991]

Thrun, S. B. et al. (1991). The Monks Problems - A Performance Comparison of Different Learning Algorithms. Carnegie Mellon University CMU-CS-91197.

[Weiss, 1990]

Weiss, S. M., Kulikowski, C. A. (1990). Computer Systems That Learn. San Mateo, CA:Morgan Kaufman.

[Wnek, 1992]

Wnek, J., Michalsky, R. S. (1992). Comparing Symbolic and Subsymbolic Learning: A case Study. George Mason University.

[Zell, 1993]

Zell, A. et Al. (1993) Stuttgart Neural Network Simulator, User Manual, Version 3.0. University of Stuttgart, Report No. 3/93.

You might also like