Upload
vuhuong
View
217
Download
0
Embed Size (px)
Citation preview
Carlos Manuel Silva Pinto
Algoritmos Incrementais paraAprendizagem Bayesiana
Departamento de Ciencia de Computadores
Faculdade de Economia da Universidade do Porto
2005
Carlos Manuel Silva Pinto
Algoritmos Incrementais paraAprendizagem Bayesiana
Tese submetida a Faculdade de Economia da
Universidade do Porto para obtencao do grau de Mestre
em Inteligencia Artificial e computacao
Dissertacao realizada sob supervisao do
Professor Joao Gama, da Faculdade de Economia do Porto
Departamento de Ciencia de Computadores
Faculdade de Economia da Universidade do Porto
2005
iii
For every complex problem there is a simple and wrong solution.
Para todos os problemas complexos existe uma solucao simples e errada.
Albert Einstein
iv
Agradecimentos
Esta e sempre a parte mais difıcil de qualquer tese, pois felizmente vivemos num mundo
de entre ajuda onde todos gostam muito de ajudar. Agradeco a todos esse espırito e a
disponibilidade que nos faz ter esperanca num mundo com menos espinhos.
No entanto gostaria de deixar um tributo muito especial a duas pessoas, pois esta tese
reflecte o seu empenho para me proporcionar as condicoes para que eu a acabasse.
Em primeiro lugar ao meu orientador pela sua autoridade, linearidade e metodologia
delineadas no desenvolvimento desta tese mas acima de tudo agradeco-lhe ao Professor
Joao Gama (meu orientador) pela simplicidade e disponibilidade que mostrou como
pessoa. O meu outro agradecimento segue para o Professor Manuel Afonso Dias pela
amizade demonstrada que tanta paciencia teve, me dispensou tantas vezes do trabalho
e me ajudou tambem a delinear o caminho. Acima de tudo agradeco aos dois pelas
excelentes pessoas que sao, pois sem eles ja me teria ido embora e estaria provavelmente
a esta hora nas ilhas Komodo na praia a beber um refresco de coco e a ver um dragao
passar.
Agradeco tambem a Sonia que tantas noites sem dormir passou por causa de mim. A
minha mae e pai, que nao me ajudaram durante a tese mas terem-me criado ja foi
difıcil e por ultimo a Joana que me motivou para tirar o mestrado.
v
Abstract
A desirable property of learning algorithms is the ability of incorporating new data
in an incremental way. Incremental algorithms have received attention on the last
few years. Particulary Bayesian networks, this is due to the hardness of the task.
In Bayesian networks one example can change the whole structure of the Bayesian
network. In this theses we focus on incremental induction of tree augmented naive
Bayes (TAN) algorithm. A incremental version of TAN saves computing time, is more
suite to data mining and concept drift. But, as usual in Bayesian learning TAN is
restricted to discrete attributes. Complementary to the incremental TAN, we propose
an incremental discretization algorithm, necessary to evaluate TAN in domains with
continuous attribute. Discretization is a fundamental pre-processing step for some well-
known algorithms, the topic of incremental discretization has received few attention
from the community.
This theses has two major contributions, the benefit of both proposals is incremental
learning, one for TAN and the other for discretization. We describe the benefits of the
two proposals separately, but we think one great step was to reunite the two and test
them together. We present and test a algorithm that rebuilds the network structure of
tree augmented naive Bayes (TAN) based on the weighted sum of vectors containing
the mutual information. We also present a new discretization method, this works in
two layers. This two-stage architecture is very flexible. It can be used as supervised
or unsupervised. For the second layer any base discretization method can be used:
vi
equal width, equal frequency, recursive entropy discretization, chi-merge, etc. The most
relevant aspect is that the boundaries of the intervals of the second layer can change
when new data is available. We tested experimentally the incremental approach to
discretization with batch and incremental learners.
The experimental evaluation of incremental TAN shows a performance similar to
the batch version. Similar remarks apply to incremental discretization. This is a
relevant aspect, because few works in machine learning address the fundamental aspect
of incremental discretization. We believe that with Incremental discretization, the
evaluation of the incremental algorithms can become more realistic and accurate. We
evaluated two versions of incremental discretization: supervised and unsupervised. We
have seen that this feature can improve accuracy for the incremental learners and that
the preview of future algorithm performance can be more precise. This method of
discretization has another advantages, like, can be used with large data set’s or can be
used in dynamic environments with concept drift, areas where a batch discretization
can be difficult or is not adequate.
vii
Resumo
Uma das propriedades desejadas nos algoritmos de aprendizagem automatica e a
capacidade de aprender incrementalmente. Este tipo de algoritmos tem recebido
atencao por parte da comunidade cientifica nos ultimos anos. As redes Bayesianas,
impoem uma dificuldade acrescida a esta tarefa, pois um exemplo pode alterar
toda a sua estrutura. Neste tese foca-se a incrementalidade para o algoritmo tree
augmented naive Bayes (TAN). A versao incremental deste algoritmo poupa recursos,
tempo e e mais adequada para areas como o data mining ou ambientes dinamicos.
Mas como e usual nas redes Bayesianas, este algoritmo esta limitado a lidar com
atributos discretos. Deste modo tambem faz parte desta tese o estudo de um metodo
incremental. Uma vez que estamos a lidar com uma rede Bayesiana incremental o mais
natural e a discretizacao tambem o ser. Deste modo e possıvel avaliar o algoritmo
incremental com conjuntos de dados que contem atributos contınuos. A discretizacao
e um pre-processamento fundamental para alguns algoritmos bem conhecidos, mas a
discretizacao incremental tem recebido muito pouca atencao por parte da comunidade
cientıfica.
Esta tese apresenta duas grandes contribuicoes para a area de aprendizagem incre-
mental, a primeira e um TAN incremental, a segunda um metodo de discretizacao
incremental. As propostas sao descritas na tese em capıtulos diferentes, mas uma das
grandes vantagens consiste em reuni-las. Apresenta-se e testa-se a versao incremental
do TAN, esta reconstroi a estrutura da rede baseada na soma pesada das informacoes
viii
mutuas. Apresenta-se ainda o metodo de discretizacao incremental. O metodo e
composto por duas camada, cada uma das camadas contem uma discretizacao. Esta
arquitectura e bastante flexıvel. O metodo pode ser aplicado de modo supervisado
ou nao supervisado, dependendo da opcao tomada para a segunda camada. Na
segunda camada e possıvel aplicar a maior parte dos metodos de discretizacao. O
aspecto mais relevante deste metodo e que os limites dos intervalos da segunda
camada podem mudar quando o algoritmo tem acesso a mais conjuntos de exemplos.
Testou-se experimentalmente a discretizacao incremental com metodos supervisados
e nao supervisados. O metodo foi ainda testado com algoritmos incrementais e nao
incrementais.
A avaliacao experimental da versao incremental do TAN indica que o seu desempenho
e similar ao do TAN nao incremental. O mesmo resultado se aplica ao teste da
discretizacao incremental. A discretizacao incremental apesar de ter pouca atencao
por parte da comunidade cientifica, e fundamental para a avaliacao de algoritmos
incrementais. A avaliacao de algoritmos incrementais que usem conjuntos de dados
com atributos contınuos torna-se mais precisa e realista. Mas o metodo tem outras
vantagens, este pode ser aplicado a grandes conjuntos de dados, onde um metodo de
discretizacao nao incremental tem dificuldades em ser aplicado. Pode ainda ser usado
em ambientes dinamicos, area em que a discretizacao nao incremental e inadequada.
ix
Notacoes usadas durante a tese
N - numero de exemplos observado
n - numero de atributos do conjunto de dados
Xj - atributo j do conjunto de dados
xj - instancia i do conjunto de dados
D - conjunto de dados
C - variavel classe do conjunto de dados
c - instancia da variavel da classe do conjunto de dados
I(Xj, Xi) - informacao mutua entre os atributos Xj e Xi
I(Xj, Xi; C) - informacao mutua entre os atributos Xj e Xi dada a classe
Vj - numero de possıveis valores do atributo
VC - numero de possıveis valores da classe
ID - vector com a informacao mutua entre todos os pares de atributos do conjunto de
dados
′ - significa o conjunto de dados que se pretende analisar, por exemplo, se N representa
numero de exemplos observado entao N’ representa o numero de exemplos com
que o algoritmo vai reavaliar o modelo.
x
t - numero de intervalos
xi
Conteudo
Abstract vi
Resumo viii
Notacoes usadas durante a tese x
Lista de Tabelas xvi
Lista de Figuras xviii
1 Introducao 2
1.1 Inteligencia Artificial, Aprendizagem automatica . . . . . . . 3
1.2 Classificacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Contribuicoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 Organizacao da tese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Classificacao e aprendizagem no mundo real 10
xii
2.1 Aprendizagem incremental . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.1 Algoritmos incrementais: definicao e objectivos . . . . . . . . . 11
2.1.2 Vantagens e desvantagens dos algoritmos incrementais . . . . . 13
2.2 Classificadores Bayesianos . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.1 Naive Bayes, o mais simples dos classificadores Bayesianos . . . 14
2.2.2 TAN: extensao ao naive Bayes . . . . . . . . . . . . . . . . . . . 16
2.2.2.1 Algoritmo de Chow and Liu . . . . . . . . . . . . . . . 18
2.2.3 Construcao da arvore de dependencias . . . . . . . . . . . . . . 20
2.2.4 Variantes do TAN . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.5 Algoritmos incrementais para o TAN . . . . . . . . . . . . . . . 24
2.2.6 TAN-ACO de Roure . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3 Discretizacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.1 Tipos de atributos . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.2 Importancia da discretizacao . . . . . . . . . . . . . . . . . . . . 28
2.3.3 Topologia dos algoritmos de discretizacao . . . . . . . . . . . . . 29
2.3.4 Efectividade da discretizacao . . . . . . . . . . . . . . . . . . . . 31
2.3.5 A discretizacao e normalmente o metodo mais utilizado com o
TAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.6 Revisao de alguns metodos de discretizacao . . . . . . . . . . . 36
2.4 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3 Estudo de um classificador TAN Incremental 42
xiii
3.1 Descricao de um TAN incremental (TANi) . . . . . . . . . . . . . . . . 43
3.1.1 Actualizacao das particoes da estimativas das probabilidades . . 45
3.1.2 Actualizar a arvore de dependencias . . . . . . . . . . . . . . . . 46
3.1.3 Consideracoes sobre o algoritmo proposto . . . . . . . . . . . . . 48
3.2 Avaliacao e resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2.1 Estudo das arvores geradas pelo TANi . . . . . . . . . . . . . . 54
3.2.2 Analise do desempenho do TANi . . . . . . . . . . . . . . . . . 56
3.2.3 Comparando a evolucao do TANi, TAN . . . . . . . . . . . . . 60
3.2.4 Analise da sensibilidade do algoritmo ao numero de instancias
apresentadas por pasta . . . . . . . . . . . . . . . . . . . . . . . 62
4 Abordagem incremental a discretizacao 66
4.1 Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2 Pre-processamento incremental de Discretizacao (PiD) . . . . . . . . . 71
4.3 Resultados experimentais . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5 Conclusoes 86
5.1 Trabalho futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Referencias 89
xiv
Lista de Tabelas
3.1 Crescimento das estatısticas de primeira e segunda ordem . . . . . . . . 46
3.2 Taxa de acertos dos algoritmos naive Bayes, rede Bayesiana, arvore de classificacao,
TANi e TAN-ACO para trinta conjuntos de dados . . . . . . . . . . . . . . . . 57
3.3 Descricao da separacao do conjunto de dados em teste e treino para os
testes da figura 3.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.4 Descricao dos conjuntos de dados para o teste da sensibilidade incremental 62
3.5 Descricao da separacao do conjunto de dados em teste e treino para os
testes da figura 3.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.1 Discretizacao do preco de um computador ao longo do tempo . . . . . . 70
4.2 Descricao da discretizacao alcancada com o PiD (supervisado e nao
supervisado) para o conjunto de dados Iris . . . . . . . . . . . . . . . . 77
4.3 Descricao dos dados usados no teste . . . . . . . . . . . . . . . . . . . . 80
4.4 Resultados experimentais do TAN e TANi com o PiD, na sua versao
supervisada e nao supervisada comparada com alguns algoritmos do
WEKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
xv
4.5 Resultados xperimentais para o PiD com diversos tamanhos de pastas
comparada com a sua discretizacao inicial e com alguns algoritmos do
WEKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
xvi
Lista de Figuras
2.1 O modelo de dependencias para o naive Bayes. . . . . . . . . . . . . . . 15
2.2 O modelo de dependencias de um TAN como descrito por Friedman. . . 16
2.3 Arvore de dependencias encontrada pelo algoritmo de Chow and Liu. . 18
2.4 Fases da construcao da arvore que maximiza a informacao mutua. . . . 20
2.5 Processo de discretizacao. . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.6 Processo de discretizacao hierarquico do topo para baixo. Discretizacao
de um atributo continuo com valores entre 0 e 100. Na figura pode-se
visualizar a arvore formada no decorrer do metodo. . . . . . . . . . . . 35
3.1 Esquema do TAN (a) e do TANi (b) . . . . . . . . . . . . . . . . . . . . 43
3.2 Esquema da validacao cruzada (com dez pastas). . . . . . . . . . . . . . 51
3.3 Esquema da segunda fase da validacao cruzada. . . . . . . . . . . . . . 52
3.4 Resultados da diferenca ente as ligacoes na rede encontrada pelo TAN
da encontrada pelo TANi. No eixo horizontal tem-se o numero do passo
( que dividindo o numero de exemplos do conjunto de dados pelo numero
do passo obtemos o numero de exemplos analisados) e no eixo vertical
tem-se a diferenca entre as arvores (em percentagem). . . . . . . . . . . 53
xvii
3.5 Esquema da segunda fase das validacao cruzada para os algoritmos
incrementais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.6 Percentagem de acertos ao longo do treino do TAN e TANi com varios
conjuntos de dados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.7 Evolucao da taxa de acerto do TANi quando treinado com diversos
tamanhos de pastas para os conjuntos de dados ’Chess’ e ’Splice’ . . . . 64
4.1 Processo de discretizacao em modo nao incremental . . . . . . . . . . . 68
4.2 Processo de discretizacao em modo incremental . . . . . . . . . . . . . 69
4.3 Processo de discretizacao nao supervisionado . . . . . . . . . . . . . . . 72
xviii
1
Dedico esta tese para os meus pais que tiveram muito trabalho comigo e
continuam a ter e ainda para todos os que acreditaram que este momento
era possıvel e para alguns que ainda nao acreditam :-)
Capıtulo 1
Introducao
Durante os anos noventa, as redes Bayesianas, tambem denominadas por redes
probabilısticas, atraıram muita atencao, nao so na investigacao cientıfica mas tambem
na industria [Jen96]. Ao contrario de outros sistemas periciais e necessaria perspicacia e
experiencia pratica para explorar as capacidades deste tipo de redes Bayesianas[Jen96],
o que podera prejudicar a sua utilizacao a mais curto prazo. No entanto, depois de
se obter algum conhecimento sobre as mesmas, estas podem tornar-se num grande
instrumento[Mit97].
As redes Bayesianas sao representacoes graficas de conhecimento [Mit97, Hec97a] e
possuem diversas vantagens:
1. permitem expressar directamente as relacoes directas entre os atributos;
2. permitem explicar ao utilizador como o algoritmo chegou aquela conclusao e quais
as relacoes entre os atributos;
3. existencia de metodos matematicos para estimar o estado de crenca do atributo
dada alguma evidencia.
O mais simples dos classificadores Bayesianos e o naive Bayes [DHS01, DP97, Rou02],
2
CAPITULO 1. INTRODUCAO 3
pois este assume que todos os atributos sao independentes entre si quando o valor da
classe e conhecido. Este facto ocorre mesmo que existam fortes indıcios de que os
atributos nao sao independentes, o que e comum no mundo real. Apesar de esta ser
uma forte assuncao permite que o naive Bayes seja extremamente simples e robusto.
Num esforco de melhorar o naive Bayes, Friedman[FG96], introduziu o Tree Augmented
Naive Bayes (TAN). Este relaxa a independencia entre os atributos.
O classificador TAN, como descrito por Friedman e um algoritmo nao incremental, ou
seja, quando e necessario que o modelo receba novos dados e indispensavel ’deitar fora’
o modelo obtido e reavaliar novamente todos os dados. Este facto exige um esforco e
tempo desnecessario que outros algoritmos directamente concorrentes nao necessitam,
esta e uma das desvantagens do TAN em relacao aos seus concorrentes.
Para que seja possıvel dotar o TAN da capacidade de incorporar novos dados a partir
do modelo ja obtido, e essencial uma troca no seu desempenho, ou seja, o algoritmo
demora menos tempo a avaliar novos dados e e exigida menos memoria, podendo no
entanto a estrutura escolhida perder alguma qualidade diminuindo a sua taxa de acerto.
1.1 Inteligencia Artificial, Aprendizagem
automatica
Hoje em dia continuamos sem ter uma definicao conclusiva do que e inteligencia
[Coe95].
”E como e que se mede a inteligencia, afinal? Eu nem sequer sei o que e a
inteligencia.”
Gerald Edeman, no Publico, 1991.11.15
CAPITULO 1. INTRODUCAO 4
Actualmente existe uma proposta que diz que a inteligencia e a utilizacao habilidosa
do conhecimento. Se se seguir esta linha de pensamento um programa e inteligente se
conseguir reter conhecimento e o usar correctamente.
Desde que os primeiros computadores comecaram a ser projectados e construıdos, na
decada de 1950, tem surgido projectos ambiciosos na tentativa de transformar um
computador numa maquina que consiga processar cada vez mais informacoes e a mais
rapidamente. Muitos destes projectos foram-se transformando com o tempo ate que
surgiu uma nova ambicao, a denominada ”Inteligencia Artificial”.
A Inteligencia Artificial pode ser definida como um conjunto de tecnicas e metodologias
de programacao utilizadas na tentativa de resolucao dos problemas, de forma mais
eficiente do que a utilizacao de solucoes algorıtmicas[Coe95].
Assim, o primordial objectivo da Inteligencia Artificial e conseguir que um computador
(genericamente pode ser substituıdo por uma maquina) consiga processar informacoes
da mesma forma que um ser humano. A tentativa de compreensao e imitacao do
processo de aprendizagem dos seres humanos funcionou desta forma como motivacao
para este campo da informatica. Actualmente, existem ja algumas aplicacoes da
Inteligencia Artificial que permitem a resolucao de problemas que eram considerados
impossıveis de serem resolvidos por uma maquina.
Um dos objectivos da aprendizagem automatica e a obtencao de algoritmos que
melhorem o seu desempenho atraves da experiencia.
Mais recentemente surgiram grandes bases de dados que se tornaram habituais em
muitas areas, tais como na ciencia e negocios. Desta forma, surgiram novas aplicacoes
e motivacoes neste campo.
No momento, a aprendizagem automatica parece dividida em duas areas: Reconheci-
mento de padroes e ’Data Mining’. O principal objectivo do primeiro e a classificacao
de exemplos com base em padroes encontrados nos dados, enquanto que o objectivo do
CAPITULO 1. INTRODUCAO 5
segundo e encontrar modelos matematicos nos dados.
Alguns autores argumentam que os metodos heurısticos e simbolicos se fundem quando
associados a inteligencia artificial, enquanto que outros estao preocupados em associar
os metodos numericos com a aprendizagem estatıstica. Alem destas duas visoes existe
ainda uma terceira que afirma que todos os metodos referidos sao apenas pontos de
vista diferentes de uma mesma ciencia e que a aprendizagem automatica tem como
objectivo alcancar algoritmos que melhoram com a experiencia.
Nos ultimos anos, muitas aplicacoes desenvolvidas na area da aprendizagem automatica
tiveram sucesso. Estas quando alinhadas na area do data minning permitem detectar
operacoes fraudulentas dos cartoes de credito e conduzir um automovel de forma
autonoma numa auto-estrada publica. Simultaneamente ocorreram importantes
avancos nos algoritmos que sao a base deste campo [Mit97]. Assim, as potencialidades
deste campo sao enormes. Imagine-se, por exemplo, as consequencias que traria o
facto de um programa poder aprender com a experiencia: um computador poderia
aprender a partir de registos medicos quais os tratamentos mais efectivos para novas
doencas, as casas inteligentes aprenderiam a optimizar o custo de energia baseado no
comportamento das pessoas que nela habitassem ou o software poderia aprender os
gostos e comportamento do utilizador para automaticamente evidenciar uma notıcia
que possa potencialmente ser do interesse deste.
Uma correcta compreensao da forma de tornar possıvel que os computadores aprendam,
pode tornar possıvel o aparecimento de novas utilidades e novos nıveis de competencias
para estes. Contudo ainda nao se conhece a forma de tornar possıvel que um
computador aprenda como um humano. No entanto, existem ja algoritmos que sao
eficientes para aprender alguns tipos de tarefas especıficos. A compreensao teorica da
aprendizagem e assim um campo emergente.
CAPITULO 1. INTRODUCAO 6
1.2 Classificacao
A classificacao supervisionada e parte integrante da inteligencia artificial denominada
por reconhecimento de padroes, a qual se aplica a diversos campos cientıficos e
tecnologicos [Mug02].
O problema central da classificacao centra-se na obtencao automatica de um modelo
que consiga atribuir uma classe a um caso, que e composto por um vector de atributos.
Estes modelos sao normalmente obtidos atraves de um conjunto de treino constituıdo
por exemplos classificados, ou seja, para os quais e conhecido a classe a que pertencem.
Ao longo das ultimas decadas, na tentativa de resolucao deste problema, a estatıstica
e a inteligencia artificial comecaram a propor diferentes paradigmas classificatorios
nomeadamente, arvores de classificacao [Qui93], redes neuronais, analise do discrimi-
nante linear e maquinas de suporte vectorial.
Assim, na literatura existem diversas tentativas de comparacao dos diferentes paradig-
mas de classificacao, como por exemplo Michie [MST94], Heckerman [Hec97b] e Lim
[LLS00]
A decisao de escolher o paradigma adequado ou ideal (caso se possa utilizar este
termo) para fazer face ao problema e difıcil e esta normalmente condicionada aos
conhecimentos dos investigadores ou tecnicos. No entanto, existem algumas formas
e criterios para avaliar e comparar o desempenho dos diferentes paradigmas dos
classificadores, dos quais se deve salientar a taxa de erro, a complexidade algorıtmica,
a simplicidade de interpretacao dos resultados e a simplicidade do modelo obtido.
1.3 Motivacao
Apesar de existirem diversos algoritmos de classificacao, o naive Bayes [DHS01] e
considerado pela comunidade cientıfica, como competitivo com algoritmos bem mais
CAPITULO 1. INTRODUCAO 7
sofisticados [Mug02, FG96, Hec97a, Rou02], e tambem computacionalmente mais
complexos.
O naive Bayes e amplamente utilizado em tarefas de classificacao, nao so devido a
sua simplicidade mas tambem devido ao facto de ser um algoritmo incremental. No
entanto, o TAN supera o naive Bayes sem acrescentar uma complexidade proibitiva
mas perdendo a caracterıstica de algoritmo incremental. Desta forma acredita-se que
o TAN podera ser uma alternativa mais viavel se for dotado desta caracterıstica.
De notar que em alguns casos da literatura, por exemplo [Rou04], sao utilizadas
coleccoes de dados com atributos contınuos. De forma a ser possıvel testar o algoritmo
neste tipo de conjuntos de dados os autores efectuavam uma discretizacao previa. De
salientar que com o teste dos algoritmos se pretende analisar o seu desempenho, para
que seja possıvel deduzi-lo no futuro e numa situacao real.
No entanto, numa situacao real o algoritmo nao tera acesso a todos os dados
previamente, o que indica que os resultados obtidos podem ser enviesados. Este
facto ocorre porque se a discretizacao for efectuada a medida que o algoritmo tem
acesso aos dados a discretizacao resultante e diferente, logo, os seus resultados tambem.
Contudo, os respectivos autores apenas pretendem testar o algoritmo, ignorando este
aspecto. Assim, uma das motivacoes e a correcta avaliacao do algoritmo. Deste modo
torna-se relevante o desenvolvimento de um metodo de discretizacao incremental que
possibilita nao so uma aproximacao do desempenho do algoritmo em ’condicoes reais’,
mas tambem o melhoramento da discretizacao encontrada inicialmente.
De salientar, que os trabalhos sobre discretizacao incremental, sao escassos, o que se
acredita ser uma grande lacuna na area. Apesar de este ser um topico em foco nos
ultimos anos.
Por conseguinte os objectivos principais, desta tese, sao tres:
• desenvolver a caracterıstica de incrementalidade para o TAN;
CAPITULO 1. INTRODUCAO 8
• desenvolver um metodo de discretizacao incremental;
• melhorar o metodo de avaliacao de algoritmos incrementais.
1.4 Contribuicoes
Assim, como contribuicoes desta tese, temos:
• Estudo dos varios tipos de TAN desenvolvidos pela comunidade cientifica;
• Desenvolvimento e estudo de um classificador TAN incremental;
• Estudo da area da discretizacao, nomeadamente a sua aplicacao a metodos
incrementais;
• Desenvolvimento de um metodo de discretizacao incremental;
• Desenvolvimento de um metodo de discretizacao que acelera a discretizacao em
grandes conjuntos de dados;
• Desenvolvimento e teste de um classificador Bayesianos como algoritmo incre-
mental com discretizacao incremental.
1.5 Organizacao da tese
A tese encontra-se organizada do seguinte modo:
No capıtulo 2 descrevem-se as motivacoes para o desenvolvimento de algoritmos
incrementais. De seguida, efectua-se a revisao bibliografica sobre o TAN e uma revisao
dos metodos de discretizacao, sendo introduzida a definicao e os conceitos.
CAPITULO 1. INTRODUCAO 9
No capıtulo 3 e descrita a proposta de um novo algoritmo, o TANi (uma versao do
TAN incremental) e sao apresentados varios resultados de testes efectuados ao novo
algoritmo, nomeadamente, a comparacao de arvores e a analise da taxa de acerto.
No capıtulo 4 e descrita a motivacao para o desenvolvimento de um metodo de
discretizacao incremental, seguida de uma descricao de uma nova metodologia. Alem
disso, sao apresentados os resultados obtidos com o novo metodo proposto.
No capıtulo 5, apresentam-se as conclusoes da tese, resumem-se os pontos chave
da tese e discutem-se alguns pontos que se pensa, serem importantes para futuro
desenvolvimento.
Capıtulo 2
Classificacao e aprendizagem no
mundo real
2.1 Aprendizagem incremental
Os agentes inteligentes, incluindo os humanos, estao em ambientes dinamicos, pois
estes alteram-se atraves do tempo. Apesar de este facto parecer natural, muitas vezes e
necessario ter em consideracao que o processo de aprendizagem ocorre durante o tempo
[Lan95]. Assim, a ideia de aprendizagem incremental nasce a partir da observacao
do comportamento humano, que pode ser visto como um processo gradual, no qual
o Homem tem a habilidade de incorporar novos conhecimentos a partir de novas
experiencias, em conceitos ja estruturados [Fis87].
A aprendizagem incremental foi, pela razao enunciada, inicialmente motivada pela
utilidade desta capacidade humana ser incorporada nos agentes inteligentes. Contudo,
actualmente existem outras aplicacoes praticas, nomeadamente aplicacoes industriais
[Rou04], software pessoal e jogos. Estas razoes aumentam os interesses em algoritmos
incrementais. A tıtulo meramente exemplificativo pode-se referir que os bancos
10
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 11
armazenam milhoes de registos de transaccoes, os motores de busca da internet estao
constantemente a guardar milhoes de pesquisas. Deste modo, os algoritmos que
trabalham com esta quantidade de informacao, de modo contınuo, devem estar dotados
da capacidade de melhorar a sua base de conhecimento, incorporando nova informacao.
Assim, as principais razoes para o desenvolvimento de algoritmos incrementais
consistem no facto destes pouparem memoria e tempo de processamento. Alem disso,
com um algoritmo incremental e possıvel ter em consideracao o concept drift, ou seja, a
medida que o ambiente no qual o algoritmo esta inserido se altera o algoritmo detecta
essas alteracoes e integra-as na reformulacao do modelo. Para que isto seja possıvel e
indispensavel que o algoritmo seja incremental.
Durante a segunda metade dos anos oitenta diversos sistemas incrementais foram
propostos na area de clustering, sendo o Fisher’s COBWEB [Fis87] um dos mais
referidos presentemente. No domınio das arvores de decisao Utgoff [UBC97] estendeu
as arvores de Quinlan’s [Qui93] para os sistemas incrementais. Alem disso, a area de
Data Mining, que trabalha com grandes bases de dados, fomentou o surgimento de
novos interesses na area da aprendizagem incremental.
Na comunidade que estuda as redes Bayesianas, os metodos incrementais receberam
pouca atencao, apesar de o naive Bayes ser um algoritmo naturalmente incremental, no
entanto este, por vezes nao e o mais adequado para problemas com um grau maior de
complexidade. Na tentativa de estender as redes Bayesianas a algoritmos incrementais
existem quatro trabalhos, o trabalho de Buntine (1991), o de Lam e Bacchus (1994), o
de Fridman (1997) [FG97] e o de Roure (2003) [Rou04].
2.1.1 Algoritmos incrementais: definicao e objectivos
Os algoritmos devem possuir algumas propriedades para poderem ser considerados
incrementais.
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 12
Na literatura existem diversas definicoes de algoritmo incremental mas a definicao mais
comum e aceite pela comunidade cientıfica e a definicao de Langley [Lan95]:
Um algoritmo L e incremental se L for capaz de introduzir na sua base de dados de
conhecimento um exemplo de cada vez, sem rever qualquer exemplo ja processado e
retiver em memoria apenas uma estrutura de conhecimento.
Segundo Langley existem diversos autores que consideram apenas uma ou duas das
restricoes impostas por esta definicao. No entanto, uma analise mais cuidada da
definicao permite verificar que esta impoe tres restricoes muito fortes. Uma primeira
regra impoe que o algoritmo possa interromper o processo de treino para responder
a qualquer questao. Deste modo, numa analise exterior podem existir algoritmos que
possam cumprir esta regra mas nao sejam incrementais. Os algoritmos que processam
os dados ja revistos com os novos dados, podem-se assemelhar a um incremental.
Uma segunda regra. Esta impoe que o tempo de processamento de cada novo caso
se mantenha constante, independentemente do numero de exemplos que o algoritmo
ja analisou. A terceira e ultima regra e destinada aos algoritmos que, apesar de nao
manterem os dados, mantem em memoria um resumo completo destes ou das possıveis
alternativas. Segundo Langley, a intencao desta terceira regra e limitar a um resumo
razoavel as estruturas mantidas em memoria.
Na literatura distingue-se aprendizagem incremental de aprendizagem online. O que
normalmente caracteriza cada uma e:
aprendizagem incremental o algoritmo e capaz de actualizar o modelo quando
existem mais dados disponıveis.
aprendizagem online o algoritmo e incremental e e capaz de receber um exemplo,
actuar e de seguida receber o feedback do ambiente para verificar se a sua accao
foi a correcta.
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 13
2.1.2 Vantagens e desvantagens dos algoritmos incrementais
A principal vantagem de um algoritmo incremental e o facto de nao impor restricoes a
analise de novos dados, quer em tempo, quer em numero, estando sempre o algoritmo
disponıvel a qualquer momento. Alem disso, e possıvel obter modelos que processem
grandes quantidades de dados sem um gasto excessivo de recursos e de tempo,
caracterısticas que sao desejaveis [Lan95, Mal03, LG02].
Uma outra vantagem consiste em nao desaproveitar o tempo gasto no processamento do
algoritmo quando e necessario reavaliar a estrutura de conhecimento. Assim e possıvel
resumir as vantagens em cinco items fundamentais:
1. Poupa memoria do computador;
2. Nao desaproveita o tempo de processamento que foi gasto para a construcao do
modelo;
3. Maior rapidez de resposta;
4. Importante em alguns domınios como o data mining ;
5. Aproxima-se da forma de aprendizagem dos humanos.
Naturalmente os algoritmos incrementais tambem possuem desvantagens. Uma delas
e o facto de que quando um algoritmo gera um modelo, este normalmente segue
metodos, tais como o hill climbing, para tentar encontrar a solucao optima do problema.
O algoritmo tenta encontrar um maximo local, o que provocara uma tentativa de
encontrar um melhor maximo quando sao apresentados novos exemplos. No entanto,
os exemplos poderao nao ser suficientes para sair desse maximo local e encontrar um
melhor, basta esse maximo estar rodeado de grandes vales. Uma vez que um algoritmo
nao incremental volta a processar toda a informacao quando surgem novos dados, este
refaz o caminho para encontrar um maximo, desta vez melhor informado (com todos
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 14
os exemplos disponıveis). O que lhe podera possibilitar seguir um outro caminho,
podendo encontrar um melhor maximo.
Associado a este problema surge um outro, que corresponde ao facto de os algoritmos
incrementais serem sensıveis a ordem pela qual os exemplos sao apresentados. Supondo
que temos duas amostras de ordens O1 e O2 num conjunto de dados D, um algoritmo
incremental pode originar dois modelos diferentes quando treinado pela O1 ou pela O2.
Uma forma de tentar resolver este problema e ordenar os dados de modo a apresentar
exemplos diferentes juntos, para deste modo tentar escapar a maximos locais.
2.2 Classificadores Bayesianos
2.2.1 Naive Bayes, o mais simples dos classificadores
Bayesianos
O naive Bayes e o mais simples dos classificadores Bayesianos [Mug02, YW03, Rou02,
KP99], sendo naturalmente incremental devido a sua simplicidade e aplicando-se a uma
grande variedade de areas e problemas. Este e descrito, por exemplo, por Duda e Hart
[DHS01] e por Langley [Lan92].
Suponha-se que se pretende classificar um exemplo e, descrito por um vector de
atributos (X1, X2, ..., Xn), num dos possıveis valores da classe C1, ..., Ck, mutuamente
exclusivas. O naive Bayes classifica o exemplo e na classe Ci que maximiza a
probabilidade a posteriori P (Ci|e). Assim, aplicando o teorema de Bayes obtem-se:
P (Ci|e) =P (Ci)P (e|Ci)
P (e), (2.1)
O termo P (e) pode ser ignorado por ser identico para todas as classes, nao alterando
a ordem relativa das probabilidades. O calculo do termo P (e|Ci) torna-se computa-
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 15
Figura 2.1: O modelo de dependencias para o naive Bayes.
cionalmente possıvel uma vez que sao assumidos os princıpios de independencia, ou
seja todos os atributos Xi sao condicionalmente independentes dado o valor da classe
C. Todas as probabilidades requeridas sao estimadas a partir do conjunto de treino e a
aprendizagem da-se ao calcular a probabilidade P (C) e P (Xi|C) para todos os atributos
Xi dos dados de treino. A classificacao e executada calculando a P (C|X1, ..., Xn).
Uma vez que se assume que os atributos Xi sao independentes entre si dada a classe e
aplicando o principio de Bayes obtem-se a formula :
PT (Cj|X1, ..., Xn) = α.PT (C)∏x
i=1 PT (Xi|C) (2.2)
Considerando que existem quatro atributos (fig. 2.1) e que os valores possıveis da classe
seriam {+;-} ter-se-ia, argmax { P (C = + |x1, x2, x3, x4); P (C = −|x1, x2, x3, x4)},para o exemplo do modelo da figura 2.1, caso se pretendesse classificar um exemplo
aplicar-se-ia:
maxC
P (C = +|x1, x2, x3, x4); P (C = −|x1, x2, x3, x4) (2.3)
que seria:
P (C = +|x1, x2, x3, x4) = P (C = +).P (x1|C = +).P (x2|C = +).P (x3|C = +).P (x4|C = +)
P (C = -|x1, x2, x3, x4) = P (C = -).P (x1|C = -).P (x2|C = -).P (x3|C = -).P (x4|C = -)
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 16
Figura 2.2: O modelo de dependencias de um TAN como descrito por Friedman.
Desvantagens do naive Bayes
O naive Bayes assume que os atributos sao independentes dada a classe, hipotese que
raramente se verifica no mundo real. Alem disso, apesar de se comportar muito bem
quando o numero de exemplos e escasso, o seu desempenho nao melhora muito quando
o numero de exemplos de treino aumenta.
A principal vantagem do algoritmo, a sua simplicidade, acaba assim por se transformar
numa desvantagem em problemas mais complexos.
2.2.2 TAN: extensao ao naive Bayes
O TAN foi introduzido por Friedman e Goldszmidt [FG96] com o intuito de melhorar o
naive Bayes [Rou02], possibilitando representar dependencias entre pares de atributos.
Este classificador denomina-se por tree augmented naive Bayes o que traduzido
textualmente significa arvore aumentada do naive Bayes. No entanto, evitar-se-a a
traducao, ficando apenas o esclarecimento.
Na figura 2.1 podemos observar o modelo para o naive Bayes e na figura 2.2 o
modelo para o TAN. Nestas figuras a classe encontra-se representada por C e em
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 17
ambas as figuras se encontram representados quatro atributos (Xj ∀1≤ j ≤ 4). As setas
representam as dependencias entre as variaveis. Por exemplo, no caso da figura 2.1
podemos observar uma seta de C para X1, esta representa que o atributo X1 depende
da classe.
O TAN e semelhante ao naive Bayes, permitindo no entanto dependencias entre os
atributos. As restricoes sao as seguintes:
• cada atributo depende condicionalmente da classe (tal como ocorre no naive
Bayes);
• existem (n-1) atributos que dependem condicionalmente de um outro atributo
Esta ultima condicao implica que caso haja uma ligacao de Xi para Xj, estes dois
atributos nao sao independentes dada a classe. Em vez disso a influencia de Xj na
probabilidade da classe C depende do valor de Xi. A figura 2.2 mostra o exemplo de
uma rede Bayesiana com as condicoes descritas por Friedman para que seja considerada
um TAN.
Comparando a rede da figura 2.1 (Naive Bayes) com a rede da figura 2.2 (TAN) verifica-
se que foram acrescentadas algumas dependencias entre os atributos.
De notar que a estrutura das dependencias se encontra definida a partida para o naive
Bayes. Para o TAN tambem se define que todos os atributos dependem da classe, mas
e necessario encontrar as dependencias entre os atributos seguindo as regras descritas.
Para encontrar as dependencias entre os atributos Friedman usou o algoritmo reportado
por Chow e Lui [HKL02]. Uma vez que cada atributo pode ter no maximo um ”pai”,
e necessario encontrar aquele que possui maior probabilidade condicional dado o valor
de C. De uma forma mais simples, e necessario encontrar os dois atributos que
tenham maior correlacao. Ao escolher para cada atributo o que tem maior dependencia
condicional dado C, obter-se-a, teoricamente, a melhor representacao das dependencias
seguindo a regra do TAN.
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 18
Figura 2.3: Arvore de dependencias encontrada pelo algoritmo de Chow and Liu.
A funcao 2.4 descreve o calculo do TAN, onde os parentes do atributo Xi sao
representados por ΠXie o atributo tem como parentes a classe e no maximo outro
atributo.
PB(X1, ..., Xn) = PB(Xi|∏
Xi) (2.4)
Considerando que existem quatro atributos (fig. 2.2) e que os valores possıveis da classe
{+ ; -}, para poder executar a classificacao tem-se de calcular:
argmax { P (C = +|x1, x2, x3, x4); P (C = -|x1, x2, x3, x4)} em que :
P (C = +|x1, x2, x3, x4) = P (C = +).P (x1|C = +).P (x2|x1, C = +).P (x3|x1, C =
+).P (x4|x3, C = +)
P (C = -|x1, x2, x3, x4) = P (C = -).P (x1|C = -).P (x2|x1, C = -).P (x3|x1, C =
-).P (x4|x3, C = -)
2.2.2.1 Algoritmo de Chow and Liu
Se a figura 2.2, retirarmos a classe e todas as ligacoes entre os atributos e a classe,
observa-se que as ligacoes entre os atributos formam uma arvore. Arvore essa que se
encontra representada na figura 2.3.
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 19
O algoritmo reportado em 1965 por Chow e Liu [HKL02] e utilizado para a construcao
de arvores de dependencias que maximizam a informacao mutua entre as variaveis.
Assim, o algoritmo inicializa-se obtendo a informacao que X fornece sobre Y ,
recorrendo a seguinte formula:
IP (X; Y ) =∑x,y
P (x, y)P (x, y)
P (x)P (y)(2.5)
Onde IP (X; Y ) e a informacao que X fornece sobre Y ou o inverso, informacao esta
que e calculada para todos os pares de atributos. Com a informacao obtida entre todos
os pares de atributos esta-se em condicoes para construir um grafo completo.
A partir do grafo completo o objectivo e obter a arvore de dependencias que maximize
a informacao mutua entre os atributos. Para achar essa arvore que maximiza o peso da
informacao mutua entre os atributos, existem dois algoritmos conhecidos, o algoritmo
de Kruskal e o de Prim’s.
Friedman ao analisar o caso especıfico da construcao da arvore de dependencias para o
TAN verificou que, neste caso especifico, sabe-se a partida que todos os atributos sao
dependentes da classe. Assim, o necessario e conhecer a quantidade de informacao que
o atributo X fornece sobre o atributo Y dada a classe, utilizando uma formula que e
uma adaptacao da formula original (2.5) para o caso especıfico do TAN:
IP (X; Y |C) =∑x,y,c
P (x, y, c)P (x, y|c)
P (x|c)P (y|c) (2.6)
A diferenca entre a formula 2.5 e a formula 2.6 e que esta ultima assume que ambos
os atributos sao dependentes da classe, calculando deste modo a informacao que X
fornece sobre Y dado o valor da classe.
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 20
Figura 2.4: Fases da construcao da arvore que maximiza a informacao mutua.
2.2.3 Construcao da arvore de dependencias
A construcao da arvore de dependencias e o que diferencia o TAN do naive Bayes. Esta
vai determinar o desempenho do TAN. Teoricamente, e devido a dependencia entre os
atributos que o TAN melhora o desempenho em relacao ao naive Bayes.
Para construir a arvore que maximiza a informacao mutua entre os atributos, seguem-se
os seguintes passos:
1. Obter a informacao mutua (equacao 2.6), IP (Xi, Xj|C) entre cada par de
atributos, i, j e construir um vector com essa informacao mutua, figura 2.4, passo
(a);
2. Desenhar um grafo completo nao orientado, tendo como nos os atributos e como
custo das ligacoes a informacao mutua entre os atributos, figura 2.4, passo (b);
3. Calcular a arvore que maximiza a informacao mutua, sem criar ciclos, figura 2.4,
passo (c);
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 21
4. Transformar a arvore nao orientada em orientada, escolhendo como raiz a
informacao mutua mais alta, figura 2.4, passo (d);
5. Adicionar a classe como ”pai”de todos os atributos, figura 2.4, passo (e);
2.2.4 Variantes do TAN
Apos a sua apresentacao o TAN foi motivo de estudo por varios autores que
apresentaram algumas ideias no sentido de tentar melhorar o desempenho do TAN
de Friedman. As propostas mais relevantes sao as seguintes:
• smoothed TAN foi apresentado por Friedman no mesmo artigo em que
apresentou o TAN e este visa combater o problema de existirem poucos exemplos
em algumas particoes. Segundo Friedman [FG96] este problema nao afecta o
Naive Bayes pois este dispoe de um menor numero de particoes e estas sao
elaboradas, apenas de acordo com o numero de possıveis valores da classe que
normalmente sao bem representadas pelos dados de treino. Assim, para o calculo
do smoothed TAN sao estimados em todas as particoes θx|∏
xe sao enviesados
para a frequencia marginal observada, formalmente:
θs(x|∏x
) = α.PD(x|∏x
) + (1− α)PD(x) (2.7)
em que o α =N.PD(
∏x)
N.PD(∏
x)+s
, e s e o parametro ’suavizador’, que de acordo com
o conselho de Friedman devera ter o valor de 5. Na pratica o que acontece
e que quantos mais exemplos a particao tiver, menos enviesado e o seu valor.
A alteracao que o smoothed TAN propoe e apenas a alteracao dos valores das
particoes que contem as estimativas das probabilidades.
• super parent (SP), apresentado por Keogh e Pazzani [KP99], que propoem
um algoritmo ambicioso que vai adicionando ’arcos’ a estrutura do naive Bayes.
Em cada passo o algoritmo adiciona mais um ’arco’ mantendo a condicao de que
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 22
cada atributo nao tenha mais de um pai. O algoritmo designa como orfaos os
que nao tem outro atributo como pai. No primeiro passo o SP inicializa a rede
com o naive Bayes, em que todos os atributos sao orfaos, assim a lista de orfaos
e inicializada com todos os atributos.
Em seguida o algoritmo avalia para cada atributo o desempenho como ”pai”para
cada um lista de orfaos, entendendo-se por desempenho a taxa de erro nos
exemplos de teste. O que obtiver melhor desempenho e escolhido como ”super
pai”. De seguida escolhe-se o ”filho favorito”, que corresponde ao que apresentou
melhor desempenho como ”filho”do ”super pai”escolhido. O ”filho”favorito e
retirado da lista de orfaos e volta-se a escolher o novo ”super pai”. Este ciclo
repete-se ate a lista de orfaos contenha apenas um elemento ou ate que se verifique
que o desempenho nao melhora. . De uma forma resumida sao estes os passos a
seguir:
1. Inicializar a estrutura com o naive Bayes
2. Avaliar o desempenho da estrutura
3. Considerar a hipotese de tornar cada atributo como ”super pai”, em que
ASP representa o atributo que apresenta o melhor desempenho como ”super
pai”.
4. Considerar as estruturas que acrescentam a actual um arco de ASP para os
orfaos.
Se a melhor das estruturas anteriores melhorar o desempenho, considera-se
essa estrutura e voltar-se ao passo 2. Caso contrario retornar-se a estrutura
actual.
Os autores do algoritmo, defendem que este metodo de procura da arvore melhora
o desempenho do classificador, mas este metodo e mais moroso e dispendioso
na procura da estrutura do TAN. Alem disso, existe ainda o problema de este
algoritmo encontrar a melhor estrutura para os dados de treino o que nao significa
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 23
que seja a melhor estrutura para o problema.
Uma outra causa para que o algoritmo seja mais moroso e o facto de este
necessitar de avaliar a rede com os dados de treino em cada um dos passos.
Para alem de avaliar a rede obtida o algoritmo avalia ainda todas as possıveis
redes, o que vai prejudicar o tempo de obtencao do algoritmo, que e directamente
proporcional ao numero de exemplos de treino. Assim pode-se concluir que o
desempenho do algoritmo diminui apesar de a taxa de erro para os dados de
treino poder melhorar.
Deve-se no entanto salientar que este algoritmo trouxe uma importante con-
tribuicao que consiste na ideia de nao impor ao algoritmo crie uma arvore com
(n-1) ligacoes mas que pare de adicionar ligacoes quando atinge um criterio.
• TANC, apresentado por Fagiuoli e Zaffalon [FZ00] tenta estender o TAN a
uma ’credal network ’. Os autores apresentam na realidade dois algoritmos, o
TANC que baseado numa ’credal network ’ classifica os exemplos e o TANCs
que para os autores deve ser utilizado em domınios com grande complexidade.
Estes algoritmos utilizam intervalos de probabilidades em vez de valores precisos.
Os autores reclamam que o tempo de processamento e linear de acordo com o
numero de atributos.
• TBMATAN, apresentado por Cerquides e Lopes Mantaras em 2003 [Cer03],
no qual os autores demonstram como induzir distribuicoes decompostas sobre
o modelo TAN. Este algoritmo parte do princıpio que ao se assumirem as
probabilidades a priori como decompostas podemos e possıvel obter as proba-
bilidades a posteriori tambem decompostas, podendo estas ser completamente
determinadas analiticamente em tempo polinomial. No mesmo relatorio os
autores determinam que para grandes series de dados o TBMATAN tem
grandes inconvenientes, por isso propoem uma aproximacao ao TBMATAN que
denominam por SSTBMATAN. O TBMATAN e o SSTBMATAN apesar de
demonstrado empiricamente pelos autores que podem melhorar os resultados do
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 24
TAN, acrescentam uma complexidade consideravel ao algoritmo, o que lhes retira
parte das vantagens.
2.2.5 Algoritmos incrementais para o TAN
A aproximacao Bayesiana a tarefa de classificacao e eficiente e foi aplicada de maneira
natural e com sucesso na area da aprendizagem off-line. No entanto, a utilizacao de
extensoes para a sua aplicacao de modo incremental, onde a informacao sobre exemplos
ja analisados nao sao guardados, tem sido muito limitadas ate ao momento [Saa98].
Como anteriormente mencionado, a mais simples das redes Bayesianas e o naive Bayes,
que e naturalmente incremental [Rou04]. Uma vez que nos problemas do mundo
real existem dependencias, quando estas sao representadas a rede perde a natureza
incremental pois, em redes Bayesianas, um novo exemplo pode afectar toda a estrutura
[FG97, Rou04, Hec97a]. Devido a esta natureza, a abordagem incremental das redes
Bayesianas e mais difıcil do que em algoritmos de outras areas [Rou04].
2.2.6 TAN-ACO de Roure
Roure na sua tese [Rou04] dedicou-se ao estudo de algoritmos incrementais na area
das redes Bayesianas. Roure descreve na tese uma heurıstica que, segundo Roure, se
aplica a qualquer algoritmo que siga o hill climbing. Esta baseia-se no princıpio de
que quando um algoritmo utiliza a procura em hill climbing, este segue um caminho,
que e definido por operacoes. A heurıstica de Roure guarda a informacao e a ordem
das operacoes que o algoritmo seguiu. Deste modo quando o algoritmo processa novos
dados, a heurıstica verifica se o caminho seguido continua valido, caso este nao seja
valido a heurıstica reconstroi o caminho a partir da operacao onde o caminho deixou
de ser valido.
Mas para a exemplificacao da sua heurıstica Roure escolheu a aplicacao ao TAN, a
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 25
heurıstica aplicada ao TAN Roure chamou de Arches in Correct Order (TAN-ACO).
O algoritmo guarda a ordem das operacoes para chegar a arvore de dependencias.
A operacao e neste caso a adicao de um novo ramo a arvore de dependencias.
Considerando que temos uma serie de operacoes ordenadas para chegarmos a um
modelo (M),
M = opn(opn−1...(op1(M0, A1), A2)..., An−1), An) (2.8)
Para chegar-mos ao nosso modelo M, que neste caso e a nossa arvore de dependencias,
efectuamos uma serie de operacoes sobre os argumentos. O que Roure propoe e
que, quando chegam novos dados, se actualizem as particoes da distribuicao de
probabilidades de modo a actualizar os argumentos. De seguida percorre-se o mesmo
caminho para verificar se as operacoes continuam correctamente ordenadas. Assim que
o algoritmo detecta que houve uma alteracao na ordem das operacoes ( equacao 2.9),
activa o processo para recalcular o caminho a partir dessa operacao, o que faz com que
o algoritmo encontre uma nova arvore de dependencias.
opj(Mj−1, Aj) ∨ opi(Mi−1, Ai) ∨ i > j ∨ Ai < Aj (2.9)
ou seja, o argumento i passou a ser maior que o argumento j mas no entanto a operacao
i so foi efectuada depois da operacao j.
Simplificando, o algoritmo guarda a ordem pela qual os arcos foram escolhidos para
a arvore de dependencias, esta escolha foi efectuada ordenando de modo decrescente
o valor da informacao mutua (formula 2.6). Quando novos dados ficam disponıveis, o
algoritmo actualiza a informacao mutua e verifica se a ordem ainda e a mesma. Caso
o algoritmo encontre alguma alteracao, entao activa o processo para a actualizacao da
arvore na operacao onde a ordem dos argumentos se alterou.
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 26
2.3 Discretizacao
A extraccao de conhecimento e geralmente feita com auxılio de algoritmos de
aprendizagem de maquina. A maioria desses algoritmos pode somente ser aplicada
a conjuntos de dados que contenham apenas atributos discretos ou nominais. Dessa
forma, a utilizacao de certas ferramentas de extraccao de conhecimento pressupoem a
discretizacao de atributos contınuos presentes nos dados em questao.
O processo de discretizacao consiste em transformar um atributo contınuo, em um
numero finito de intervalos e associar valores discretos a cada intervalo.
A discretizacao e comumente utilizada porque existem varios algoritmos que lidam
apenas com variaveis discretas, mas existem autores que defendem a discretizacao
como um pre-processamento mesmo para algoritmos que lidam com atributos contınuos
[DKS95, FR02].
2.3.1 Tipos de atributos
Na area da aprendizagem automatica sao utilizados conjuntos de dados para a avaliacao
do algoritmo. Os conjuntos de dados tem normalmente varios tipos de atributos, este
dividem-se em:
qualitativos ou categoricos, estes sao normalmente finitos e nao numericos.
quantitativos ou numericos , estes podem conter um numero infinito de valores.
Dentro de cada um destes tipos existem outros dois tipos. Dentro dos categoricos
existem dois tipos, os nominais e os ordinais. Os nominais sao aqueles que nao podem
ser ordenados, por exemplo.
• Tipo de sangue de uma pessoa: A, B, AB, O;
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 27
• Sexo de uma pessoa: Masculino, feminino;
• Nacionalidade de uma pessoa: Portugues, Espanhol, Frances, etc..;
Os ordinais sao aqueles que apesar de serem categoricos tem uma ordem, por exemplo:
• humidade: Alta < Media < Baixa;
• Periodicidade de um Jornal: Diario, Semanal, Mensal, Anual;
Dentro dos numericos temos os contınuos ou discretos, em que os discretos sao aqueles
que apenas assumem valores numericos mas previsıveis, por exemplo:
• Numero de filhos de uma famılia;
• Numero de acidentes de um segurado;
os contınuos sao aqueles que assumem podem assumir um numero de valores infinitos
dentro de um intervalo, por exemplo:
• Peso;
• Temperatura;
Por razoes de simplicidade, vamos apenas chamar os atributos de categoricos e
contınuos, em que quando nos referimos contınuos estamos na realidade a referir-nos
a atributos numericos, estes sao os atributos que nos interessa discretizar. Contudo,
podem existir atributos contınuos, com um numero de valores finitos, se neste caso,
o numero de possıveis valores do atributo for inferior ao numero de intervalos achado
pelo metodo de discretizacao, nao vale a pena discretizar o atributo.
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 28
2.3.2 Importancia da discretizacao
Muitos dos dados com que a area da aprendizagem automatica trabalha sao problemas
reais. Esta area tem como objectivo substituir e por que nao, melhorar o homem na
resolucao de problemas. Contudo, existem muitos casos em que os problemas envolvem
atributos contınuos. Nestes casos a discretizacao torna-se importante para algoritmos
que nao trabalham com atributos contınuos, como por exemplo, as redes Bayesianas.
A discretizacao tem como principais caracterısticas:
• Permitir que modelos que apenas lidam com atributos categoricos, possam
resolver problemas com atributos contınuos.
• Acelerar o processo de aprendizagem do modelo, pois normalmente o processa-
mento de atributos categoricos e mais rapido [FR02, Cat91].
• Nao efectuar assuncoes sobre a distribuicao de probabilidade.
• Os intervalos resultantes da discretizacao sao mais faceis de representar e
compreender em termos de representacao de conhecimento para o utilizador.
• Os atributos discretizados ocupam menos espaco em memoria.
• Reduzir o espaco de procura, o que reduz a chance de se criar regras muito
especıficas, aumentando por essa razao a probabilidade de encontra gerar um
modelo simples. A discretizacao agrupa num intervalo uma serie de valores,
ao efectuar esta operacao esta a diminuir o espaco de possıveis modelos que
o algoritmo pode investigar. Um dos problemas na area da aprendizagem
automatica, que por vezes acontece, e o modelo adaptar-se aos dados. Este
gera um modelo complexo, que obtem um desempenho elevado com os dados
de treino, mas um baixo desempenho com conjuntos de dados nao pertencentes
ao conjunto de treino. Com a discretizacao o risco de acontecer esta situacao
diminui, pois a discretizacao agrupa num intervalo um conjunto de valores,
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 29
diminuindo consideravelmente a complexidade do conjunto de dados. Esta
reflecte-se normalmente no modelo gerado.
Estas sao algumas das caracterısticas que tornam a discretizacao dos atributos atraentes
mesmo para algoritmos que suportam atributos contınuos.
No entanto, existem muitos algoritmos da area de aprendizagem automatica que
estao orientados para lidar com atributos categoricos. [DKS95, KS96]. Este tipo de
algoritmos nao pode prescindir da discretizacao. As redes Bayesianas fazem parte deste
grupo.
2.3.3 Topologia dos algoritmos de discretizacao
Ao longo dos tempos foram propostos e testados varios tipos de algoritmos de
discretizacao com o intuito de provar a necessidade da discretizacao.
Os metodos de discretizacao foram surgindo com diferentes linhas de orientacao, deste
modo os metodos de discretizacao podem ser classificados de varias formas. Cada uma
das topologias realca o aspecto pela qual se classifica o metodo.
Os metodos de discretizacao classificam-se pelas seguintes caracterısticas:
1. Univariada e Multivariada [Bay00], metodos que efectuam a discretizacao de
um atributo de cada vez e sem ter em conta a relacao entre os atributos, sao
metodos univariados. No entanto, existem metodos que tem em consideracao
a relacao entre os atributos, estes metodos sao apelidados de multivariados.
Normalmente este tipo de metodos efectuam a discretizacao dos diversos atributos
em paralelo.
2. Supervisionado e Nao-supervisionado [DKS95], A discretizacao e chamada
supervisionada quando leva em consideracao a variavel classe (tipo univariado) ou
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 30
os demais atributos (tipo multivariado). Os intervalos dos atributos discretizados
sao estipulados de acordo com a interaccao que se da entre as variaveis. Na
discretizacao nao-supervisionada, os atributos contınuos sao discretizados em
intervalos estipulados a priori, desprezando qualquer interaccao com as outras
variaveis.
3. Parametricos e Nao parametricos, os metodos parametricos sao aqueles que
requerem a intervencao do utilizador no processo. Esta intervencao pode ser por
exemplo a escolha do numero de intervalos. Os nao parametricos efectuam a
discretizacao do atributo sem requerer nenhuma intervencao do utilizador.
4. Hierarquicos e Nao hierarquicos[Yan03], a discretizacao hierarquica, inicia-se
com a escolha um ponto de corte como parte de um processo recursivo, o que
leva a uma hierarquia implıcita sobre a escolha dos pontos de corte. As operacoes
usadas pelo metodo hierarquico sao o corte e (ou) a juncao. O corte separa uma
das partes em duas, formando dois intervalos de discretizacao a partir do primeiro.
A juncao escolhe dois intervalos adjacentes e funde-os num so. Estes metodos
tem normalmente um criterio de paragem, o criterio pode ser um numero maximo
ou minimizo de intervalos ou ate deixar de ter um ganho significativo de acordo
com o criterio. Existem algoritmos que usam os dois metodos, por exemplo,
comecam por cortar o intervalo ate ser encontrado o criterio e de seguida usam a
juncao como um processo posterior de verificacao. Os metodos nao hierarquicos
escolhem os intervalos sem nenhuma hierarquia, por exemplo, os metodos que
ordenam os valores e escolhem os intervalos sequencialmente.
5. Global e Local [DKS95], A distincao entre discretizacao global e local depende
de quando ela e efectuada. Na dicretizacao global, todos os atributos contınuos
sao discretizados antes de serem submetidos ao algoritmo de aprendizagem,
esta discretiza o atributo para todo o espaco de treino e respeitante a todos
os outros atributos, apenas uma vez. Na local, os atributos contınuos sao
discretizados durante o processo de aprendizagem. Os metodos locais discretizam
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 31
pequenas particoes, que por vezes, sao aplicados a regioes localizadas do espaco
de instancias. Por exemplo, existem metodos que discretizam o atributo varias
vezes, e aplicam uma das diferentes discreterizacoes efectuadas ao atributo, esta e
escolhida conforme o no de decisao da arvore de classificacao em que se encontre
[Qui93].
6. Dinamica e Estatica [FR02], esta classificacao da discretizacao refere-se ao
momento em que a discretizacao e efectuada, a discretizacao estatica efectua
a discretizacao antes de proceder ao treino do modelo. Existem algoritmos
que procedem a discretizacao do atributo durante a aprendizagem do modelo,
tentando tirar vantagens do modelo para efectuar a discretizacao do atributo,
este tipo de discretizacao e efectuada durante o processo de treino do algoritmo.
Este tipo de discretizacao e chamada de dinamica. No entanto, existem autores
que partilham a opiniao de que nao estao provadas as vantagens da discretizacao
durante o processo de aprendizagem [DKS95].
7. Disjunta ou Nao-Disjunta [Yan03], metodos disjuntos sao metodos que
escolhem intervalos adjacentes uns aos outros ocupando todo o espaco de valores
que o atributo pode ter, neste tipo de discretizacao os intervalos nao se sobrepoem,
qualquer que seja o valor do atributo, este apenas pertence a um intervalo.
Metodos nao-disjuntos formam intervalos que nao obedecem as regras anteriores:
os intervalos podem sofrer sobreposicoes e/ou os atributos podem pertencer a
mais de um intervalo. A vantagem deste tipo de metodos pode ser um melhor
aproveitamento dos exemplos, ja que o mesmo exemplo pode servir para a
confianca de mais de um intervalo.
2.3.4 Efectividade da discretizacao
Um ganho notavel com a discretizacao e a diminuicao do uso de memoria. Conjuntos
de dados que possuem atributos com muitos valores distintos podem, depois de
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 32
discretizados, ser representados de forma muito mais compacta. Isso diminui os
problemas relacionados com a manutencao de memoria e acelera o processo de
aprendizagem de maquina.
Alguns autores, realizaram testes empıricos, em que defendem que a discretizacao torna
a aprendizagem mais rapida e melhora o desempenho do modelo [FR02, DKS95]. O
uso da discretizacao pode ainda simplificar e compactar o conjunto de dados, por
razoes ja enunciadas, levar a modelos mais pequenos, compactos, simples e com melhor
desempenho que os mesmos obtidos com os atributos contınuos.
Alguns autores efectuaram testes com algoritmos que trabalham com atributos
contınuos e discretos [FR02, DKS95, MR95, FW99, Cat91]. Apos estas experiencias, os
autores chegaram as conclusoes de que a discretizacao e vantajosa em varios aspectos,
pois a discretizacao melhorou quer o desempenho quer a rapidez dos algoritmos.
Para poder avaliar a eficacia de um metodo de discretizacao temos de ter em conta
varios aspectos:
simplicidade, intuitivamente um classificador simples tem vantagens quer na sua
aplicacao, quer na interpretacao mais tarde dos resultados. Existem na opiniao
de muitos autores metodos de discretizacao excessivamente complexos [Yan03].
numero de intervalos gerados, intuitivamente um classificador que gere um
numero de intervalos baixo obtera um melhor resultado de discretizacao, claro
que existe um limite mınimo imposto pelo conjunto de dados.
rapidez, um metodo de discretizacao e um pre-processamento dos dados, claro que se
este for excessivamente complexo e moroso perde parte das vantagens enunciadas
anteriormente e podera nao sera uma boa escolha. Existem muitos metodos de
discretizacao que na opiniao de muitos autores sao excessivamente complexos e
lentos [Yan03].
representacao simplificada, um dos objectivos dos metodos de discretizacao e
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 33
simplificar o conjunto de dados pois deste modo este torna-se mais simples,
compacto e de melhor compreensao quer para o utilizador quer para o algoritmo
que vai gerar um modelo a partir dos dados.
eficacia da aprendizagem, este e um dos principais objectivos da discretizacao,
que o algoritmo tenha eficacia na aprendizagem, por esta razao os metodos
de discretizacao sao criados num contexto. Existindo metodos de discretizacao
especıficos para alguns algoritmos.
melhoria do desempenho, numa ultima analise, este e o principal argumento para
o uso da discretizacao. A melhoria de desempenho para o algoritmo.
Assim, um metodo de discretizacao, pode ser avaliado por qualquer destes aspectos.
Um classificador optimo sera entao rapido, simples, com um numero mınimo de
intervalos melhorando a representacao do conjunto de dados, a aprendizagem e o
desempenho do algoritmo.
2.3.5 A discretizacao e normalmente o metodo mais utilizado
com o TAN
O TAN efectua uma estimativa das probabilidades, para efectuar esta estimativa o
TAN guarda a frequencia de valores em particoes, as particoes podem ser do tipo
Ai|C (se o atributo apenas depende da classe) ou Ai|Aj, C (se o atributo depende de
outro atributo). Quando os valores sao categoricos, a estimativa e tirada a partir da
frequencia nas particoes. Para valores contınuos, poderia-se calcular as probabilidades,
caso se soubesse a sua distribuicao de probabilidades. Infelizmente para casos reais, a
distribuicao e desconhecida [FGL98]. Por esta razao, para lidar com atributos contınuos
existem duas abordagens possıveis:
1. A primeira e estimar a distribuicao de probabilidades para o atributo contınuo.
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 34
Figura 2.5: Processo de discretizacao.
Para efectuar esta abordagem tem-se de tomar algumas suposicoes. Pode-se
assumir que o atributo tem uma distribuicao normal. Esta assuncao e feita
porque a distribuicao normal e uma aproximacao razoavel a muitos casos reais
[JL95], ou porque a distribuicao normal e provavelmente a melhor estudada na
area da estatıstica [Mit97].
2. A segunda aproximacao e a discretizacao dos atributos. Na discretizacao, um
atributo contınuo e pre-processado e convertido num atributo discreto. O atributo
e separado em varios intervalos. Os intervalos sao rotulados com um nome
(figura 2.5) .Para cada instancia verifica-se a que intervalo corresponde. O que e
dado ao algoritmo e o atributo discretizado, ou seja, o nome do intervalo a que
cada instancia pertence. Como a partir de atributos discretos a distribuicao de
probabilidades pode ser calculada com base na frequencia em cada particao ja
nao e necessario assumir que o atributo e contınuo. Na figura 2.5 podemos ver
um exemplo da discretizacao. Os pontos foram escolhidos aleatoriamente entre
um e nove, estes foram separados em tres intervalos A, B, C.
Para o TAN, a segunda abordagem e mais popular. A principal razao e que a
discretizacao atinge normalmente um erro mais baixo que o calculo das densidades
de probabilidades [DKS95].
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 35
Figura 2.6: Processo de discretizacao hierarquico do topo para baixo. Discretizacao de
um atributo continuo com valores entre 0 e 100. Na figura pode-se visualizar a arvore
formada no decorrer do metodo.
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 36
2.3.6 Revisao de alguns metodos de discretizacao
Ao longo dos anos, muitos algoritmos da discretizacao foram propostos e testados com
o intuito de mostrar que as vantagens da discretizacao em diversas areas. Estes sao
alguns dos metodos apresentados a comunidade cientifica:
Equal-with Binning Este e um metodo nao supervisado. Este e o metodo mais
simples de discretizacao [DKS95]. Apenas divide o espaco dos valores observados
em k intervalos de igual tamanho. Este e um metodo parametrico, pois o utilizador
tem de dar o numero de intervalos em que deseja dividir o atributo. Este metodo e
extremamente sensıvel a valores discrepantes, pois pode bastar um destes valores para
surgirem intervalos enviesados.
Equal-frequency Binning Neste metodo o utilizador escolhe o k, mas desta vez o k
e a frequencia dos valores por intervalos, assim o algoritmo cria os intervalos de modo
a que cada um contenha aproximadamente N/k instancias. Os limites dos intervalos
sao adjacentes. De notar que instancias com valores iguais sao colocadas no mesmo
intervalo, nao sendo por isso possıvel gerar sempre intervalos com k frequencia de
valores, mas sim intervalos com frequencias aproximadas. Este e tambem um metodo
nao supervisado e parametrico.
K-means custering Este e um metodo que surge na literatura como um metodo
mais sofisticado do metodo equal frequency intervals. O K-means e um metodo que
normalmente se inicializa com o equal with discretization. Num segundo passo o metodo
tenta minimizar as distancias dentro de cada intervalo em ralacao ao seu centro e
maximizar as distancias entra cada um dos intervalos. O metodo e iterativo e para
quando nenhuma instancia mudou de intervalo.
1R Este e tambem um metodo de binning. Este metodo comeca por ordenar os
valores do atributo, de seguida divide em intervalos adjacentes, em que cada intervalo
tem de conter no mınimo seis instancias com a excepcao do ultimo. Como os valores
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 37
do atributo se encontram ordenados, o metodo selecciona seis valores, caso o valor a
seguir tenha um valor da classe diferente, o metodo encerra o intervalo e inicia um
novo intervalo, caso o valor da classe para o proximo valor seja igual o metodo alarga
o intervalo ate que o valor da classe seja diferente. Por defeito o valor mınimo de
frequencia em cada intervalo e seis, mas acredita-se que para conjuntos de dados com
milhares de exemplos, seis seja um valor desadequado.
ENT-MDL Este foi um metodo apresentado por Fayyad [FI93] em 1993. O metodo
de discretizacao ENT-MDL e baseado numa heurıstica de entropia mınima. Este, nao
requer nenhum parametro, a discretizacao ocorre automaticamente sem intervencao
humana.
H(X) =∑
x∈X
P (x) log2
1
P (x)(2.10)
O metodo comeca por considerar toda a amplitude do valor do atributo. De seguida
avalia todos os possıveis valores de corte em que o valor de corte e o meio entre dois
valores consecutivos. Para avaliar os valores de corte o metodo calcula o valor da
entropia, equacao 2.11.
H(Y |X) =∑
x∈X
|Yx||Y |H(Yx) (2.11)
como ja foi descrito, este e um metodo supervisado, por esta razao e calculado em
todos os possiveis valores de corte a entropia condicional em relacao a classe, equacao
2.12
tmin = arg mint∈T
( |C1||C| H(C1) +
|C2||C| H(C2)
)(2.12)
onde:
- C1 e C2 sao os subconjuntos do conjunto C, fraccionado de acordo com a particao do
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 38
atributo Xi no ponto t, ou seja,
- |C1| e |C2| e o numero de instancias em cada conjunto, C1 e C2, respectivamente.
Entre todos os candidatos o metodo escolhe o que apresenta o valor de menor entropia.
O metodo aplica esta heurıstica recursivamente ate chegar a um criterio de paragem. O
minimum description length(MDL) e aplicado como criterio de paragem. O metodo e
recursivo e em cada um os subconjuntos o algoritmo para quando se verifica a seguinte
condicao:
Ganho(C|X) <log2(|C| − 1)
|C| +4(C, X)
|C| (2.13)
onde:
- 4(C,X) = log2(3k − 2)− [k.Ent(C)− k1.Ent(C1)− k2.Ent(C2)]
- k e a quantidade de classes existente no conjunto C
- k1 e a quantidade de classes existente no conjunto C1
- k2 e a quantidade de classes existente no conjunto C2
Este e um metodo bastante usado na literatura. Um metodo supervisionado, global e
estatico. Univariado, pois discretiza uma variavel contınua em relacao a somente uma
outra variavel. Supervisionado, ja que a variavel e discretizada em relacao a variavel
da classe. Global, uma vez que todas as instancias sao relevantes a discretizacao. Este
e ainda um metodo hierarquico que efectua uma discretizacao do topo para baixo, por
esta razao o metodo descreve uma arvore durante sua aplicacao (figura 2.6).
Iterative-improvement discretization Este metodo foi apresentado por Pazzani
[Paz95], este cria inicialmente um conjunto de intervalos usando o Equal-interval
Binning ou o recursive entropy minimization. Apos a criacao destes intervalos o metodo
tenta melhorar a discretizacao iterativamente. Para tentar efectuar este melhoramento
o metodo define dois operadores: juntar dois intervalos adjacentes e separar um
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 39
intervalo em outros dois introduzindo um ponto de corte no meio de cada um dos
valores do intervalo. Em cada ciclo da iteracao o metodo avalia as operacoes possıveis
no conjunto de dados recorrendo a taxa de erro por validacao cruzada no conjunto de
treino. O metodo para quando nao existe nenhuma operacao que melhore a taxa de
erro.
Este e um metodo que pode obter bons resultados, no entanto para grandes conjuntos
de dados, este metodo e excessivamente demorado, pois este testa todas as opcoes o
que significa que para grandes conjuntos de dados o metodo se torna excessivamente
lento e complexo.
D2 Catlett [Cat91] explorou o uso da entropia para a discretizacao baseado nas arvores
de decisao de Quilan [Qui93]. Este metodo escolhe o primeiro ponto de corte da mesma
forma que ID3, usando a formula pela qual calcula o ganho de informacao em todos
os possıveis pontos de corte. Os seguintes pontos de corte sao achados recursivamente
baseados nos intervalos que surgiram pelos pontos de conte anteriores. Ao contrario
do ID3 o D2 e um metodo global que dispoe de condicoes para parar[DKS95].
ChiMerge apresentado por Kerber [Ker92] em 1992. Este e um metodo de bottom-up,
pois comeca por colocar cada valor em intervalos separados. De seguida o ChiMerge
considera as relacoes entre atributos e classes com o uso da medida estatıstica χ2
. A ideia basica e: se a concatenacao de dois valores contınuos (ou intervalos) nao
afecta a diferenciacao dos valores da classe, entao ela deve ser feita. Caso os considere
similares junta-os num mesmo intervalo. Este repete o teste em ciclo para os intervalos
adjacentes e para quando e atingido um criterio. Normalmente aconselha-se que alem
que por o χ2 − threshold tambem se imponha um numero maximo de intervalos, para
prevenir um numero excessivo. Este e um metodo supervisado, parametrico, global,
hierarquico.
1-R discretization apresentado por Holte [R.C93], este e um metodo supervisado que
tenta dividir os intervalos em intervalos puros (intervalos que apenas contem instancias
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 40
com um valor da classe). Para que nao exista um excesso de intervalos o algoritmo
segue ainda a regra de cada intervalo ter um numero mınimo de instancias, este numero
.
StatDisc discretization Este metodo [MR95], usa testes estatısticos, tal como o
ChiMerge, para determinar a discretizacao. Este e um metodo hierarquico que se
separa em tres fases:
1. Inicializacao dos intervalos, como e um metodo que segue o bottom-up, inicializa-
se o metodo com cada valor distinto num intervalo.
2. Cria uma hierarquia com as discretizacoes, para calcular essa hierarquia o metodo
efectua o teste φ para todos os intervalos adjacentes. De seguida junta os
adjacentes de menor valor φ e junta dois conjuntos, criando deste modo outro
nıvel, este ciclo repete-se ate que se obtenha apenas uma particao.
3. O ultimo passo consiste na escolha do nıvel da hierarquia obtida. Esta pode ser
escolhida pelo utilizador ou o metodo procura a que melhor se adequa.
Este metodo e semelhante ao ChiMerge, mas o teste estatıstico que usa e outro. Para
alem disto o ChiMerge apenas consegue juntar dois intervalos adjacentes, enquanto que
o StaDisc consegue juntar N intervalos adjacentes num passo.
2.4 Resumo
Neste capıtulo efectua-se uma revisao bibliografica sobre tres areas: classificadores
Bayesianos, aprendizagem incremental e metodos de discretizacao. Estes sao os
conceitos de base das propostas dos capıtulos seguintes.
Assim inicia-se introduzindo alguns conceitos base dos classificadores Bayesianos.
De seguida analisa-se o mais simples dos classificadores Bayesianos, o naive Bayes.
CAPITULO 2. CLASSIFICACAO E APRENDIZAGEM NO MUNDO REAL 41
Mostra-se como se pode passar do naive Bayes para o TAN calculando uma arvore de
dependencias em que n − 1 atributos sao dependentes da classe e de outro atributo
[FGL98]. Efectua-se uma breve referencia a alguns trabalhos existentes sobre variantes
do TAN. De seguida aborda-se a area da aprendizagem incremental. Define-se a
aprendizagem incremental e analisa-se as suas vantagens e desvantagens. Sao ainda
revistos e analisados os trabalhos com o TAN na area da aprendizagem incremental.
Passa-se de seguida ao tema da discretizacao, onde se define quais os tipos de variaveis
existentes. Evidencia-se porque o TAN como apresentado por Friedman nao aceita
variaveis continuas. Analisa-se a importancia de um algoritmo lidar com variaveis
continuas. E descrita a importancia da discretizacao e suas possıveis topologias.
Efectua-se uma revisao de alguns dos metodos de discretizacao existentes.
Deste modo, tenta-se apresentar resumidamente os conceitos que sao utilizados nos
proximos capıtulos. No Capıtulo 3 e apresentado um novo algoritmo que seguindo os
conceitos e topologia do TAN, implementa o algoritmo de modo incremental. No
Capıtulo 4 e sugerido que com a implementacao de algoritmos incrementais tem
vantagens o uso de metodos de discretizacao incrementais. Para que o algoritmo
aproveite os novos exemplos nao so para melhorar o modelo mas tambem para melhorar
a discretizacao encontrada inicialmente.
Capıtulo 3
Estudo de um classificador TAN
Incremental
Os algoritmos incrementais sao igualmente denominados por algoritmos actualizaveis
[Saa98]. A aprendizagem de modo naturalmente incremental e um dos objectivos
da area de aprendizagem automatica. Neste capıtulo e abordado um algoritmo que,
seguindo a metodologia do TAN, se comporta de modo incremental. Este mantem
diversas estatısticas de forma a manter as estimativas de probabilidades e efectuar
uma actualizacao a arvore de dependencias quando chegam novos dados.
Neste capıtulo descreve-se como obter o algoritmo e prova-se empiricamente que este
apresenta um desempenho muito semelhante ao TAN de Friedman [FG96].
O capıtulo esta organizado do seguinte modo:
1. descricao do TANi, algoritmo que implementa o TAN de forma incremental.
2. consideracoes sobre o TANi, suas vantagens e limitacoes.
3. resultados experimentais do TANi, ao qual sao efectuados diversos de testes:
(a) comparacao do desempenho em termos da taxa de acerto;
42
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 43
Figura 3.1: Esquema do TAN (a) e do TANi (b)
(b) comparacao das arvores de dependencias encontradas pelo TAN e pelo TANi;
(c) analise da evolucao do desempenho ao longo do treino em termos da taxa
de acerto;
(d) analise da sensibilidade do algoritmo ao numero de instancias dos conjuntos
de exemplos apresentados em cada passo.
3.1 Descricao de um TAN incremental (TANi)
O TANi tem por base o estudo do Roure [Rou04]. Denominou-se o algoritmo por
Incremental Version of Tree Augmented Naive Bayes (TANi). Na primeira vez que
constroi o modelo, o TANi processa-se como o TAN (figura 3.1 - (a)), no primeiro
passo o TANi obtem a mesma estrutura que o TAN. No entanto o TANi pode receber
mais conjuntos de dados apos encontrar a estrutura que melhor se adapta ao conjunto
de exemplos ja analisado. Para que o algoritmo possa receber mais conjuntos de dados,
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 44
este contem duas estruturas fundamentais:
1. guarda a a frequencia dos valores por classe e por cada dois atributos, estas sao
chamadas na literatura de estatısticas de segunda ordem [Hec97a];
2. A informacao mutua entre todos os pares de atributos.
Assim o algoritmo fica preparado para nos proximos passos actualizar o modelo com
base nas estatısticas guardadas (figura 3.1 - (b)), ou seja, sempre que surgem novos
dados o algoritmo actualiza as estatısticas de segunda ordem e a arvore de dependencias
que melhor que se adapta a nova distribuicao de probabilidades.
A segunda fase do algoritmo pode ser separada em duas partes distintas:
1. Actualizacao das particoes com as estimativas das probabilidades;
2. Obtencao da arvore de dependencias que melhor se adapta a nova distribuicao
de probabilidades.
Na fase seguinte assume-se que quando o algoritmo analisa mais exemplos de treino,
estes alteraram a distribuicao de probabilidades. Este facto nao implica que a arvore
de dependencias se altere. A analise da figura 3.1 permite uma melhor compreensao
do algoritmo pois, esta esquematiza o seu processo.
Na figura 3.1 pode-se observar do lado esquerdo a metodologia do TAN, este a partir
de um conjunto de dados inicia a construcao de um modelo. Modelo esse que gera
uma arvore de dependencias e um grupo de particoes que contem a distribuicao de
probabilidades do conjunto de dados. Para o caso do TANi, este segue num primeiro
passo o lado esquerdo da figura 3.1-(a), seguindo depois o esquema do lado direito da
figura 3.1-(b). Quando chegam novos dados, o algoritmo da inıcio a reavaliacao do
modelo. Esta reavaliacao do modelo consiste na actualizacao do grupo de particoes
que guardam a distribuicao de probabilidades e na geracao de uma nova arvore
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 45
de dependencias entre os atributos, que melhor represente a nova distribuicao de
probabilidades.
Descreve-se de seguida cada um destes dois passos em pormenor, analisando primeiro
a actualizacao das particoes e de seguida a actualizacao da arvore de dependencias.
3.1.1 Actualizacao das particoes da estimativas das probabil-
idades
A manutencao de uma estimativa das probabilidades correcta implica manter conta-
dores em cada uma das particoes, ou seja, o algoritmo guarda a distribuicao de valores
de dois atributos por classe, entre todas as combinacoes de atributos. Estas estatısticas
podem ser apelidadas de estatısticas de segunda ordem.
Como ja descrito, o naive Bayes e um algoritmo incremental devido a sua natureza.
Assim, a comparacao dos custos da implementacao da incrementalidade do TAN
com um algoritmo da mesma area e naturalmente incremental permite uma melhor
compreensao do custo que esta operacao representa.
A analise da quantidade de informacao que e necessario manter torna necessaria a
introducao de algumas notacoes.
Sendo Xj o atributo, xj um possıvel valor do atributo e D o conjunto de exemplos,
a notacao NDxn,xj ,c(xn, xj, c) representa o numero de instancias em D, onde Xi = xi,
Xj = xj e C = c. Assim NDxi,xj ,c representa o vector ND
xn,xj ,c(xn, xj, c) para todos os
possıveis valores das variaveis Xi, Xj e C. Considerando Vi como o numero de possıveis
valores do atributo e VC o numero de classes, se n for o numero de atributos, para se
obter o numero de particoes(np) que e necessario guardar temos:
naive Bayes: Vc +∑n
i=1 Vi × VC
TANi: VC +∑n
i=i Vi × VC +∑n
i=1
∑nj=1 Vi + Vj + VC
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 46
Estatısticas
Vi, Vj e VC n 1a ordem 2a ordem
3 3 30 273
3 6 57 1029
5 9 230 10355
5 10 255 12755
10 100 10010 10010010
10 200 20010 40020010
10 1000 100010 1000100010
10 5000 500010 25000500010
Tabela 3.1: Crescimento das estatısticas de primeira e segunda ordem
Na tabela 3.1 podemos analisar o crescimento das estatısticas de primeira e segunda
ordem a medida que o numero de atributos e valores por atributo aumentam.
Se se comparar o numero de contadores necessarios para o naive Bayes com os
necessarios para o TAN verifica-se que o TAN necessita de guardar um maior numero de
particoes. No entanto este numero nao torna proibitiva a sua utilizacao. Na literatura
pesquisada existem solucoes propostas que diminuem o tamanho ocupado por tais
estatısticas e aceleram a pesquisa das mesmas. Para mais informacao sobre o assunto
consultar [ML98]. De notar que esta foi a mesma solucao por que Roure optou no seu
algoritmo.
3.1.2 Actualizar a arvore de dependencias
A conclusao da actualizacao depende agora, apenas da obtencao da nova arvore de
dependencias entre os atributos. Uma vez que se trata de um algoritmo incremental,
este e capaz de calcular a nova arvore de dependencias sem recorrer aos exemplos ja
analisados pelo modelo. Por essa razao quando se calcula pela primeira vez o TAN o
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 47
procedimento e o seguinte:
1. Calculo da informacao mutua entre todos os pares Xi, Xj, seguindo a formula
2.6;
2. Construcao da arvore de dependencias (figura 2.4).
Apos a construcao da arvore a informacao mutua entre todos os pares de variaveis Xi,
Xj e guardada num vector que se ira denominar por ID.
I ′′D(Xi; Xj|C) = ID(Xi; Xj|C)× N
N + N ′ + I ′D(Xi; Xj|C)× N ′
N + N ′ ,∀i,j,i6=j (3.1)
Quando novos dados chegam seguem-se os seguintes passos:
1. Calculo da informacao mutua, apenas para os novo conjunto de dados, recorrendo
novamente a formula 2.6.
2. Guardar a informacao mutua calculada no passo anterior num vector, denomi-
nado por I ′D.
3. Somar o vector da informacao mutua (IP ) com o calculado no passo anterior (I ′D)
atraves da formula (3.1).
4. Calcular a nova arvore de dependencias com o novo vector de informacao mutua
obtido no passo anterior (I ′′D).
De salientar que se ira denominar por N o numero de exemplos e N ′ como o numero de
exemplos que se pretende adicionar a nossa base de conhecimento. A formula seguinte
permite o calculo do novo vector de informacao mutua:
Uma vez que I ′′D e uma soma ponderada, a influencia de cada um dos vectores de
informacao mutua e directamente proporcional ao numero de casos que representa. O
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 48
ultimo passo e o recalcular da arvore de dependencias com base no novo vector de
dependencias I ′′D.
De notar que o TANi segue a mesma metodologia que o TAN-ACO de Roure, ou seja,
este e baseado na soma das informacoes mutuas entre cada par de atributos. As duas
diferencas entre o TANi e o algoritmo descrito por Roure sao:
1. O TANi efectua uma soma ponderada das informacoes mutuas, enquanto que
o TAN-ACO apenas efectua a soma das informacoes mutuas. Em ambientes
dinamicos a soma simples tem vantagens sobre a soma ponderada pois com a
soma simples da informacao mutua o algoritmo reflecte mais rapidamente as
alteracoes do ambiente, uma vez que os novos exemplos tem o mesmo peso na
estrutura que os ja processados. A soma pesasa das informacoes mutuas tem
como vantagem uma aproximacao a versao nao incremental do TAN.
2. O TANi reconstroi sempre toda a arvore de dependencias, enquanto que o TAN-
ACO apenas reconstroi no ponto em que detecta uma alteracao na ordem com
que cada ramo da arvore de dependencias foi introduzido. Reconstruir a arvore
da raiz, apresenta a vantagem de esta teoricamente aproximar-se mais a arvore
do algoritmo nao incremental. A desvantagem e que este processo pode demorar
mais tempo. Mas mais a frente vamos analisar com este facto com maior detalhe.
3.1.3 Consideracoes sobre o algoritmo proposto
O algoritmo proposto segue a definicao de incrementalidade proposta por Langley
[Lan95].
Num estudo sobre o custo associado a incorporacao de novos exemplos na base de
conhecimento, verifica-se que a segunda fase do TANi se divide em dois grandes
calculos (processamento): calculo da informacao mutua e construcao da nova arvore
de dependencias.
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 49
o calculo da informacao mutua tem um custo associado de O(n2.N) [FG96], em
que n e o numero de atributos e N o numero de instancias, que e exponencial. No
TANi o tempo de processamento gasto no calculo do novo vector de informacao
mutua e apenas para os novos dados. Uma vez que este e directamente
proporcional ao numero de novos exemplos que se quer incorporar ao novo
algoritmo, o tempo gasto para incorporar dois ou tres exemplos e fixo e
computacionalmente aceitavel, tal como a definicao de Langley sugere.
Uma questao podera surgir: Uma vez que se mantem as estatısticas de segunda
ordem, porque nao se recalcula a informacao mutua para todos os exemplos?
No entanto esta pode nao ser uma opcao viavel computacionalmente. Um
computador dispoe de memoria primaria e secundaria. Considerando a memoria
primaria a memoria cache e RAM. Como memoria secundaria considera-se o disco
rıgido.
As estatısticas de segunda ordem podem atingir valores na ordem dos megas
ou mesmo gigas. Caso se calculasse a informacao mutua para todos os casos
terıa-se de recorrer as estatısticas de segunda ordem, o que poderia tornar o
processo de incorporacao de poucos exemplos demasiado moroso, tornando-o
incomportavel. Contudo, com este algoritmo apenas e necessario manter em
memoria o resumo da informacao mutua, o que e admissıvel para a memoria
primaria. Recorrendo pontualmente as estatısticas de segunda ordem, podendo
estas estarem localizadas na memoria secundaria. Estas apenas sao necessarias
quando a arvore de dependencias se altera. E por cada ramo que se altera da
arvore apenas e necessaria a tabela de probabilidades entre os dois atributos e a
classe. O que tambem e admissıvel computacionalmente.
construcao da nova arvore de dependencias o custo associado a construcao da
arvore e O(n2. log n) [FG96] (onde n representa o numero de atributos). Sendo
o calculo da arvore linear e independente do numero de exemplos representados
pelo modelo, o seu custo esta relacionado com o numero de atributos existentes,
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 50
o que significa que e o mesmo quer se adicione um ou um milhao de exemplos
ao modelo. Por esta razao a opcao de recalcular a arvore e admissıvel quer em
termos de tempo, quer em termos de peso computacional. De notar que o custo
da construcao da arvore depende apenas do numero de atributos do conjunto de
dados e o seu crescimento e linear.
Para a actualizacao da distribuicao da probabilidade e necessario manter as estatısticas
de segunda ordem e esta actualizacao pode-se revelar o maior requisito em termos de
memoria. No caso de conjuntos de dados com centenas ou milhares de atributos, este
tipo de estatısticas pode necessitar de valores na ordem dos gigabytes, fazendo por isso
sentido, apenas guarda-las em memoria secundaria.
O modelo TAN foi estendido para um modelo incremental (TANi), que reavalia o TAN
quando chegam novos dados. No entanto, dada a sua natureza, o modelo apenas
reavalia a arvore de dependencias quando recebe um conjunto de dados com mais de
um exemplo. Ou seja, uma vez que a informacao mutua e calculada com base nos novos
exemplos, se o novo conjunto de dados apenas apresentar um exemplo, cada atributo
identifica o outro univocamente. Desta forma, a informacao mutua entre os atributos e
maxima, o que significa que nao vai modificar o vector da informacao mutua. Todavia,
existem formas de contornar este problema. E possıvel estabelecer um numero mınimo
para proceder a actualizacao da arvore de dependencias. Os efeitos deste tipo de buffer
no desempenho do algoritmo e estudado ainda neste capıtulo.
3.2 Avaliacao e resultados
Esta seccao tem por objectivo avaliar o desempenho do TANi. Para tal foram efectu-
ados varios tipos de testes, utilizando conjuntos de dados do repositorio de dados da
Universidade da California, Irvine [BM98], que e um repositorio de dados para a area de
aprendizagem automatica bastante usado na literatura. Os conjuntos de dados usados
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 51
Figura 3.2: Esquema da validacao cruzada (com dez pastas).
podem ser encontrados no site http://www.ics.uci.edu/ mlearn/MLRepository.html.
Nas experiencias foi utilizada a validacao cruzada, de acordo com a descrita por Kohavi
[Koh95]. A validacao cruzada pode ser estratificada ou nao estratificada. A primeira
cria pastas com um numero de instancias por pasta aproximado. A segunda escolhe
aleatoriamente o numero de instancias por pasta.
Os dados (D) foram separados de forma aleatoria em k pastas mutualmente exclusivas
de tamanho aproximado, isto e, foi utilizada uma validacao cruzada estratificada, da
qual se pode ver um exemplo na figura 3.2.
O classificador foi treinado e testado k vezes. De cada vez que se corre o modelo este
e testado com Dt, t ∈ 1, 2, ..., k, e o treino foi o conjunto de dados D − Dt. A figura
3.3 representa um exemplo desta segunda fase.
A estimacao do erro foi calculada com base no total de instancias mal classificadas em
Dt a dividir pelo numero de instancias.
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 52
Repetir k vezes:
Figura 3.3: Esquema da segunda fase da validacao cruzada.
Uma vez que os algoritmos testados (TANi e TAN-ACO) sao incrementais, estes sao
afectados pela ordem com que se apresentam os dados. Para contornar este problema,
para os testes, os dados foram ordenados aleatoriamente.
Devera ainda referir-se que as instancias dos conjuntos de dados que continham valores
em falta foram retiradas.
Na tabela 3.2 pode-se analisar algumas caracterısticas dos conjuntos de dados, como
o numero de atributos, numero de possıveis valores da classe e numero de instancias
do conjunto. Na seccao 3.2.1 compara-se as estruturas das arvores gerada pelo TANi
com as das arvores geradas pelo TAN. Na seccao seguinte o desempenho do TANi e
comparado com os algoritmos: naive Bayes, TAN, TAN-ACO, Bayes Network e uma
implementacao de uma arvore de classificacao. De seguida procede-se a um estudo
da evolucao do desempenho do TANi a medida que este tem acesso a mais casos. As
experiencias terminam testando o impacto que tem na aprendizagem incremental a
variacao do numero de exemplos por pasta.
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 53
Figura 3.4: Resultados da diferenca ente as ligacoes na rede encontrada pelo TAN da
encontrada pelo TANi. No eixo horizontal tem-se o numero do passo ( que dividindo
o numero de exemplos do conjunto de dados pelo numero do passo obtemos o numero
de exemplos analisados) e no eixo vertical tem-se a diferenca entre as arvores (em
percentagem).
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 54
3.2.1 Estudo das arvores geradas pelo TANi
Como ja foi referido, a diferenca entre o naive Bayes e o TAN reside no facto de no
naive Bayes partir do principio que os atributos sao condicionalmente independentes
entre si. Enquanto que o TAN encontra uma arvore de dependencias em que (n-1)
atributos dependem de outro, para o naive Bayes todas os atributos sao independentes
entre si.
A construcao do modelo TAN permite encontrar a arvore de dependencias que
representa as dependencias entre atributos no conjunto dos dados pois, como descrito
pela revisao bibliografica, o TAN encontra de modo eficiente a arvore de dependencias.
Nesta seccao, compara-se a arvore de dependencias encontrada pelo TANi, com a
encontrada pelo TAN. Ambos os algoritmos tentam encontrar a arvore de dependencias
que melhor representa o conjunto de dados. O TANi efectua a procura num modo
incremental e o TAN efectua o mesmo processo tendo acesso a todo o conjunto de dados.
Este teste evidencia a diferenca que existe entre a arvore encontrada incrementalmente
e a encontrada tendo acesso a todo o conjunto de dados.
Este teste foi apenas efectuado para conjuntos de dados com mais de quinze atributos.
Com este numero de atributos o numero de possıveis arvores e sempre superior a
13×1011. Este e um espaco de procura suficiente grande para que ambos os algoritmos
encontrem arvores diferentes.
Para efectuar o teste os conjuntos de dados foram separados em dez partes (k1,k2,...,k10)
e o processo separado igualmente em dez partes ( iε1, ..., 10). Para cada um dos dez
passos, foi usada a seguinte metodologia:
TAN Em cada um dos passos o algoritmo era treinado com o conjunto de dados kj,
em que este conjunto e igual ao conjunto do passo anterior (kj−1) mais o conjunto
de dados desse passo (ki).
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 55
TANi No caso do TANi, apenas se gerou uma vez o modelo, para o primeiro conjunto
de dados. O modelo era em seguida reavaliado, adicionando ao modelo o conjunto
de dados ki.
Em cada um dos passos a arvore gerada pelo modelo era guardada. De notar que no
primeiro passo a arvore e igual para o TAN e para o TANi, logo a diferenca entre as
arvores e sempre zero no primeiro passo. A este passo seguem-se mais nove.
Na figura 3.4 e possıvel observar para os conjuntos de dados seleccionados, as diferencas
em percentagem entre as arvores que foram sendo geradas por cada um dos modelos.
De salientar que na tabela 3.2 se observa o numero de atributos que cada conjunto
de dados contem. O eixo do x contem o numero de passos e o eixo dos y a diferenca
em percentagem. Por exemplo, se se considerar a diferenca de 50% e o conjunto de
dados tiver 21 atributos significa que existem dez ramos iguais e dez ramos da arvore
de dependencias diferentes.
Tomando como exemplo o conjunto de dados do ’Chess’, a diferenca maxima encontrada
entre os atributos foi de 23%, o que significa que existem oito ramos da arvore de
dependencias diferentes. Deve-se no entanto ter em atencao que o universo de escolha
de possıveis arvores e de 35! = 103337.
A analise da figura 3.4 permite ainda verificar que na maior parte dos conjuntos de
dados a diferenca entre as arvores se mantem constantes ao longo das diversas etapas.
Este facto apenas nao se verifica para o conjunto de dados ’Audiology’ em que a
diferenca vai sempre aumentando. Enquanto que, para o restante conjunto de dados
a diferenca mantem-se constante a partir de uma determinada etapa. Mesmo no caso
do conjunto de dados ’Audiology’ a curva parece querer estabilizar a partir da quinta
etapa. De notar que o conjunto de dados ’Audiology’ dispoe de 69 atributos e apenas
226 exemplos. O que significa que por pasta existiam aproximadamente 23 exemplos.
Tendo em conta este facto, a diferenca entre as arvores e atenuada.
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 56
De notar que existem conjuntos de dados, nomeadamente o ’Chess’ e o ’Mushroom’
nos quais a diferenca entre as arvores e muito baixa. Este facto pode indicar que as
dependencias entre os atributos sao claras e que por essa razao ambos os algoritmos
encontram praticamente a mesma arvore de dependencias.
Em conjuntos de dados como o ’BackupLarge’ ou o ’Primary Tumor’ as diferencas
tomam valores mais altos, sugerindo que as dependencias entre os atributos podem
nao ser tao claras.
Analisando os graficos como um todo, estes indicam que as diferencas nao sao
substanciais. Assim, pode-se chegar a conclusao que no espaco de procura que existe,
ambos os algoritmos tem um comportamento semelhante.
3.2.2 Analise do desempenho do TANi
Nesta seccao pretende-se avaliar o desempenho do algoritmo proposto em termos da
taxa de acerto.
Para podermos ter alguma referencia, o algoritmo foi comparado com o desempenho do
naive Bayes (implementacao do WEKA), rede Bayesiana (implementacao do WEKA
com as opcoes que vem por defeito), arvore de classificacao ( implementacao do
algoritmo J48 do WEKA com as opcoes que vem por defeito), TAN e TAN-ACO
(implementacao do autor). Infelizmente o programa do Roure (implementacao do TAN-
ACO) nao permite correr um conjunto de dados de treino e de seguida testar o modelo
com um conjunto de teste. O programa apenas permite dar um conjunto de dados e
o proprio programa escolhe o conjunto de teste e o conjunto de treino, apresentando o
resultado final. Assim, os resultados apresentados na tabela 3.2 representam o resultado
obtido pelo programa do autor dando o total do conjunto de dados.
De notar que a metodologia para a avaliacao da taxa de acerto foi ja descrita. Os
conjuntos de dados seguidos com o sinal ′∗′, sao conjuntos de dados que contem
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 57
WEK
AW
EK
AW
EK
A
Conju
nto
de
dados
Atr
ibuto
sIn
stancia
sC
lass
es
naiv
eB
ayes
J48
Bayes
Net.
TA
N-A
CO
TA
NTA
Ni
Hepati
tis
*19
80
287.5
0+
/-
8.3
385.0
0+
/-
11.5
90.0
0+
/-
9.8
669.2
387.5
0+
/-
10.2
90.0
0+
/-
7.9
1
Hayes-
roth
data
4133
382.6
4+
/-
9.4
567.4
7+
/-
11.8
82.6
4+
/-
9.4
575.0
067.9
1+
/-
6.1
773.3
5+
/-
10.6
lym
phogra
phy
19
148
446.6
7+
/-
11.2
50.6
7+
/-
14.8
47.3
3+
/-
11.8
36.7
343.8
1+
/-
11.1
42.3
3+
/-
14.7
Iris
*4
150
395.3
3+
/-
7.0
694.6
7+
/-
5.2
695.3
3+
/-
7.0
696.0
094.0
0+
/-
4.9
294.6
7+
/-
5.2
6
Win
e*
13
178
398.8
9+
/-
2.3
493.3
0+
/-
5.1
097.7
1+
/-
4.0
579.6
696.6
3+
/-
4.7
097.1
9+
/-
3.9
6
Gla
ss*
9214
674.2
9+
/-
5.9
875.6
7+
/-
8.2
273.8
1+
/-
6.4
117.2
576.5
6+
/-
7.1
877.0
1+
/-
7.3
7
Audio
logy
69
226
24
70.4
3+
/-
6.4
776.5
2+
/-
6.4
075.7
1+
/-
6.2
080.0
064.7
8+
/-
13.7
66.5
2+
/-
12.9
Heart
*13
270
283.3
3+
/-
8.9
582.9
6+
/-
7.8
583.3
3+
/-
8.9
582.2
282.9
6+
/-
8.9
482.2
2+
/-
9.6
9
Cle
ve
*13
296
283.1
7+
/-
5.5
579.0
7+
/-
4.6
283.1
7+
/-
5.5
577.5
680.0
9+
/-
3.5
880.4
5+
/-
4.4
9
Sola
r12
323
662.2
1+
/-
5.7
570.2
7+
/-
7.6
872.1
0+
/-
11.2
59.8
172.1
4+
/-
5.8
472.4
5+
/-
5.9
0
Liv
er-
dis
ord
er
*6
345
263.3
9+
/-
6.0
759.6
0+
/-
10.1
63.6
7+
/-
6.3
055.3
162.9
7+
/-
6.7
062.6
9+
/-
6.2
0
Cars
*8
393
386.4
9+
/-
7.0
997.4
5+
/-
1.6
988.5
3+
/-
6.9
367.9
496.9
6+
/-
3.7
298.7
4+
/-
1.7
8
Soybean-larg
e35
562
15
91.6
4+
/-
4.1
091.4
7+
/-
3.7
292.0
0+
/-
4.2
882.3
591.6
5+
/-
4.2
490.7
6+
/-
4.4
0
Bre
ast
Loss
*32
569
297.5
1+
/-
2.0
895.7
6+
/-
2.3
297.5
1+
/-
2.0
899.1
196.6
3+
/-
2.6
096.7
8+
/-
2.6
7
Pim
a*
9768
278.1
2+
/-
2.9
277.3
4+
/-
3.2
378.1
2+
/-
2.9
280.4
778.1
2+
/-
3.3
478.1
2+
/-
3.4
5
Dia
bete
s*
8768
277.9
9+
/-
3.9
377.2
1+
/-
5.5
977.9
9+
/-
3.9
379.6
979.1
6+
/-
3.1
277.7
3+
/-
4.0
0
Tic
-tac-t
oo
9958
269.9
4+
/-
4.1
386.0
1+
/-
3.1
369.9
4+
/-
4.1
361.8
876.3
1+
/-
4.3
376.7
2+
/-
3.8
5
Tokyo
*44
959
291.9
7+
/-
2.2
593.3
2+
/-
2.1
092.1
8+
/-
1.9
893.1
092.4
9+
/-
2.9
092.3
9+
/-
2.9
1
Germ
an
*20
1000
274.7
0+
/-
3.7
773.0
0+
/-
2.8
774.6
0+
/-
3.8
475.1
472.6
0+
/-
4.0
173.3
0+
/-
3.2
0
Car
61727
485.4
2+
/-
1.6
791.8
4+
/-
2.1
085.4
7+
/-
1.8
162.1
594.2
7+
/-
2.2
392.2
4+
/-
2.7
3
Splice
60
3190
395.3
6+
/-
0.7
294.5
5+
/-
1.3
395.4
2+
/-
0.7
493.5
195.3
3+
/-
1.0
795.3
0+
/-
1.1
0
Chess
36
3198
288.0
5+
/-
1.7
599.4
7+
/-
0.4
488.0
8+
/-
1.7
384.7
792.3
4+
/-
0.6
093.0
0+
/-
1.0
4
Wavefo
rm*
41
5000
380.7
2+
/-
1.2
076.2
8+
/-
1.1
880.7
2+
/-
1.2
182.9
580.2
8+
/-
1.5
481.9
8+
/-
1.3
6
Churn
*20
5000
287.9
2+
/-
1.1
393.5
4+
/-
0.6
087.9
4+
/-
1.0
876.4
390.9
8+
/-
1.6
587.5
4+
/-
1.2
9
Sate
lite
Image
*36
6435
282.4
4+
/-
1.3
285.3
3+
/-
1.2
282.5
2+
/-
1.4
380.7
487.8
3+
/-
1.1
087.8
8+
/-
1.6
8
Mush
room
22
8124
764.4
4+
/-
1.2
162.2
3+
/-
1.8
164.7
6+
/-
1.2
130.6
965.6
6+
/-
1.6
866.1
5+
/-
1.4
5
Nurs
ey
812961
590.2
4+
/-
0.6
897.1
9+
/-
0.2
790.2
5+
/-
0.6
662.6
493.4
6+
/-
0.6
992.4
5+
/-
0.8
8
Adult
*14
45222
283.7
2+
/-
0.4
586.2
9+
/-
0.3
883.7
6+
/-
0.4
585.2
385.8
5+
/-
0.5
385.6
8+
/-
0.4
8
Shutt
le*
958000
799.4
5+
/-
0.1
599.9
1+
/-
0.0
499.4
6+
/-
0.1
499.9
199.9
4+
/-
0.0
499.9
3+
/-
0.0
4
Sle
ep
13
105908
568.2
2+
/-
0.3
072.3
5+
/-
0.5
668.2
2+
/-
0.3
067.6
873.1
7+
/-
0.3
773.2
5+
/-
0.3
2
Media
da
taxa
de
acert
o81.4
182.8
682.0
873.1
782.4
182.6
3
Rankin
g5
14
63
2
Media
do
rankin
g3.4
33.5
32.8
74.4
3.1
2.9
7
Tab
ela
3.2:
Tax
ade
acer
tos
dos
algo
ritm
osna
ive
Bay
es,re
deB
ayes
iana
,ar
vore
decl
assi
ficac
ao,TA
Nie
TA
N-A
CO
para
trin
taco
njun
tos
deda
dos
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 58
Repetir 10 vezes:
Figura 3.5: Esquema da segunda fase das validacao cruzada para os algoritmos
incrementais .
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 59
atributos contınuos. Como nesta capıtulo apenas se pretende testar o TANi, os
atributos contınuos destes conjuntos de dados foram discretizados com a aplicacao
categorize do MLC++ [KSD96].
Com excepcao do TAN-ACO, todos os algoritmos correram as mesmas pastas
mutualmente estratificadas e em particular os conjuntos de teste foram os mesmos
para todos os passos da validacao cruzada.
Para o TANi, que reavalia o modelo, em cada passo da validacao cruzada a metodologia
utilizada foi a seguinte (figura 3.5 ):
1. Os conjunto de treino foi divididos em dez pastas mutualmente exclusivas de
tamanho aproximado (estratificadas);
2. Com a primeira pasta dos dados (escolhida aleatoriamente), foi construıdo o TAN
com o algoritmo de Friedman;
3. As outras nove foram incrementadas, por ordem aleatoria, ao primeiro modelo
em nove passos;
Atraves da analise da tabela 3.2 verifica-se o naive Bayes consegue um melhor
desempenho quando os conjuntos de dados que contem menor numero de exemplos.
Este facto foi reportado por Friedman [FG96]. Nomeadamente, o naive Bayes tem o
melhor desempenho em quatro conjuntos de dados, todos eles fazem parte dos dez com
menos instancias.
A arvore de classificacao do WEKA e o que melhor desempenho apresenta, podendo-se
observar este facto na media da taxa de erro nos conjuntos de dados. Este algoritmo
foi melhor em sete dos trinta conjuntos de dados.
O algoritmo que apresenta melhor media de ranking e a rede Bayesiana.
Surpreendente e o facto de o TANi, apesar de ser incremental, melhorar os resultados
do TAN em dezoito conjuntos de dados, sendo o melhor em sete destes. Alem disso, e
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 60
Conjunto de dados Instancias de treino Instancias de teste
Tic-tac-toe 480 468
Car 1150 577
Splice 2126 1064
Chess 2132 1066
Mushroom 5416 2708
Nursery 8640 4321
Tabela 3.3: Descricao da separacao do conjunto de dados em teste e treino para os
testes da figura 3.6
possıvel concluir que o TANi, em termos de desempenho, nao se afasta muito do TAN,
sendo este o objectivo principal. Gostaria no entanto de se realcar que para todos os
testes de validacao cruzada foi efectuado o teste de wilcox para verificar a diferenca
entre as medias da taxa de acerto, o teste Wilcoxon signed-ranks test / two-tailed test
nao encontrou diferencas significativas para nenhum conjunto de dados. Este teste vem
apenas comprovar que nao existem diferencas significativas entre o TAN e a sua versao
nao incremental (TANi), nao sendo por essa razao significativo o facto de o TANi ter
obtido melhor taxa de desempenho. Mas o que realmente e um bom indicador e o facto
de o teste de Wilcoxon nao ter encontrado diferencas significativas.
3.2.3 Comparando a evolucao do TANi, TAN
Nesta seccao pretende-se avaliar a evolucao do desempenho dos algoritmos a medida
estes tem acesso a mais instancias dos dados. Os algoritmos testados foram o TAN e
o TANi.
Os conjuntos de dados seleccionados (Tic-tac-toe, Car, Slice, Chess, Mushroom,
Nursery ) encontram-se descritos na Tabela 3.2. Apos a seleccao do conjunto de dados,
estes foram separados em dois conjuntos, treino e teste ( Tabela 3.3).
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 61
Figura 3.6: Percentagem de acertos ao longo do treino do TAN e TANi com varios
conjuntos de dados.
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 62
exemplos por pasta
Num pastas Chess Splice
1 2131 2127
10 ' 213 ' 212
100 ' 21 ' 21
500 ' 4 ' 4
1000 ' 2 ' 2
Tabela 3.4: Descricao dos conjuntos de dados para o teste da sensibilidade incremental
Para o teste, as instancias de treino foram separadas em dez pastas de tamanho
aproximado e mutuamente exclusivas. Ao algoritmo incremental foram adicionadas
as pastas. O algoritmo nao incremental era reiniciado cada vez que se acrescentava
uma pasta ao conjunto de pastas ja observada pelo algoritmo.
Os resultados (figura 3.6) indicam que ambos os algoritmos tem curvas de aprendizagem
bastante semelhantes. Estes tendem a subir a sua taxa de acerto a medida que tem
acesso a mais exemplos.
De salientar que a medida que os algoritmos tem acesso a mais exemplos estes tendem
a descrever curvas semelhantes, mesmo em conjuntos de dados em que o algoritmo de
nao incremental baixa a taxa de acerto o mesmo ocorre no algoritmo incremental. O
que indica confirmar a hipotese de a arvore de dependencias encontrada ser semelhante.
3.2.4 Analise da sensibilidade do algoritmo ao numero de
instancias apresentadas por pasta
Esta seccao, tem por objectivo estudar o desempenho do algoritmo quando este analisa
poucos exemplos de cada vez. Deste modo estuda-se a viabilidade de implementar o
TANi como algoritmo on-line.
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 63
Conjunto de Dados Treino Teste
Splice 2131 1065
Chess 2127 1063
Tabela 3.5: Descricao da separacao do conjunto de dados em teste e treino para os
testes da figura 3.7
Para os testes escolheram-se dois conjuntos de dados, o ’Splice’ e o ’Chess’.
Na figura 3.7 pode-se observar a evolucao da taxa de acerto do TANi a medida que
este recebia mais instancias de treino. Na figura 3.7 pode-se observar a evolucao da
taxa de acerto para o TANi quando este recebia k instancias.
Na tabela 3.4 pode-se observar a relacao entre numero de instancias por pasta.
Gostaria-se de salientar que em cada uma das figuras 3.7 encontra-se ainda o resultado
obtido para o TAN e para o naive Bayes (WEKA) em modo nao incremental, estes
algoritmos foram adicionados apenas para servirem como referencia da taxa de acerto.
Os resultados do teste de sensibilidade incremental para os dois conjuntos de dados
escolhidos tem diferentes comportamentos. No caso do conjunto de dados ’Splice’:
• este indica que nao tem impacto no desempenho o facto de as pastas conterem
poucos exemplos;
• todos convergem para a mesma taxa de erro;
• o algoritmo nao incremental fica com uma taxa de erro superior aos modelos
incrementais, mesmo quando este tem mil pastas.
No caso do conjunto da dados ’chess’:
• o desempenho do algoritmo vai-se degradando a medida que o numero de
exemplos por pasta diminui;
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 64
Figura 3.7: Evolucao da taxa de acerto do TANi quando treinado com diversos
tamanhos de pastas para os conjuntos de dados ’Chess’ e ’Splice’
CAPITULO 3. ESTUDO DE UM CLASSIFICADOR TAN INCREMENTAL 65
• os diversos tamanhos de pastas obtem taxas de acerto diferentes;
• A curva de aprendizagem acaba com uma taxa de acerto maior quando o numero
de instancias por pasta e maior.
Denota-se que para o conjunto de dados ’Splice’ o modelo final nao apresentou
diferencas significativas com diferentes tamanhos de pastas, o que nao acontece no
conjunto de dados ’chess’, onde os resultados finais revelaram que existe uma diferenca.
No conjunto de dados ’chess’, o desempenho, apesar de se degradar por existirem
poucos exemplos por pasta, nos casos em que o numero de exemplos por pasta eram
superiores a 20, o desempenho foi superior ao algoritmo nao incremental. Este facto
pode indicar alguma vantagem para o algoritmo incremental.
De notar no entanto na experiencia efectuada com mil pastas o modelo inicializou-
se com dois exemplos. Estas sao condicoes extremamente difıceis para uma rede
Bayesiana. No entanto em qualquer um dos casos o algoritmo melhora o seu
desempenho.
Capıtulo 4
Abordagem incremental a
discretizacao
A discretizacao fornece uma alternativa a estimativa da densidade da probabilidade. No
calculo desta estimativa e assumida um tipo de densidade, que se sabe a partida que nao
e a real mas sim aproximada [DKS95], o que pode tender a degradar o desempenho dos
algoritmos. No entanto, alguns autores [DKS95, YW03] sugerem que a discretizacao
em classificadores, tal como o naive Bayes, obtem taxas de erro inferiores a estimativa
da funcao de probabilidades.
Por outro lado Catlett efectuou um estudo que lhe permitiu concluir que, para grandes
conjuntos de dados, a discretizacao reduz significativamente o tempo de aprendizagem
do modelo [Cat91].
Neste capıtulo e apresentada uma nova abordagem ao metodo de discretizacao.
Esta nova abordagem sugere uma metodologia que aborda a discretizacao de modo
incremental, desta forma esta e reformulada a medida que mais conjuntos de exemplos
sao disponibilizados. Este novo tipo de abordagem a discretizacao salienta duas das
questoes centrais para a area de aprendizagem automatica: a aprendizagem incre-
mental e a discretizacao como metodo de pre-processamento para alguns algoritmos
66
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 67
incrementais.
O primeiro ponto foi focado nos capıtulos anteriores, nomeadamente no capıtulo 2 onde
foram revistas as caracterısticas do TAN. No capıtulo anterior (capıtulo 3) desenvolveu-
se uma versao incremental do TAN que se demonstrou obter resultados identicos ao
TAN mas de modo incremental.
O segundo ponto nao e muito focado na literatura analisada.
Assim, neste capıtulo aponta-se a motivacao para o desenvolvimento de uma dis-
cretizacao incremental. De seguida introduz-se uma nova abordagem a discretizacao, o
Pre-processamento incremental de Discretizacao (PiD), que consiste numa metodologia
que pode ser utilizada quer como discretizacao supervisionada, quer como discretizacao
nao supervisionada. O capıtulo prossegue com a avaliacao experimental do metodo,
terminando com algumas consideracoes aos resultados e ao metodo proposto.
4.1 Motivacao
Os humanos procedem a uma discretizacao que e facilmente comprovavel pois, quando
uma pessoa descreve uma outra, tende a discretizar certos atributos da pessoa,
nomeadamente a altura, a idade e o peso. Se se disser, por exemplo, que o Joao e
alto, novo e magro esta-se a proceder a discretizacao dos tres atributos mencionados.
No entanto, e possıvel chegar mais longe e afirmar que esta discretizacao se altera ao
longo do tempo de vida da pessoa. Assim e possıvel afirmar que os humanos dispoem
de uma discretizacao incremental. Se se pedir a um rapaz de quinze anos, por exemplo,
para definir o que e para ele um jovem, o rapaz certamente respondera que considera
um jovem uma pessoa com menos de vinte e cinco e um velho uma pessoa com mais de
cinquenta. No entanto, verifica-se que a sua percepcao de jovem ou velho se alterara
com a sua experiencia e idade. Caso se pergunte a mesma pessoa dez anos mais
tarde o seu conceito da idade ter-se-a provavelmente alterado, uma vez que o seu
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 68
Figura 4.1: Processo de discretizacao em modo nao incremental
limite de juventude e velhice se alteraram. Quer-se com este exemplo ilustrar que a
sua discretizacao da idade se altera ao longo da vida, na medida em que as pessoas
ajustam a discretizacao as suas vivencias e experiencia de vida. Outros atributos
tambem sofrem alteracao pois, se perguntar-mos a um jovem se uma botija de gas
e pesada, este respondera provavelmente ”muito”. No entanto, se este na sua fase
adulta se tornar num culturista e lhe for colocada a mesma questao ele respondera
provavelmente ”nem por isso”.
Desta forma, uma das motivacoes e novamente a observacao dos humanos e a
incorporacao das suas capacidades em algoritmos da aprendizagem automatica.
A literatura conhecida refere-se aos algoritmos incrementais como uma evolucao natural
na area da aprendizagem automatica. No entanto, na maioria dos trabalhos quando
se procede a avaliacao de um algoritmo incremental, que nao trabalhe com atributos
contınuos, os autores optam por discretizar previamente o conjunto de dados [Rou04].
Tal como e possıvel visualizar na figura 4.1, o processo de discretizacao utilizado na
literatura com algoritmos incrementais, divide-se em quatro fases:
1. Discretizacao do conjunto de dados com o metodo escolhido;
2. Obtencao dos dados discretizados;
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 69
Figura 4.2: Processo de discretizacao em modo incremental
3. Separacao do conjunto de dados em k pastas para o algoritmo incremental;
4. Teste ao algoritmo incremental em k passos.
Deve-se salientar que com o teste dos algoritmos se pretende analisar o seu desempenho,
para seja possıvel deduzi-lo no futuro e numa situacao real. No entanto, numa situacao
real o algoritmo nao tera acesso previo a todos os dados, o que indica que os resultados
obtidos podem ser enviesados. Assim, se a discretizacao for efectuada a medida que
o algoritmo tenha acesso aos dados, a discretizacao resultante seria diferente logo, os
seus resultados tambem seriam diferentes. Contudo, os respectivos autores apenas
pretendem testar o algoritmo, ignorando este aspecto.
Actualmente a discretizacao e encarada como um pre-processamento mas a verdade
e que esta tem um papel fundamental para o bom desempenho do algoritmo. Da
sua escolha depende a obtencao dos resultados, quer seja incremental ou nao. Assim
pretende-se obter um algoritmo que proporcione uma discretizacao incremental, ou
seja, que caso seja necessario acompanhe a alteracao dos dados. Na figura 4.2 e possıvel
observar o esquema do processamento da discretizacao de modo incremental.
Como referido no capıtulo dois, existem diversas motivacoes para o uso de algoritmos
incrementais, sendo uma delas a existencia de ambientes dinamicos. Nestes ambientes
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 70
Preco 1990 1997 2004
500 e barato barato barato
1000 e barato normal normal
1500 e barato normal caro
2000 e normal caro caro
2500 e caro caro caro
Tabela 4.1: Discretizacao do preco de um computador ao longo do tempo
sobressaem as vantagens da utilizacao de uma discretizacao incremental, pois esta
pode evidenciar as alteracoes do ambiente, facilitando assim a interpretacao por parte
do algoritmo para a reformulacao do modelo.
Actualmente a discretizacao incremental em ambientes dinamicos possui uma elevada
importancia. Imagine-se, por exemplo, as aplicacoes que presentemente existem para
a extraccao de conhecimento a partir de grandes bases de dados. Estas bases de dados
podem conter as preferencias dos consumidores de supermercados possuindo assim
milhoes de registos. A tıtulo exemplificativo pode-se mencionar empresas tais como a
Sonae ou a Jeronimo Martins que detem bases de dados deste tipo. No entanto, os
precos dos produtos sao um atributo contınuo, devendo-se proceder a discretizacao do
mesmo.
Se se assumir que as ferramentas para a extraccao do conhecimento procedem a uma
discretizacao do atributo, quando esta e actualizada, e necessario proceder a um novo
processamento dos dados. Esta situacao implica um novo gasto de recursos e tempo.
Com a utilizacao de um metodo de discretizacao incremental, este novo gasto de
recursos e tempo nao existe.
Com a discretizacao incremental espera-se ainda obter uma melhor interpretacao
dos dados para o algoritmo pois, como ja mencionado um dos argumentos para a
utilizacao da discretizacao e a simplificacao dos dados e a obtencao de melhores modelos
de classificacao. Com uma discretizacao incremental e possıvel obter uma correcta
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 71
interpretacao dos dados que variam ao longo do tempo, o que pode implicar que os
valores do atributo, em alturas diferentes, possam pertencer a diferentes intervalos.
Se se tomar por exemplo uma aplicacao que pretenda extrair o habito de compra
de computadores por extractos da populacao e supondo a discretizacao do preco
dos computadores da tabela 4.1, apesar de para o mesmo valor obtermos diferentes
discretizacoes, a analise assentaria em bases correctas. Caso se aplicasse a mesma
discretizacao ao longo do tempo estar-se-ia a induzir o algoritmo a resultados errados.
No entanto, no caso de se ter implementado uma discretizacao incremental em 1990,
esta poderia ter obtido os resultados descritos na tabela.
Logo, uma das grandes vantagens da discretizacao como metodo incremental e o
facto de esta reflectir a mudanca no ambiente, enquanto que uma discretizacao nao
incremental pode induzir a resultados errados. Deve-se no entanto realcar que no caso
de nao ocorrerem mudancas no ambiente, a discretizacao incremental continua a obter
resultados correctos. A discretizacao incremental adapta-se assim as duas situacoes,
enquanto que a discretizacao nao incremental se restringe a primeira.
4.2 Pre-processamento incremental de Dis-
cretizacao (PiD)
A discretizacao e um pre-processamento utilizada como preparacao dos dados, existindo
vantagens numa abordagem simples, rapida e ’leve’ computacionalmente. Estas
vantagens acentuam-se se se considerar uma discretizacao incremental, pois o metodo
de discretizacao e chamado sempre que o algoritmo tiver acesso a mais dados, enquanto
que uma discretizacao nao incremental apenas e efectuada uma vez.
O PiD e composto por duas camadas, em que cada uma delas tem uma funcao diferente.
O metodo pode ser aplicado de modo supervisado e nao supervisado. O ultilizador deve
definir o modo como deseja correr o metodo antes de inicializar a primeira camada.
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 72
Figura 4.3: Processo de discretizacao nao supervisionado
Cada uma das camadas e composta por:
1. A primeira camada contem uma discretizacao dos dados muito fina. Esta camada
e composta pelos limites dos intervalos achados para a discretizacao. Caso se
aplique o metodo como nao supervisado esta camada guarda a frequencia de
valores por intervalo, caso se tenha aplicado como supervisado entao a camada
guarda a frequencia de valores por classe.
2. A segunda camada tambem contem uma discretizacao, esta e calculada com
base nas estatisticas guardadas na primeira camada. Esta discretizacao e a
discretizacao final que fornece ao algoritmo o exemplos do conjunto de dados
discretizados.
Inicializacao de cada uma das camadas
1. A primeira camada tem duas possibilidades de ser inicializada, esta pode ser
inicializada sem nunca ter visto os dados ou esta pode ser inicializada com o
primeiro conjunto de dados. No primeiro caso, deve ser dados deve ser dado
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 73
o limite de cada um dos atributos e o numero de intervalos desejado, e entao
aplicado o EWB (descrito no capıtulo 2) a cada um dos atributos. Deste modo
efectua-se a discretizacao desta camada.
No segundo caso, deve ser dado qual o metodo de discretizacao a utilizar e o
primeiro conjunto de dados. No caso de o metodo ser nao parametrico (chi-
merge, ENT-MDL, ...), deve-se parametrizar o metodo de modo a criar mais
intervalos que os necessarios numa discretizacao final.
Deve-se ter em atencao que esta camada deve criar mais intervalos que a
discretizacao final. Segue o conselho de se criar no mınimo 100 intervalos.
2. A segunda camada e inicializada a primeira vez que se corre o metodo. Deve ser
dado pelo utilizador qual o metodo a utilizar para a discretizacao dos dados. Caso
este seja parametrico o utilizador deve ainda fornecer o numero de intervalos a
criar, caso o metodo seja nao parametrico o utilizador deve fornecer o numero
mınimo de intervalos a criar. O metodo e inicializado a primeira vez que recebe
os dados da primeira camada.
Actualizacao de cada uma das camadas
1. Quando a primeira camada tem acesso a novos dados esta actualiza a frequencia
dos intervalos, ou seja, caso o metodo tenha sido aplicado de modo nao
supervisionado apenas necessita de actualizar os valores do atributo por intervalo.
Caso o metodo tenha sido aplicado de modo supervisionado actualiza os valores
dos intervalos por classe.
2. A segunda camada e processada depois da primeira camada. Como a primeira
camada actualizou a frequencia de valores foi gerada uma nova distribuicao de
valores, podendo deste modo originar uma alteracao dos limites dos intervalos
nesta segunda camada. Para actualizar os limites dos intervalos pode-se proceder
de dois modos:
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 74
(a) Reinicializa a segunda camada, correndo novamente o metodo de dis-
cretizacao, com a condicao de originar o mesmo numero de intervalos.
(b) Aplicar uma heurıstica para a reformulacao dos limites dos intervalos com
base na nova distribuicao de valores.
Simplificando, o metodo divide-se em duas camadas, cada uma das camadas contem
uma discretizacao. A primeira camada tem como funcao simplificar os dados e guardar
as estatısticas da distribuicao de frequencia de valores. A segunda camada tem como
funcao aplicar a discretizacao aos dados.
O numero de intervalos para cada uma das camadas e definido na sua inicializacao.
Como e descrito, caso se opte por um metodo de discretizacao nao supervisionado
na segunda camada, entao a primeira guarda a frequencia do atributo por intervalo.
No caso de o metodo de discretizacao da segunda camada ser supervisado, a primeira
guarda a frequencia de valores do atributo por classe em cada intervalo. No entanto,
existem metodos de discretizacao que necessitam de mais do que a frequencias dos
valores. Neste estudo vamo-nos restringir a metodos nao supervisados e metodos
supervisados univariados (que apenas necessitam da frequencia do atributo por classe).
De notar que o metodo reavalia os intervalos gerados para a discretizacao. Para efectuar
esta reavaliacao o metodo precisa de guardar a frequencia de valores por intervalo (no
caso nao supervisado) ou a frequencia de valores em cada intervalo por classe (no caso
supervisado). No primeiro caso, as estatısticas a guardar sao irrelevantes, no segundo
caso as estatısticas a guardar crescem linearmente, por essa razao cumpre as definicoes
de Langley.
O metodo de discretizacao encontra-se representado na figura 4.3 onde e possıvel
observar uma discretizacao nao supervisionada efectuada em dois passos: uma primeira
discretizacao muito ’fina’, com bastantes intervalos, e uma segunda discretizacao com
os intervalos necessarios para o algoritmo.
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 75
O passo intermedio da figura 4.3 (primeira camada) serve como plataforma para que
seja possıvel ao metodo reformular a discretizacao quando surgem novos dados o
metodo actualiza a frequencia de valores da primeira camada, gerando deste modo
uma nova distribuicao de frequencias. Tendo como base esta nova distribuicao de
frequencias o PiD actualiza os limites dos intervalos da segunda camada, reformulando
a discretizacao gerada anteriormente ou gerando uma nova discretizacao. O novo
conjunto de dados e entao discretizado e disponibilizado ao algoritmo pela nova
discretizacao gerada para a segunda camada.
De salientar que o PiD converge para qualquer metodo de discretizacao nao incremental.
A verificacao desta convergencia pode ser realizada utilizando o Equal-with Binning
na primeira camada e o metodo desejado na segunda e corre-se o algoritmo nao
incremental. Para obter o mesmo resultado com o PiD basta ir aumentando o numero
de intervalos da primeira camada, o que provoca uma diminuicao do numero de valores
diferentes por intervalo. No pior cenario a convergencia da-se quando houver um
numero de intervalos tal que permita que cada intervalo da primeira camada contenha
o maximo de um valor diferente do atributo. Deste modo, e equivalente efectuar a
discretizacao nao incremental sobre os dados ou correr essa mesma discretizacao na
segunda camada. No entanto, o mais natural e que a convergencia se de antes. Isto
implica que o PiD pode convergir para a discretizacao nao incremental a medida que
a frequencia de valores por intervalo da primeira camada diminui.
O grande ganho do PiD reside no facto de encontrar o numero de intervalos para a
primeira camada que permite simplificar os dados, sem prejudicar a discretizacao da
segunda camada.
Pode-se ainda concluir que o PiD simplifica os dados com a primeira camada,
encontrando em seguida a discretizacao que melhor se adapta a estatıstica dos dados.
Uma discretizacao como o ENT-MDL ou o Chi-Merge apresentam algum peso de
processamento se estivermos a falar de milhoes de registos. Com o PiD a discretizacao
dos dados pode ser acelerada em relacao a qualquer um destes metodos, pois a primeira
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 76
camada simplifica os dados com um metodo simples tal como o Equal-with Binning e
o Equal-frequency Binning, acelerando deste modo a discretizacao da segunda camada
(ENT-MDL ou o Chi-Merge).
Por conseguinte o PiD possui quatro principais vantagens:
simples, este nao necessita de grandes requisitos de memoria pois, mesmo quando
aplicado a grandes bases de dados os seus requisitos de memoria sao bastante
modestos.
leve, este nao requer grandes custos a nıvel computacional, dependendo no entanto
dos metodos escolhidos para cada uma das camadas.
incremental, esta e a principal novidade no metodo de discretizacao. O metodo
divide-se em dois passos precisamente para alcancar este requisito.
adaptavel, o metodo adapta-se a qualquer algoritmo, pois este serve apenas como
pre-processamento dos dados.
Com um exemplo ilustra-se os resultados obtidos utilizando o PiD com uma dis-
cretizacao nao supervisada a e com uma discretizacao supervisada. Escolheu-se o
conjunto de dados Iris por este ser bastante utilizado na literatura como exemplo para
a discretizacao.
Escolheu-se o conjunto de dados Iris, que contem aproximadamente 150 instancias, por
este ser bastante utilizado na literatura como exemplo para a discretizacao. Aplicou-
se o PiD de modo incremental com 5 pastas de 30 instancias cada. Para a primeira
camada aplicou-se o EFW com treze pontos de corte, quer no metodo supervisado,
quer no metodo nao supervisado. De seguida, para o metodo nao supervisado, aplicou-
se novamente o EFW na segunda camada apenas com um ponto de corte, o que
tornou bastante leve a aplicacao do PiD. Para o metodo supervisado aplicou-se o ENT-
MDL, descrito no capıtulo 2, na segunda camada. As discretizacoes encontradas estao
descritas na Tabela 4.2.
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 77
Primeira camada com equal frequency discretization
Atributo Pontos de corte Num. de intervalos
At1 4.95; 5.15; 5.35; 5.45; 5.55; 5.65; 5.75; 5.86; 5.95; 6.25; 6.40; 6.80 13
At2 2.35; 2.45; 2.60; 2.75; 2.95; 3.05; 3.15; 3.25; 3.35; 3.45; 3.60; 3.75 13
At3 1.35; 1.45; 1.55; 2.60; 3.80; 4.10; 4.30; 4.55; 4.80; 5.05; 5.45; 5.65 13
At4 0.25; 0.70; 1.05; 1.15; 1.20; 1.25; 1.35; 1.45; 1.60; 1.75; 1.95; 2.15 13
Segunda camada com equal frequency discretization (Discretizacao nao supervisada)
Atributo Pontos de corte apos ... Num. de int.
30 instanc. 60 instanc. 90 instanc. 120 instanc. 150 instanc.
At1 5.55 5.65 5.65 5.75 5.75 2
At2 2.95 2.95 2.95 2.95 2.95 2
At3 4.30 4.10 4.10 4.10 4.30 2
At4 1.25 1.25 1.25 1.25 1.25 2
Segunda camada com recursive entropy discretization (Discretizacao supervisada)
Atributo Pontos de corte apos ... Num. de int.
30 instanc. 60 instanc. 90 instanc. 120 instanc. 150 instanc.
At1 5.45 5.55 5.85 5.45 5.55 2
At2 2.75 3.25 3.25 3.25 3.05 2
At3 2.60; 5.05 2.60; 5.05 2.60; 5.05 2.60; 4.80 2.60; 4.80 3
At4 0.75; 1.65 0.75; 1.65 0.75; 1.65 0.75; 1.75 0.75; 1.75 3
Tabela 4.2: Descricao da discretizacao alcancada com o PiD (supervisado e nao
supervisado) para o conjunto de dados Iris
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 78
Na Tabela 4.2 podemos observar que os limites dos intervalos sao flexıveis, podendo
alterar-se a medida que surgem novos exemplos. Observa-se igualmente que o metodo
mantem o numero de intervalos definido na primeira vez que se observa os dados.
4.3 Resultados experimentais
Segundo Kohavi, os metodos mais comummente utilizados para avaliacao de um
algoritmo e a validacao cruzada e o bootstrap [DKS95]. Ainda segundo Kohavi a
validacao cruzada e importante nao so para prever o futuro desempenho do algoritmo
mas tambem para a escolha do algoritmo [DKS95], existindo varios estudos em que
se utiliza esta validacao para prever o futuro desempenho de algoritmos incrementais.
Por essa razao, neste capıtulo ira ser focada a avaliacao do algoritmo em termos da
taxa de erro. Kohavi aconselha ainda a utilizacao da validacao cruzada com dez pastas
para a avaliacao do algoritmo.
Como anteriormente mencionado (capıtulo tres), o TANi apresenta um desempenho
muito proximo do TAN, que sendo um algoritmo incremental e deste modo um bom
algoritmo para o teste ao PiD.
Para os testes do TAN e TANi com o PiD seguiu-se a seguinte metodologia:
Primeira fase da discretizacao Para a discretizacao inicial aplicaram-se os
metodos mais simples: o Equal-with Binning e o Equal-frequency Binning. Para
que o metodo fosse nao necessitasse da intervencao do utilizador, na escolha do
numero de intervalos, recorreu-se a seguinte formula: t = N4√
N. Esta e uma
formula totalmente empırica, mas que demonstrou obter bons resultados.
Segunda fase da discretizacao Na segunda fase da discretizacao testaram-se dois
tipos de discretizacao, uma nao supervisionada e uma supervisionada. Para os
testes da discretizacao nao supervisionada, foi seleccionado o metodo Equal-
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 79
frequency Binning. Dada a simplicidade do metodo, esta segunda parte da
discretizacao e facilmente obtida a partir da primeira fase da discretizacao. Assim
o metodo, e reiniciado sempre que chegam novos dados. Para que o metodo nao
necessitasse da intervencao do utilizador, para definir o numero de intervalos
criados, usa-se a seguinte formula: t = 4√
N , onde N e o numero de exemplos
observados e t o numero de intervalos.
O metodo supervisionado escolhido foi o ENT-MDL [FI93], onde o criterio de
paragem e o minimum description length (este metodo encontra-se descrito no
capıtulo 2). Para a actualizacao da segunda camada usa-se a heurıstica de manter
a arvore de discretizacao achada inicialmente (Capıtulo 2).
A tabela 4.3 apresenta a descricao dos dados. As tabelas 4.4 e 4.5 apresentam os
resultados dos testes a varios conjuntos de dados, todos os dados contem atributos
contınuos.
As tabelas descrevem a taxa de erro para conjuntos de dados do repositorio de dados
da Universidade da California, Irvine [BM98]. Nas diversas tabelas sao apresentadas
as taxas de acerto para os algoritmos:
NB , o naive Bayes do WEKA
NB Cont. , o naive Bayes que lida com atributos contınuos.
Bayes Net. , uma versao de rede Bayesiana do WEKA.
J48 , uma versao de arvore de classificacao do WEKA.
TAN , o TAN de Friedman
TANi , o algoritmo incremental apresentado no capıtulo 2.
Em todos os conjuntos de dados foi usada a validacao cruzada com dez pastas. A
tabela mostra a taxa de erro e o desvio padrao apresentados para cada um dos testes.
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 80
num
ero
de
exem
plo
spor
past
a
Nom
edos
dados
Inst
ancia
sA
trib
uto
sA
trib
uto
sconti
nuos
Cla
sses
10Past
as(
10%
)20Past
as(
5%
)50Past
as(
2%
)100Past
as(
1%
)
Hepati
tis
80
19
62
8
Iris
150
44
315
Win
e178
13
13
317
CR
X194
33
33
219
Gla
ss214
99
621
Heart
270
13
62
27
Cle
ve
296
13
42
29
Liv
er-
dis
ord
er
345
66
229
Ionosp
here
351
35
34
234
Cars
393
87
339
Bre
ast
Loss
569
32
31
256
Aust
ralian
690
14
82
69
34
13
6
Pim
a768
98
276
38
15
7
Dia
bete
s768
88
276
38
15
7
Tokyo
959
44
44
295
47
19
9
Germ
an
1000
20
13
2100
50
20
10
Segm
enta
tion
2310
20
19
7231
115
46
23
Wavefo
rm5000
41
40
3500
250
100
50
Churn
5000
20
16
2500
250
100
50
Sate
lite
Image
6435
36
36
2643
321
128
64
Adult
45222
14
62
4522
2261
904
452
Shutt
le58000
99
75800
2900
1160
580
Tab
ela
4.3:
Des
cric
aodos
dad
osusa
dos
no
test
e
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 81D
iscre
tizacao
nenhum
asu
perv
isada
superv
isada
superv
isada
nao
superv
isada
superv
isada
superv
isada
nao
superv
isada
superv
isada
superv
isada
nao
incre
m.
nao
incre
m.
nao
incre
m.
nao
incre
m.
nao
incre
m.
nao
incre
m.
nao
incre
m.
incre
menta
lin
cre
menta
lin
cre
menta
l
NB
(Cont.
)N
BB
ayes
Net
J48
TA
N(E
FW
)TA
N(E
NT
)TA
Ni(
EN
T)
TA
N(P
iD-E
FW
)TA
N(P
iD-E
NT
)TA
Ni(
PiD
-EN
T)
Conj.
dados
past
as
de
10%
past
as
de
10%
past
as
de
10%
Iris
95.3
3+
/-5
.49
95.3
3+
/-5
.49
93.3
3+
/-5
.44
94.6
7+
/-6
.89
92.6
7+
/-6
.63
92.0
0+
/-6
.13
93.3
3+
/-4
.44
78.0
0+
/-7
.73
83.3
3+
/-1
1.0
84.0
0+
/-1
1.0
Win
e97.2
2+
/-5
.40
97.2
2+
/-5
.40
97.7
8+
/-3
.88
93.8
9+
/-7
.61
91.0
5+
/-8
.39
92.7
5+
/-7
.87
94.4
1+
/-7
.41
89.3
5+
/-7
.25
90.9
8+
/-6
.03
92.6
8+
/-5
.32
CR
X77.3
5+
/-4
.87
77.0
4+
/-4
.48
86.0
7+
/-3
.67
85.1
5+
/-2
.45
83.6
2+
/-4
.37
82.6
9+
/-2
.99
83.0
0+
/-2
.63
83.1
7+
/-3
.83
82.0
8+
/-4
.41
82.0
9+
/-3
.93
Gla
ss48.5
7+
/-5
.12
68.1
8+
/-7
.46
69.1
1+
/-7
.93
65.8
7+
/-1
0.8
464.4
4+
/-9
.44
64.3
7+
/-9
.31
64.3
7+
/-9
.58
64.3
9+
/-7
.82
55.5
8+
/-8
.69
52.8
4+
/-1
0.5
Heart
84.0
7+
/-8
.56
84.0
7+
/-8
.38
83.7
0+
/-7
.45
74.4
4+
/-7
.08
82.2
2+
/-6
.49
78.8
9+
/-6
.54
77.0
4+
/-7
.77
79.2
6+
/-7
.45
80.0
0+
/-9
.27
79.6
3+
/-9
.11
Cle
ve
82.8
2+
/-3
.85
83.1
5+
/-3
.72
82.4
7+
/-4
.58
78.0
7+
/-6
.72
78.4
1+
/-6
.03
78.3
8+
/-4
.83
78.0
6+
/-4
.19
82.0
9+
/-4
.26
80.4
4+
/-5
.33
80.0
7+
/-5
.60
Liv
er-
dis
ord
er
54.7
6+
/-6
.05
55.6
4+
/-5
.34
57.9
7+
/-5
.00
67.2
4+
/-7
.30
66.1
0+
/-4
.63
67.1
9+
/-8
.75
70.0
9+
/-8
.34
67.8
1+
/-8
.23
67.2
3+
/-4
.82
66.0
6+
/-5
.90
Ionosp
here
80.6
5+
/-4
.85
90.0
3+
/-2
.76
90.0
3+
/-2
.76
91.1
7+
/-3
.89
90.6
0+
/-3
.83
90.8
9+
/-3
.74
88.9
0+
/-5
.09
85.2
0+
/-5
.30
90.8
7+
/-4
.23
90.3
0+
/-3
.09
Cars
80.6
0+
/-4
.89
80.6
0+
/-4
.89
88.7
8+
/-3
.84
96.4
2+
/-3
.46
96.1
6+
/-2
.18
95.6
5+
/-3
.21
97.1
8+
/-3
.30
98.7
2+
/-1
.81
97.9
6+
/-2
.02
91.5
6+
/-6
.18
Bre
ast
Loss
96.3
3+
/-2
.43
96.1
8+
/-2
.52
97.3
7+
/-2
.17
95.9
0+
/-2
.38
95.9
0+
/-2
.05
96.6
3+
/-2
.41
96.4
9+
/-2
.10
88.8
8+
/-4
.06
97.2
2+
/-1
.76
97.5
1+
/-2
.30
Aust
ralian
77.5
4+
/-2
.92
77.5
4+
/-3
.00
85.8
0+
/-2
.80
84.6
4+
/-4
.05
86.9
6+
/-2
.56
87.1
0+
/-4
.12
86.2
3+
/-4
.11
85.6
5+
/-4
.40
86.5
2+
/-3
.62
85.8
0+
/-4
.47
Pim
a75.3
9+
/-4
.17
74.8
7+
/-4
.24
75.6
5+
/-3
.72
73.6
9+
/-5
.25
75.7
8+
/-1
.78
76.4
4+
/-4
.25
75.2
6+
/-4
.09
72.2
6+
/-4
.71
74.5
9+
/-5
.79
74.9
8+
/-6
.38
Dia
bete
s75.5
2+
/-3
.30
75.7
8+
/-2
.84
74.8
7+
/-3
.21
75.1
3+
/-4
.75
76.0
5+
/-4
.33
75.0
1+
/-2
.65
75.1
3+
/-3
.23
72.0
0+
/-3
.48
73.7
0+
/-4
.81
73.8
3+
/-3
.86
Tokyo
90.3
0+
/-2
.15
90.4
0+
/-2
.60
90.4
0+
/-2
.60
91.6
6+
/-2
.77
91.3
5+
/-2
.25
91.5
5+
/-2
.43
92.2
8+
/-1
.50
91.1
3+
/-2
.62
91.4
5+
/-1
.84
91.3
4+
/-2
.16
Germ
an
74.1
0+
/-4
.86
74.2
0+
/-4
.78
73.6
0+
/-3
.78
70.9
0+
/-3
.67
72.4
0+
/-4
.01
70.7
0+
/-3
.59
71.5
0+
/-3
.81
73.1
0+
/-5
.26
72.2
7+
/-5
.56
71.8
8+
/-4
.98
Segm
enta
tion
80.7
4+
/-1
.54
91.2
6+
/-1
.32
91.6
9+
/-1
.30
96.9
7+
/-1
.08
93.6
8+
/-2
.35
94.9
8+
/-1
.45
94.6
8+
/-1
.37
90.3
5+
/-2
.56
94.2
0+
/-1
.86
93.9
0+
/-1
.56
Wavefo
rm79.9
0+
/-1
.02
79.8
8+
/-1
.06
80.1
2+
/-1
.51
75.7
4+
/-1
.37
80.2
8+
/-1
.54
80.6
8+
/-1
.41
80.8
0+
/-2
.02
81.3
0+
/-1
.15
80.5
8+
/-1
.56
80.0
4+
/-1
.34
Churn
88.6
0+
/-1
.85
88.6
2+
/-1
.78
87.4
4+
/-1
.56
94.3
8+
/-0
.61
84.7
8+
/-1
.44
89.0
2+
/-1
.92
87.0
4+
/-1
.44
84.0
4+
/-1
.45
87.5
4+
/-1
.44
86.8
4+
/-1
.73
Sat.
Image
79.5
6+
/-1
.23
82.0
2+
/-1
.20
81.9
9+
/-1
.30
86.5
7+
/-1
.13
86.9
9+
/-1
.28
87.6
5+
/-1
.30
87.8
9+
/-1
.24
86.1
1+
/-1
.35
86.0
8+
/-1
.46
85.8
6+
/-1
.67
Adult
82.7
0+
/-0
.60
82.5
9+
/-0
.65
83.7
8+
/-0
.48
85.5
7+
/-0
.50
83.5
1+
/-0
.62
83.3
7+
/-0
.56
85.6
6+
/-0
.54
83.3
7+
/-0
.56
84.8
4+
/-0
.47
84.7
2+
/-0
.42
Shutt
le93.0
1+
/-0
.58
99.4
4+
/-0
.14
99.4
4+
/-0
.14
99.9
7+
/-0
.03
99.6
8+
/-0
.06
99.9
3+
/-0
.04
99.8
6+
/-0
.08
98.7
9+
/-0
.06
99.8
0+
/-0
.07
99.7
8+
/-0
.08
%de
acert
o80.7
283.0
584.3
584.6
784.4
184.5
384.6
882.6
283.6
883.1
3
rank
10
85
24
31
96
7
media
do
rank
6.6
25.7
14.9
4.7
15
4.5
74.4
86.7
15.3
36.2
4
Tab
ela
4.4:
Res
ult
ados
exper
imen
tais
do
TA
Ne
TA
Nico
mo
PiD
,na
sua
vers
aosu
per
vis
ada
enao
super
vis
ada
com
par
ada
com
algu
ns
algo
ritm
osdo
WE
KA
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 82
Dis
cre
tizacao
nenhum
asu
perv
isado
superv
isado
superv
isado
superv
isado
superv
isado
superv
isado
superv
isado
superv
isado
superv
isado
nao
incre
menta
lnao
incre
menta
lnao
incre
menta
lnao
incre
menta
lnao
incre
menta
lin
icia
lin
cre
menta
lin
cre
menta
lin
cre
menta
lin
cre
menta
l
Conj.
dados
NB
(Cont.
)N
BJ48
Bayes
Net
TA
Ni
TA
Ni
TA
Ni
TA
Ni
TA
Ni
TA
Ni
past
as
de
10%
past
as
de
10%
past
as
de
5%
past
as
de
2%
past
as
de
1%
Aust
ralian
77.5
4+
/-2
.92
77.5
4+
/-3
.00
84.6
4+
/-4
.05
85.8
0+
/-2
.80
86.2
3+
/-4
.11
85.9
4+
/-3
.81
85.8
0+
/-4
.47
85.6
5+
/-2
.69
85.3
6+
/-4
.85
82.1
7+
/-8
.14
Pim
a75.3
9+
/-4
.17
74.8
7+
/-4
.24
73.6
9+
/-5
.25
75.6
5+
/-3
.72
75.2
6+
/-4
.09
71.9
9+
/-4
.17
74.9
8+
/-6
.38
72.5
2+
/-3
.45
74.0
8+
/-4
.36
73.1
8+
/-5
.84
Dia
bete
s75.5
2+
/-3
.30
75.7
8+
/-2
.84
75.1
3+
/-4
.75
74.8
7+
/-3
.21
75.1
3+
/-3
.23
73.0
5+
/-5
.06
73.8
3+
/-3
.86
73.7
+/-4
.58
73.4
4+
/-4
.87
73.5
7+
/-3
.57
Tokyo
90.3
0+
/-2
.15
90.4
0+
/-2
.60
91.6
6+
/-2
.77
90.4
0+
/-2
.60
92.2
8+
/-1
.50
90.0
9+
/-2
.62
91.3
4+
/-2
.16
92.3
9+
/-2
.31
88.1
1+
/-4
.09
89.0
5+
/-3
.87
Germ
an
74.1
0+
/-4
.86
74.2
0+
/-4
.78
70.9
+/-3
.67
73.6
0+
/-3
.78
71.5
+/-3
.81
72.3
0+
/-4
.14
71.8
8+
/-4
.98
72.1
0+
/-3
.75
71.4
+/-3
.672.9
0+
/-4
.86
Segm
enta
tion
80.7
4+
/-1
.54
91.2
6+
/-1
.32
96.9
7+
/-1
.08
91.6
9+
/-1
.30
94.6
8+
/-1
.37
77.4
9+
/-1
.80
93.9
+/-1
.56
92.3
8+
/-2
.69
91.3
9+
/-2
.01
91.7
3+
/-1
.36
Wavefo
rm79.9
0+
/-1
.02
79.8
8+
/-1
.06
75.7
4+
/-1
.37
80.1
2+
/-1
.51
80.8
+/-2
.02
79.6
8+
/-1
.91
80.0
4+
/-1
.34
77.9
2+
/-1
.99
77.4
+/-1
.51
77.4
2+
/-1
.42
Churn
88.6
0+
/-1
.85
88.6
2+
/-1
.78
94.3
8+
/-0
.61
87.4
4+
/-1
.56
87.0
4+
/-1
.44
86.6
0+
/-1
.35
86.8
4+
/-1
.73
86.0
2+
/-1
.21
86.3
6+
/-1
.49
86.2
8+
/-1
.23
Sat.
Image
79.5
6+
/-1
.23
82.0
2+
/-1
.286.5
7+
/-1
.13
81.9
9+
/-1
.30
87.8
9+
/-1
.24
86.7
3+
/-1
.60
85.8
6+
/-1
.67
86.2
2+
/-0
.96
85.7
7+
/-1
.43
84.0
4+
/-1
.53
Adult
82.7
0+
/-0
.60
82.5
9+
/-0
.65
85.5
7+
/-0
.583.7
8+
/-0
.48
85.6
6+
/-0
.54
84.7
4+
/-0
.43
84.7
2+
/-0
.42
84.2
9+
/-0
.49
84.3
1+
/-0
.52
84.2
3+
/-0
.57
Shutt
le93.0
1+
/-0
.58
99.4
4+
/-0
.14
99.9
7+
/-0
.03
99.4
4+
/-0
.14
99.8
6+
/-0
.07
99.8
0+
/-0
.05
99.7
8+
/-0
.08
99.7
7+
/-0
.07
99.6
9+
/-0
.07
99.6
3+
/-0
.12
%acert
o81.5
883.3
385.0
284.0
785.0
582.5
884.4
583.9
183.3
983.1
1
rank
10
72
41
93
56
8
media
do
rank
6.0
95.6
44.3
64.9
12.6
46
4.4
55.8
27.3
67.2
7
Tab
ela
4.5:
Res
ult
ados
xper
imen
tais
par
ao
PiD
com
div
erso
sta
man
hos
de
pas
tas
com
par
ada
com
asu
adis
cret
izac
aoin
icia
le
com
algu
ns
algo
ritm
osdo
WE
KA
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 83
De notar que todos os algoritmos correram as mesmas pastas mutualmente estratifi-
cadas e em particular os conjuntos de teste foram os mesmos para todos os passos da
validacao cruzada.
Deixa-se apenas a nota de que foram testados como metodo de discretizacao inicial
o Equal Frequency Binning e o Equal With Binning. Por questoes de espaco e
objectividade, sao apenas apresentados os resultados para os que foram considerados
mais representativos. Gostaria no entanto de se salientar que os resultados com o
Equal With Binning e o Equal Frequency Binning apresentam desempenhos muito
semelhantes.
A tabela 4.4 apresenta o desempenho dos diversos algoritmos para vinte e um conjuntos
de dados, a tabela 4.5 contem os resultados para onze conjuntos de dados.
No fim de cada uma das tabelas encontra-se a media do desempenho para todos os
conjuntos de dados, na linha seguinte encontra-se a posicao do resultado anterior. Na
linha seguinte pode-se visualizar a media das posicoes alcancadas em cada um dos
conjuntos de dados.
Atraves da analise da tabela 4.4 verifica-se que:
• Os resultados dos algoritmos incrementais se aproximam dos algoritmos nao
incrementais;
• Uma analise mais exaustiva permite concluir que os resultados da discretizacao;
incremental obtem um melhor desempenho nos conjuntos de dados com mais
exemplos;
• Na discretizacao supervisada o TANi com discretizacao incremental obtem uma
taxa de acerto mais alta que o TAN com discretizacao nao incremental em cinco
conjuntos de dados;
• A discretizacao supervisada indica obter melhores resultados que a discretizacao
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 84
nao supervisada incremental;
• O pior resultado e obtido pelo naive Bayes sem discretizacao;
• A discretizacao nao supervisada incremental obtem um media da taxa de acerto
mais baixa que o naive Bayes Com discretizacao supervisada. De salientar no
entanto que o naive bayes consegue essa vantagens nos conjuntos de dados com
menos exemplos.
Nos resultados da tabela 4.4 verifica-se que a discretizacao incremental obtem melhores
resultados com conjuntos de dados com maior numero de exemplos. Separa-se entao
os onze conjuntos de dados com mais exemplos para relizar uma analise mais exaustiva
dos resultados.
Analisando a tabela 4.5 observa-se que:
• A melhor media e obtida pelo TANi com discretizacao nao incremental;
• O TAN com a discretizacao inicial, obtida com a primeira pasta dos dados, obtem
a penultima melhor taxa de acerto;
• Todas as discretizacoes incrementais obtem melhor media da taxa de acerto que
a discretizacao inicial;
• A discretizacao incremental obtem taxas de acerto proximas da discretizacao nao
incremental;
• A diferenca entre a melhor media de acerto obtida e a discretizacao incremental,
com pastas de 1%, e de 1.94, O que e um bom indicador. Ao analisar com
mais detalhe podemos verificar que, por exemplo, no caso do conjunto de dados
Australian a discretizacao inicial foi efectuada com cerca de 7 instancias e foi
reformulada 99 vezes. Tendo em consideracao este facto, a troca no desempenho
entre taxa de acerto e condicoes tao duras de incrementalidade foi satisfatoria.
CAPITULO 4. ABORDAGEM INCREMENTAL A DISCRETIZACAO 85
Um dos objectivos das Tabelas 4.4 e 4.5 e verificar se a discretizacao tem um papel
preponderante no desempenho do algoritmo e pode-se verificar que tal acontece, pois o
mesmo algoritmo com o mesmo metodo de discretizacao, mas obtido quer inicialmente,
quer incrementalmente torna-se decisivo no desempenho do algoritmo.
Analisando as duas tabelas verifica-se que a discretizacao incremental melhora os seus
resultados para conjuntos de dados com mais exemplos. Na Tabela 4.5 a diferenca da
media da taxa de acerto entre o TANi-PiD e o TANi com discretizacao nao incremental,
diminuiu. Deste modo pode-se concluir que o PiD obtem melhor desempenho em
conjuntos com maior numero de exemplos, podendo por essa razao indicar o PiD como
um bom metodo para areas como o Datamining.
Verifica-se ainda que a discretizacao incremental indica obter um desempenho melhor
que o naive Bayes com discretizacao nao incremental.
Capıtulo 5
Conclusoes
Esta tese tinha como objectivo o estudo de uma rede Bayesiana (TAN) incremental.
Durante o decorrer desta verificou-se a lacuna na area de uma discretizacao incre-
mental para a avaliacao de um algoritmo incremental. Assim procurou-se dar como
contribuicao para a area nao so um classificar Bayesiano incremental mas tambem um
modo de avaliacao correcto do classificador. Resumindo a tese, podemos encontrar:
Capıtulo 2 Uma breve introducao na area da inteligencia artificial, mais precisamente
em aprendizagem automatica.
Um breve resumo com as motivacoes para o desenvolvimento de algoritmos
incrementais, algoritmos de discretizacao e classificadores Bayesianos.
Apontam-se as motivacoes para o uso da discretizacao como pre-processamento
dos conjuntos de dados com atributos contınuos e efectua-se uma breve revisao
dos metodos existentes.
Capıtulo 3 Apos estas introducoes, e apresentado o algoritmo proposto, TANi, que
demonstra cumprir a definicao de incrementalidade e manter o desempenho o
TAN.
Uma avaliacao experimental do algoritmo, em que se comparam as arvores
86
CAPITULO 5. CONCLUSOES 87
geradas entre o TAN e o TANi. Avalia-se o desempenho do algoritmo a medida
que este tem acesso a mais dados. Analisa-se o desempenho do algoritmo
variando o numero de instancias dos conjuntos de exemplos apresentados em cada
passo. Finalmente compara-se o desempenho do algoritmo com outros algoritmos
incrementais e nao incrementais.
Capıtulo 4 De seguida, descreve-se as motivacoes para o desenvolvimento de um
metodo de discretizacao incremental. Apresentando de seguida uma proposta
de um metodo de discretizacao incremental. Avalia-se o desempenho do PiD
na sua versao supervisada e nao supervisada) com o TANi e comparado com
algoritmos nao incrementais.
Capıtulo 5
Como principais contribuicoes para a area aponta-se:
• Um classificador Bayesiano incremental;
• Um metodo de discretizacao incremental;
• Uma correcta avaliacao de algoritmos incrementais;
• Metodo de discretizacao capaz de acelerar a discretizacao para grandes conjuntos
de dados sem degradar o desempenho do algoritmo.
5.1 Trabalho futuro
Na area do desenvolvimento de algoritmos ou metodos incrementais existe ainda
bastante a estudar, o trabalho de juntar um algoritmo incremental com um metodo
de discretizacao incremental foi apenas um inıcio. Assim, deixa-se aqui algumas das
propostas:
CAPITULO 5. CONCLUSOES 88
1. avaliar o TANi como algoritmo online;
2. Um dos testes que se pretende efectuar ao TANi e programar um TAN, para que
este gere exemplos. Esses exemplos tem como objectivo gerar um conjunto de
dados para treinar o TANi. Com este teste pretende-se atingir dois objectivos:
(a) verificar se o TANi adopta a mesma rede que o algoritmo que gerou os
exemplos;
(b) verificar a que velocidade o TANi adapta a estrutura correcta.
3. Igualmente importante seria o estudo do impacto da ordenacao dos dados na
construcao do TANi, ja que este e afectado pela maneira como os dados sao
ordenados;
4. Um bom desafio sera ainda o desenvolvimento do K-means incremental para
poder comparar o seu desempenho em termos de custo computacional, velocidade
e taxa de acerto com o do PiD;
5. Outro desafio que podera demonstrar a emergencia do uso da discretizacao
incremental e o teste desta em ambientes dinamicos.
89
Referencias
[Bay00] Stephen D. Bay. Multivariate discretization of continuous variablesfor set mining. In Knowledge Discovery and Data Mining, pages315–319, 2000.
[BM98] C.L. Blake and C.J. Merz. UCI repository of machine learningdatabases, 1998.
[Cat91] J. Catlett. On changing continuous attributes into ordered discreteattributes. In European Working Session on Learning, pages 164–178, 1991.
[Cer03] Jesus Cerquides Cerquide. Tan classifiers based on decompos-able distributions. Technical report, Institut d’Investigacio enIntel.ligencia Artificial, January 2003.
[Coe95] Helder Coelho. Inteligencia Artificial em 25 licoes. FundacaoCaloust Gulbenkian, 1995.
[DHS01] R. O. Duda, P. E. Hart, and D. G. Stork. Pattern Classification.John Wiley and Sons, New York, 2nd edition, 2001.
[DKS95] James Dougherty, Ron Kohavi, and Mehran Sahami. Supervisedand unsupervised discretization of continuous features. In Interna-tional Conference on Machine Learning, pages 194–202, 1995.
[DP97] Pedro Domingos and Michael J. Pazzani. On the optimality of thesimple bayesian classifier under zero-one loss. Machine Learning,29(2-3):103–130, 1997.
[FG96] Nir Friedman and Moises Goldszmidt. Building classifiers usingbayesian networks. In AAAI/IAAI, Vol. 2, pages 1277–1284, 1996.
[FG97] Nir Friedman and Moises Goldszmidt. Sequential update of Bayesiannetwork structure. In Proc. 13th Conf. on Uncertainty in ArtificialIntelligence, pages 165–174, 1997.
90
[FGL98] Nir Friedman, Moises Goldszmidt, and Thomas J. Lee. Bayesiannetwork classification with continuous attributes: getting the bestof both discretization and parametric fitting. In Proc. 15th Interna-tional Conf. on Machine Learning, pages 179–187, 1998.
[FI93] U. M. Fayyad and K. B Irani. Multi-interval discretization ofcontinuous valued attributes for classification learning. In 13 In-ternational Joint Conference on Artificial Intelligence, pages 1022–1027. Morgan Kaufmann, 1993.
[Fis87] D. H. Fisher. Knowledge acquisition via incremental conceptualclustering. Machine Learning, 2:139–172, 1987.
[FR02] Mannila Fayyad and Rarnakrishnan, editors. Data Mining andKnowledge Discovery. Kluwer Academis Publishers, 2002.
[FW99] Eibe Frank and Ian H. Witten. Making better use of globaldiscretization. In Proc. 16th International Conf. on MachineLearning, pages 115–123. Morgan Kaufmann, San Francisco, CA,1999.
[FZ00] E. Fagiuoli and M. Zaffalon. Tree-augmented naive credal classifiers.In Proceedings of the 8th Information Processing and Management ofUncertainty in Knowledge-Based Systems Conference, pages 1320–1327, 2000.
[Hec97a] D. Heckerman. A tutorial on learning with bayesian networks.Technical report, Microsoft research, Advanced Technology Dision,February 1997.
[Hec97b] David Heckerman. Bayesian networks for data mining. Data Miningand Knowledge Discovery, 1(1):79–119, 1997.
[HKL02] K. Huang, I. King, and M. Lyu. Constructing a large node chow-liutree based on frequent itemsets. In Proceedings of the InternationalConference on Neural Information Processing (ICONIP2002., 2002.
[Jen96] Finn V. Jensen. An introduction to Bayesian networks. UCL Press,1996.
[JL95] George H. John and Pat Langley. Estimating continuous distribu-tions in Bayesian classifiers. In Eleventh Conference on Uncertaintyin Artificial Intelligence, pages 338–345, 1995.
[Ker92] R. Kerber. Chimerge: Discretization of numeric attributes. In Proc.Ninth Int’l Conf. Artificial Intelligence (AAAI-91), pages 123–128,1992.
91
[Koh95] Ron Kohavi. A study of cross-validation and bootstrap for accuracyestimation and model selection. In IJCAI, pages 1137–1145, 1995.
[KP99] E. Keogh and M. Pazzani. Learning augmented bayesian classi-fiers: A comparison of distribution-based and classification-basedapproaches, 1999.
[KS96] Ron Kohavi and Mehran Sahami. Error-based and entropy-baseddiscretization of continuous features. In Proceedings of the SecondInternational Conference on Knowledge Discovery and Data Mining,pages 114–119, 1996.
[KSD96] Ron Kohavi, Dan Sommerfield, and James Dougherty. Data miningusing MLC++: A machine learning library in C++. In Tools withArtificial Intelligence, page To Appear. IEEE Computer SocietyPress, 1996. http://www.sgi.com/tech/mlc.
[Lan92] Langley, P., Iba, W., Thompson, K. An analysis of bayesianclassifiers. In Tenth National Conference on Artificial Intelligence,pages 223–228, 1992.
[Lan95] P. Langley. Learning in humans and machines: Towards an inter-disciplinary learning science, chapter Order Effects in IncrementalLearning. Oxford, 1995.
[LG02] S. Lange and G. Grieser. On the power of incremental learning.Theoretical Computer Science, 288(2):277–307, September 2002.
[LLS00] Tjen-Sien Lim, Wei-Yin Loh, and Yu-Shan Shih. A comparison ofprediction accuracy, complexity, and training time of thirty-three oldand new classification algorithms. Machine Learning, 40(3):203–228,2000.
[Mal03] M. Maloof. Incremental rule learning with partial instance memoryfor changing concepts. In Proceedings of the International JointConference on Neural Networks (IJCNN ’03), 2003.
[Mug02] Pedro Marıa Larranaga Mugia. Classificacion supervisada via mod-elos graficos probabilısticos. prova de habilitacao para catedratico,November 2002.
[Mit97] Tom M. Mitchell. Machine Learning. McGraw-Hill, 1997.
[ML98] A. Moore and M.S. Lee. Cached sufficient statistics for efficient ma-chine learning with large datasets. Journal of Artificial InteligenceResearch, 8:67–91, 1998.
92
[MR95] Richeldi M. and M. Rossotto. Class-driven statistical discretizationof continuous attributes. In European Conference on MachineLearning, pages 335–338, 1995.
[MST94] Donald Michie, D. J. Spiegelhalter, and C. C. Taylor. MachineLearning, Neural and Statistical Classification. Ellis Horwood, 1994.
[Paz95] M. J. Pazzani. An iterative improvement approach for the discretiza-tion of numeric attributes in bayesian classifiers. In Proceedingsof the First International Conference on Knowledge Discovery andData Mining, 1995.
[Qui93] R. Quinlan. C4.5: Programs for Machine Learning. MorganKaufmann Publishers, Inc. San Mateo, CA, 1993.
[R.C93] Holt R.C. Very simple classification rules perform well on mostcommonly used datasets. In Machine Learning 11, pages 63–90,1993.
[Rou02] Josep Roure. An incremental algorithm for tree-shaped bayesiannetwork learning. In F. Van Harmelen, editor, Proceedings of thefteenth European Conference of Articial Intelligence (ECAI 2002),page 350. IOS Press, July 2002.
[Rou04] Josep Roure. Incremental Methods for Bayesian Network StructureLearning. PhD thesis, Universidad Politecnica de Cataluna, 2004.
[Saa98] David Saad. On-line Learning In Neural Networks. CambridgeUniversity Press, 1998.
[UBC97] Paul E. Utgoff, Neil C. Berkman, and Jeffery A. Clouse. Decisiontree induction based on efficient tree restructuring. MachineLearning, 29(1):5–44, 1997.
[Yan03] Ying Yang. Discretization for Naive-Bayes Learning. PhD thesis,School of Computer Science and Software Engineering of MonashUniversity, July 2003.
[YW03] Ying Yang and Geoff I. Webb. Weighted proportional k-interval dis-cretization for naive-bayes classifiers. In 7th Pacific-Asia Conferenceon Knowledge Discovery and Data Mining. Morgan Kaufman, 2003.
93