selecc¸˜ao de algoritmos de classificac¸˜ao · vez que ´e imposs´ıvel correr experiˆencias...
TRANSCRIPT
Rui Manuel Santos Rodrigues Leite
Seleccao de Algoritmos de Classificacao
Caracterizacao Iterativa Baseada no Desempenho em Amostras
Departamento de Ciencia de Computadores
Faculdade de Ciencias da Universidade do PortoJunho de 2007
Rui Manuel Santos Rodrigues Leite
Seleccao de Algoritmos de Classificacao
Caracterizacao Iterativa Baseada no Desempenho em Amostras
Tese submetida a Faculdade de Ciencias da
Universidade do Porto para obtencao do grau de Doutor
em Ciencia de Computadores
Departamento de Ciencia de Computadores
Faculdade de Ciencias da Universidade do Porto
Junho de 2007
Resumo
Hoje em dia, as organizacoes tem que competir num mercado global, onde a qualidade
da gestao e a tomada de decisoes pode ser um factor decisivo para o seu sucesso. Nao e
negligenciavel a vantagem existente na extraccao de conhecimento util dos dados gerados
e armazenados pelas organizacoes, quer para a sua compreensao, quer para facilitar a to-
mada de decisao. A necessidade de extrair conhecimento dos dados (Data Mining), aliada
ao aumento do poder computacional, motivou o desenvolvimento de muitos algoritmos
novos. O numero de algoritmos usados aumentou significativamente. No entanto, uma
vez que e impossıvel correr experiencias com todos os algoritmos, e necessario desenvolver
metodos que permitam seleccionar apenas os melhores sem recorrer a tecnicas exaustivas
de avaliacao.
Nesta tese abordamos o problema da seleccao de algoritmos de extraccao de conhecimento
no contexto da classificacao. Em particular, consideramos o caso em que se pretende
seleccionar o melhor de dois algoritmos. No entanto, existem processos que podem ser
utilizados para estender esta formulacao ao problema geral (N algoritmos). A abordagem
mais comum, para alem da avaliacao exaustiva de todos algoritmos, utiliza a meta-
aprendizagem para decidir em funcao dos desempenhos dos algoritmos em problemas
anteriores. Os problemas de classificacao, definidos pelos respectivos conjuntos de dados,
sao caracterizados atraves de um conjunto de medidas que sao utilizadas para discriminar
entre os algoritmos de acordo com os seus desempenhos. Tipicamente sao incluıdas me-
didas simples, estatısticas e da teoria de informacao. O algoritmo de meta-aprendizagem
estabelece a correspondencia entre a caracterizacao dos problemas de classificacao e o
desempenho dos algoritmos em questao. No entanto, quando se consideram novos algo-
ritmos, nao se pode garantir que as medidas utilizadas sejam eficazes para os discriminar.
Isto porque algumas medidas sao independentes dos novos algoritmos. Uma forma de
caracterizacao considera o desempenho dos algoritmos quando treinados em amostras
3
dos dados como caracterısticas do problema de classificacao (sampling landmarks). Esta
caracterizacao e mais abrangente visto ser especıfica do algoritmo.
A utilizacao do desempenho dos algoritmos em amostras dos conjuntos de dados mostrou-
se eficaz, mas alguns estudos revelaram limitacoes quando se utilizavam amostras pro-
gressivamente maiores. Apresentamos uma solucao que desenvolvemos para resolver este
problema. Esta solucao, denominada por adaptacao de curvas de aprendizagem, consiste
na combinacao do conhecimento novo, fornecido pelos desempenhos dos algoritmos em
amostras do conjunto de dados considerado, com o conhecimento armazenado sobre o
desempenho dos algoritmos noutros conjuntos. Como este tipo de caracterizacao tem um
custo elevado, pois e necessario treinar os algoritmos em subconjuntos de dados, e impor-
tante saber que subconjuntos de dados, e quantos, deverao ser utilizados nas experiencias
com os algoritmos. Se realizarmos uma caracterizacao extensiva (modesta), o metodo
de meta-aprendizagem tera um bom (mau) desempenho na seleccao dos algoritmos, mas
com um custo computacional muito alto (baixo). Desenvolvemos um processo iterativo
de caracterizacao que selecciona as amostras a serem utilizadas no metodo de seleccao de
forma a melhorar o seu desempenho e reduzir o custos da caracterizacao. Este tipo de
caracterizacao e um dos aspectos originais deste trabalho. No passado a caracterizacao
era feita numa fase anterior a fase de meta-aprendizagem, o que nao proporcionava a
melhor solucao.
O metodo que desenvolvemos, denominado por AMDS-SetGen, utiliza o kNN como
algoritmo de meta-aprendizagem. A avaliacao empırica que realizamos mostra que este
metodo atinge um bom desempenho, sendo competitivo e na maioria das vezes bastante
superior em relacao a outros que utilizam outras abordagens, nomeadamente as que
empregam caracterısticas de dados na forma de medidas simples, estatısticas e da teoria
da informacao. Em comparacao com os metodos de avaliacao exaustivos este metodo
permite reduzir os custos computacionais. Isto representa uma melhoria significativa face
aos metodos anteriores na resolucao do problema da seleccao de algoritmos, e assim,
constitui uma contribuicao relevante na resolucao deste problema pratico.
4
Abstract
The institutions of nowadays have to compete on a global market, where the quality of
management and decision making is a determining factor of their success. The institutions
that are able to extract useful information from the data available have a considerable
advantage over others, as it enables them not only to obtain a better understanding
of the data and the situations that generated them, but also to exploit this for better
decision making. The necessity to extract knowledge from data, sometimes referred to
also as data mining, and the possibility of computing has motivated the development
of many new algorithms. Consequently the number of different algorithms available has
increased substantially. However, as it is impossible to conduct experiments with all
possible algorithms, it is necessary to develop methods that permit to select only the
best algorithm(s) without exhaustive testing.
In this thesis we address the problem of selection of data mining algorithms with a
particular focus on classification algorithms. In particular we have examined the problem
that involves two classification algorithms and the aim is to select the better of the
two. Methods exist that can be used to extend this to formulation to a more general
problem that includes N algorithms. The most common approach, apart from the one
involving exhaustive experimentation, is to use meta-learning to make the decision, while
taking into account performance of algorithms on previous problems. The classification
problems, defined by the respective datasets, are characterized using a set of measures
that are used to discriminate the algorithms with different performance. These typi-
cally include simple, statistical and information-theoretic measures. The meta-learning
method establishes thus a correspondence between the characteristics of datasets and
their performance. However, with this approach it is not possible to guarantee that the
measures adopted are efficient in discriminating algorithms, when the set of algorithms
is extended. This is because the measures are algorithm-independent. Another form of
characterization involves using performance results of the algorithms after training them
5
on data samples, sometimes refered to as sampling landmarks. This characterization is
more general, that is, is algorithm-specific.
It has been shown that the method employing sampling landmarks is quite efficient
in the task of selecting the better algorithm. However, some studies have shown that
he method had limitations, when progressively larger and larger samples were used.
We present a solution to this problem. The solution involves adaptation of learning
curves. This process combines, the information obtained by conducting experiments
on a new dataset together with the information that was stored originally on previous
experiments. As obtaining new information involves computational costs (it is necessary
to train the learning algorithm), it is important to determine which samples and how
many of them should be used in this process. If many (few) samples are used, it is
likely that the performance of the meta-learning method will be good (bad), while the
computational costs will be high (low). We have developed an iterative process that
characterizes algorithms by determining the samples to use, and by achieving a good
compromise between high meta-learning performance and low computational costs. This
characterization is one of the original aspects of this work.
The method that has been developed, referred to as AMDS-SetGen, uses a k-Nearest
Neighbor algorithm (k-NN) as the meta-learning algorithm. The empirical evaluation has
shown that this method achieves on the whole better results than all other approaches,
including the one that employs dataset characteristics in the form of simple, statistical
and information-theoretic measures referred to earlier. When compared to methods based
on exhaustive experimentation, the approach presented permits to reduce computational
costs. This represents a significant improvement when compared to previous methods for
the selection of algorithms and helps thus to resolve an issue of practical importance.
6
Resume
Aujourd’hui, le succes d’organisations soumises a la concurrence d’un marche globalise a
pour facteur determinant leur qualite de gestion de leurs ressources et de leurs processus
decisionnels. Les organisations en mesure d’extraire la seule information reellement
utile a partir de celle disponible possedent un avantage considerable par rapport aux
autres. Non seulement, il leur est possible de mieux apprehender leurs donnees ainsi
que les circonstances qui les ont generees, mais elles peuvent egalement utiliser cette
nouvelle connaissance afin d’ameliorer leurs propre processus decisionnels. L’extraction
de connaissances a partir de donnees, aussi nomme fouille de donnees (data mining), est
donc apparut comme un besoin dont l’emergence a ete favorisee par l’accroissement des
capacites de calculs et les developpements de nouveaux algorithmes. Comme le nombre
d’algorithmes a considerablement augmente, il est toutefois devenu necessaire de creer
d’autres algorithmes de maniere a selectionner les meilleurs des algorithmes, sans toutefois
proceder a l’analyse un-a-un tous les algorithmes.
Au cours de cette these nous nous interessons a la problematique de selection de l’algorithme
de classification optimal et, sans perte de generalite, a la selection du meilleur algorithme
parmi deux car il existe des techniques generalisant la problematique pour deux algo-
rithmes a celle pour N. L’approche la plus courante, outre celle necessitant la compa-
raison exhaustive de tous les algorithmes entre eux, est d’utiliser le meta apprentissage
(meta-learning). Ainsi, le choix du meilleur algorithme est realise parmi ceux dont la
performance a deja ete analysee sur de precedents problemes. Afin de selectionner le
meilleur algorithme en classification, dont les problemes sont definis par des ensembles de
donnees particuliers, l’analyse est menee sur la base d’un ensemble de mesures provenant
notamment de la statistique et de la theorie de l’information. Les techniques de meta-
apprentissage etablissent alors une correspondance entre les caracteristiques mesurees
d’un ensemble de donnees et les performances des algorithmes. Toutefois, par cette appro-
che, il n’est pas garantit que les mesures adoptees permettent une selection performante
7
lorsqu’un plus grand nombre d’algorithmes est considere. En effet, certaines mesures sont
independant a des algorithmes. Une alternative plus generale a cette approche consiste a
caracteriser les algorithmes selon leur performance apres apprentissage sur un ensemble
de plusieurs problemes donnes. Cette technique est parfois nommee sampling landmark
ou “paysage echantillon”.
Il a ete demontre que la technique de paysage echantillon est relativement performante
dans la tache de selection du meilleur algorithme. Toutefois, certaines etudes ont montre
que cette technique atteint ses limites lorsque des echantillons de plus en plus larges
sont utilises. Nous proposons une solution a cette problematique par une adaptation
des courbes d’apprentrissage. Ce procede utilise d’une part l’information initialement
stockee lors des precedentes analyses mais egalement l’information obtenue par l’analyse
d’un nouvel ensemble de donnees. Comme l’obtention d’information additionnelle a un
cout de calcul car il est necessaire de proceder a l’apprentissage de l’algorithme, il est
primordial de selectionner les echantillons a utiliser ainsi que leur nombre. Si beaucoup
(peu) d’echantillons sont utilises, il est probable que la performance de la technique
de meta apprentissage sera bonne (mauvaise), tandis que les couts de calcul seront
importants (faibles). Nous avons donc developpe un processus iteratif de caracterisation
des algorithmes qui determine les echantillons a utiliser et qui offre un bon compromis
entre la performance du meta apprentissage et les couts de calcul. Il s’agit d’un des
aspects originaux de ce travail.
La technique qui a ete developpee, nommee AMDS-SetGen, utilise l’algorithme des k plus
proches voisins comme algorithme de meta apprentissage. Notre evaluation empirique
a montre que dans l’ensemble, notre methode presente de meilleurs resultats que les
autres approches, parmi lesquelles celles caracterisant les ensembles de donnees par des
mesures de type statistique ou d’autres issues de la theorie de l’information. Par rapport
aux techniques basees sur l’analyse exhaustive, notre approche permet egalement une
reduction important des couts de calculs. Cet aspect represente une amelioration majeure
en regard des approches precedement proposees tout en aidant a resoudre un probleme
d’importance pratique.
8
Agradecimentos
Para o trabalho que foi desenvolvido para esta tese foi essencial o apoio e amizade de
varias pessoas. As condicoes de trabalho, e um ambiente inspiradores sao um elemento
essencial para a realizacao de trabalhos de investigacao. Quero entao mencionar algumas
pessoas cujo apoio se revelou util para mim.
Em primeiro lugar, gostaria de agradecer ao Professor Pavel Brazdil, orientador desta tese,
cujo apoio foi muito importante. Em fases mais complicadas do trabalho e essencial nao so
o apoio cientıfico, mas tambem a visao ampla que nos e transmitida pelos investigadores
mais experientes. Devo agradecer a motivacao que me transmitiu e tambem o facto de
me relembrar os objectivos nao me deixando dispersar.
Agradeco tambem ao Professor Joaquim Costa, meu co-orientador que se mostrou dis-
ponıvel para um apoio complementar de orientacao.
Quero tambem mencionar varios colegas do LIAAD (Laboratorio de Inteligencia Artificial
e Apoio a Decisao) que me apoiaram especificamente em algumas fases da elaboracao
desta tese.
Agradeco ao Carlos Soares e a Rita Ribeiro pelo apoio que me deram, nomeadamente,
por me terem cedido varios scripts que precisei de utilizar.
Agradeco ao Rodolfo Matos pelo apoio tecnico que me forneceu, nomeadamente, ao criar
condicoes para a utilizacao de uma quantidade consideravel de computadores para correr
as minhas experiencias.
Agradeco ao Fabrice Colas pelo apoio na traducao do Sumario desta tese para Frances,
e tambem pelo facto de me ter cedido alguns conjuntos de dados novos que servirao para
trabalho futuro.
Agradeco ao Kaustubh Patil pela ajuda que me deu, nomeadamente, enviando-me artigos
relacionados com o trabalho que realizei.
Em geral, devo mencionar todos os colegas do LIAAD, pela amizade e pelo ambiente
intelectualmente estimulante que criam e pelo seu sentido crıtico bastante incisıvo, no-
meadamente, durante os seminarios internos do grupo.
10
Faco um agradecimento especial a minha famılia pelo apoio e paciencia que me ofereceram
durante esta fase da minha vida. Em particular, agradeco a Fernanda, minha esposa, e
Joana, minha filha por terem sido muitas vezes uma fonte de esperanca.
Agradeco a Faculdade de Ciencias da Universidade do Porto por me ter aceite como
estudante de doutoramento.
Por fim, agradeco o apoio financeiro do PRODEP, Fundo Social Europeu, ao Programa
de Financiamento Pluriaual de Unidades de I&D e tambem a Faculdade de Economia da
Universidade do Porto pela possibilidade que me ofereceu para me dedicar plenamente
aos estudos de doutoramento.
11
Conteudo
Resumo 3
Abstract 5
Resume 7
Indice de Tabelas 20
Indice de Figuras 22
1 Introducao 23
1.1 Objectivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.2 Contribuicoes Principais . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.3 Estrutura da Tese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2 A Seleccao de Algoritmos no Ambito da Descoberta de Conhecimento
de Bases de Dados (DCBD) 31
2.1 Sumario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2 Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3 Perspectiva Alargada do Problema da Seleccao de Algoritmos . . . . . . 33
2.4 O Processo de Descoberta de Conhecimento de Bases de Dados . . . . . 34
2.5 Pre-processamento e Reducao de Dados . . . . . . . . . . . . . . . . . . . 37
13
2.5.1 Limpeza de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.5.2 Tratamento de Valores Omissos . . . . . . . . . . . . . . . . . . . 37
2.5.3 Amostragem (Sampling) . . . . . . . . . . . . . . . . . . . . . . . 38
2.5.4 Seleccao de Atributos . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.5.5 Discretizacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.6 O Problema da Classificacao . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.7 Algoritmos de Classificacao . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.7.1 k Vizinhos Mais Proximos . . . . . . . . . . . . . . . . . . . . . . 42
2.7.2 Arvores de Decisao . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.7.3 Conjuntos de Regras de Decisao . . . . . . . . . . . . . . . . . . . 45
2.7.4 Redes Neuronais Artificiais . . . . . . . . . . . . . . . . . . . . . . 48
2.7.5 Naıve Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.7.6 Regressao Logıstica . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.8 Avaliacao de Algoritmos de Classificacao . . . . . . . . . . . . . . . . . . 53
2.8.1 Metodo do Treino–Teste (Holdout Sample Evaluation) . . . . . . 53
2.8.2 Metodo de Validacao Cruzada . . . . . . . . . . . . . . . . . . . . 54
2.8.3 Metodo do Bootstraping . . . . . . . . . . . . . . . . . . . . . . . 55
2.9 Seleccao de Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.9.1 Varias Formulacoes do Problema da Seleccao de Algoritmos . . . 57
2.9.1.1 Identificacao do Melhor Algoritmo . . . . . . . . . . . . 57
2.9.1.2 Identificacao do Melhor de dois Algoritmos . . . . . . . . 57
2.9.1.3 Identificacao do Grupo dos Melhores Algoritmos . . . . . 58
2.9.1.4 Estabelecer a Ordem dos Algoritmos (Ranking) . . . . . 58
2.9.1.5 Consideracoes Finais . . . . . . . . . . . . . . . . . . . . 59
14
2.9.2 Metodo de Decisao Baseado na Validacao Cruzada . . . . . . . . 60
2.9.3 Metodos de Decisao Baseados em Regras que Codificam o Conhecimento
de Peritos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.9.4 Metodos de Decisao Baseados em Meta-Aprendizagem . . . . . . 60
2.9.4.1 Algoritmos Utilizados na Fase de Meta-Aprendizagem . 62
2.9.4.2 Caracterizacao Atraves de Atributos Extraıdos dos Dados 62
2.9.4.3 Caracterizacao pelo Desempenho em Algoritmos Rapidos
(landmarks) . . . . . . . . . . . . . . . . . . . . . . . . . 63
2.9.4.4 Caracterizacao Baseada em Propriedades dos Modelos Cri-
ados por Algoritmos . . . . . . . . . . . . . . . . . . . . 64
2.9.4.5 Caracterizacao pelo Desempenho dos Algoritmos em Sub-
conjuntos de Dados (Sampling Landmarks) . . . . . . . . 64
3 Metodos para Escolher o Melhor de dois Algoritmos 67
3.1 Sumario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.2 Objectivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.3 Abordagem Utilizando o Desempenho dos Algoritmos em Subconjuntos
(AMDS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.3.1 Caracterizacao dos Conjuntos de Dados Conhecidos . . . . . . . . 72
3.3.2 Caracterizacao do Novo Conjunto de Dados . . . . . . . . . . . . 73
3.3.3 Meta-Dados que Descrevem as Experiencias Anteriores . . . . . . 75
3.3.4 Recuperacao dos Casos Mais Semelhantes . . . . . . . . . . . . . 76
3.3.5 Adaptacao dos Casos (Adaptacao das Curvas) . . . . . . . . . . . 78
3.3.6 Decisao Final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.3.7 Descricao Algorıtmica do Metodo AMDS . . . . . . . . . . . . . . 81
3.3.8 Precisao do Metodo em Funcao dos Atributos Utilizados . . . . . 82
3.4 Gerador de Sequencias de Atributos (SetGen) . . . . . . . . . . . . . . . 84
15
3.4.1 Avaliacao das Sequencias de Atributos . . . . . . . . . . . . . . . 88
3.4.2 Descricao Algorıtmica do Metodo SetGen . . . . . . . . . . . . . . 89
3.5 O Metodo AMDS-SetGen . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.6 Abordagem Utilizando Caracterizacao dos Dados (MDC) . . . . . . . . . 93
3.6.1 A Caracterizacao dos Conjuntos de Dados . . . . . . . . . . . . . 93
3.6.2 Meta-Dados que Descrevem as Experiencias Anteriores . . . . . . 94
3.6.3 Funcao de Distancia . . . . . . . . . . . . . . . . . . . . . . . . . 95
3.6.4 Descricao Algorıtmica do Metodo MDC . . . . . . . . . . . . . . . 96
3.7 Conclusoes e Discussao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.7.1 Resumo dos Objectivos . . . . . . . . . . . . . . . . . . . . . . . . 97
3.7.2 Resumo dos Metodos Apresentados . . . . . . . . . . . . . . . . . 98
3.7.3 Contribuicoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
3.7.4 Alternativas do Metodo SetGen . . . . . . . . . . . . . . . . . . . 100
3.7.4.1 Utilizacao de Procuras nao Gananciosas em SetGen . . . 101
3.7.4.2 Avaliacao mais Robusta das Sequencias de Atributos . . 101
3.7.5 Extensoes e Trabalho Futuro . . . . . . . . . . . . . . . . . . . . . 101
3.7.5.1 Extensao do Metodo para N Algoritmos . . . . . . . . . 101
3.7.5.2 Utilizacao da Informacao nas Sequencias de Atributos An-
teriores . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.7.5.3 Utilizacao de Informacao sobre outros Algoritmos . . . . 103
3.7.5.4 Utilizacao de Medidas de Caracterizacao dos Dados como
Atributos Adicionais . . . . . . . . . . . . . . . . . . . . 104
3.7.5.5 Extensao do Metodo para Ordenacao (Ranking) de Algo-
ritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4 Avaliacao Experimental 105
16
4.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.2 Metodologia Experimental . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.2.1 Algoritmos Escolhidos . . . . . . . . . . . . . . . . . . . . . . . . 106
4.2.2 Conjuntos de Dados Seleccionados para o Estudo . . . . . . . . . 107
4.2.3 Metodo de Avaliacao . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.2.4 Taxa de Acertos do Meta-Classificador . . . . . . . . . . . . . . . 109
4.2.5 Taxa de Acertos de Referencia . . . . . . . . . . . . . . . . . . . . 110
4.2.6 Custos Computacionais dos Metodos e Comparacao com VC . . . 111
4.3 Metodo Proposto versus Metodo Baseado em Caracterısticas dos Dados
(MDC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.4 Escolha do Valor dos Parametros ∆ e k do Metodo AMDS–SetGen . . . 116
4.4.1 Ajuste do Parametro ∆ . . . . . . . . . . . . . . . . . . . . . . . . 118
4.4.2 Ajuste do Parametro k . . . . . . . . . . . . . . . . . . . . . . . . 119
4.5 Escolha do Valor do Parametro k do Metodo MDC . . . . . . . . . . . . 123
4.6 Comparacao dos Metodos AMDS–SetGen, AMDS (sem SetGen), MDC e
VC Considerando Varios Valores de ∆ . . . . . . . . . . . . . . . . . . . 125
4.7 Conclusoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
5 Conclusoes 131
5.1 Metodos Desenvolvidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
5.1.1 Metodo Baseado em Desempenhos dos Algoritmos em Subconjun-
tos (AMDS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
5.1.2 Metodo Baseado em Caracterısticas dos Dados (MDC) . . . . . . 134
5.2 Resultados da Avaliacao dos Metodos . . . . . . . . . . . . . . . . . . . . 134
5.3 Contribuicoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.4 Extensoes e Trabalho Futuro . . . . . . . . . . . . . . . . . . . . . . . . . 137
17
5.4.1 Extensao do Metodo para N Algoritmos . . . . . . . . . . . . . . 137
5.4.2 Utilizacao de Informacao sobre outros Algoritmos . . . . . . . . . 138
5.4.3 Utilizacao Complementar de Medidas de Caracterizacao dos Dados 138
5.4.4 Extensao da Seleccao de Algoritmos as Cadeias de Operacoes . . 139
Referencias 141
18
Lista de Tabelas
2.1 Numero de Valores (Classes) para cada Formulacao do Problema da Se-
leccao de Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.1 Informacao Guardada (Meta-Dados) sobre o Desempenho dos Algoritmos
nos Conjuntos de Dados Conhecidos . . . . . . . . . . . . . . . . . . . . . 76
3.2 Medidas Utilizadas para Caracterizar os Conjuntos de Dados . . . . . . . 94
3.3 Informacao Armazenada Contendo as Medidas Extraıdas dos Dados e o
Desempenho Relativo dos Algoritmos . . . . . . . . . . . . . . . . . . . . 95
4.1 Algoritmos de Classificacao . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.2 Problemas de Classificacao: Pares de Algoritmos . . . . . . . . . . . . . . 107
4.3 Conjunto De Dados Utilizados no Estudo . . . . . . . . . . . . . . . . . . 108
4.4 Frequencia Absoluta de Decisoes Baseadas em VC (com t-test conf. 0.95)
para o Problema J48 versus NB . . . . . . . . . . . . . . . . . . . . . . . 111
4.5 Frequencia Absoluta de Decisoes Baseadas em VC (com t-test conf. 0.95)
para o Problema Generico Alg1 versus Alg2 . . . . . . . . . . . . . . . . 111
4.6 Taxas de Acertos (m–acc) para os Metodos MDC (k=7) e AMDS-SetGen
(k=23, ∆=0.07) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
4.7 Custos Computacionais dos Metodos AMDS–SetGen e MDC em Relacao
com os Custos por VC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
4.8 Variacao da Taxa de Acertos (m–acc) em Funcao de ∆ e k . . . . . . . . 118
19
4.9 Taxas de Acertos Obtidas pelo Metodo AMDS–SetGen para os Problemas
e k’s Considerados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.10 Rankings dos Valores de k Segundo o Desempenho do Metodo AMDS-
SetGen para cada Problema . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.11 Taxas de Acertos Obtidas pelo Metodo AMDS–SetGen para os Problemas
e k’s Considerados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.12 Rankings dos Valores de k Segundo o Desempenho do Metodo MDC para
cada Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
20
Lista de Figuras
2.1 O Processo de DCBD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.2 Arvore de Decisao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.3 Construcao de uma Arvore de Decisao (recursive partioning) . . . . . . . 45
2.4 Algoritmo de Cobertura Sequencial [Mit97] . . . . . . . . . . . . . . . . . 47
2.5 Exemplo de uma Rede Neuronal Multi-Camada . . . . . . . . . . . . . . 48
3.1 O novo Conjunto de Dados e as Distancias deste aos Conjuntos de Dados
Conhecidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.2 Curvas de Aprendizagem Obtidas pelos Algoritmos no Conjunto de Dados d 73
3.3 Curvas Parciais de Aprendizagem Obtidas pelos Algoritmos no Novo Con-
junto de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.4 Distancia entre as Curvas Ci e Cj . . . . . . . . . . . . . . . . . . . . . . 77
3.5 Adaptacao das Curvas de Aprendizagem Identificadas . . . . . . . . . . . 79
3.6 Metodo AMDS (descricao algorıtmica) . . . . . . . . . . . . . . . . . . . 83
3.7 Processo Iterativo de Caracterizacao do Novo Conjunto de Dados Para
Determinar Qual o Melhor Algoritmo . . . . . . . . . . . . . . . . . . . . 86
3.8 Um Exemplo de Procura da Sequencia de Atributos . . . . . . . . . . . . 87
3.9 Metodo SetGen (descricao algorıtmica) . . . . . . . . . . . . . . . . . . . 91
3.10 Metodo AMDS-SetGen (descricao algorıtmica) . . . . . . . . . . . . . . . 92
3.11 Metodo MDC (descricao algorıtmica) . . . . . . . . . . . . . . . . . . . . 96
21
3.12 Funcoes Utilizadas pelo Metodo MDC . . . . . . . . . . . . . . . . . . . 97
4.1 Taxa de Acertos e Racios de Tempos para os Varios Valores de ∆ . . . . 119
4.2 Taxa de Acertos e Racios de Tempos para os Varios Valores de ∆ (em %)
e Comparacao com Outros Metodos . . . . . . . . . . . . . . . . . . . . . 127
22
Capıtulo 1
Introducao
Hoje em dia, no exercıcio das suas actividades, as organizacoes 1 geram e armazenam
um grande volume de dados. Nao e negligenciavel a vantagem existente na extraccao
de conhecimento util desses dados, quer para a sua compreensao, quer para facilitar
a tomada de decisao. As organizacoes tem que competir num mercado cada vez mais
global, onde a qualidade da gestao e a tomada de decisoes e determinante para o sucesso
final. No contexto da tomada de decisoes, a Descoberta de Conhecimento de Bases de
Dados (DCBD) pode constituir uma ajuda preciosa. Dos dados podem ser extraıdos
padroes (e modelos) que permitem que cada organizacao conheca a sua situacao actual,
avalie riscos, preveja valores de variaveis importantes (por exemplo, o total de vendas),
etc.
De modo geral, chamamos conhecimento aos padroes extraıdos que sejam uteis para a
decisao, validos para novos dados, anteriormente desconhecidos, actuais e interpretaveis.
O conhecimento nao e extraıdo dos dados por processos triviais. Tal como no caso da
extraccao de ouro, que nao se encontra normalmente a superfıcie, tambem a extraccao
de conhecimento necessita que seja investido um esforco significativo na sua prospeccao.
As tecnicas do passado para extraccao de conhecimento dos dados, desenvolvidas em
contextos em que o poder computacional era diminuto, tinham uma complexidade neces-
sariamente reduzida. No actual contexto, em que um elevado poder computacional esta
disponıvel, podemos aplicar tecnicas mais complexas de forma a extrair padroes mais
complexos dos dados.
1Referimo-nos a varios tipos de organizacoes, por exemplo, empresas de multiplos sectores, instituicoes
publicas, organismos cientıficos, etc.
23
24 Capıtulo 1. Introducao
A necessidade de extrair padroes complexos dos dados, aliada ao aumento do poder
computacional disponıvel, constituiu um desafio irresistıvel no sentido de desenvolver
mais e melhores algoritmos para este fim. A atencao da comunidade cientıfica para
este tipo de problemas aumentou significativamente surgindo novos encontros cientıficos
e publicacoes dedicadas a esta area, denominada por Extraccao de Conhecimento de
Dados (ECD) (Data Mining). A criacao de novos e melhores algoritmos para ECD foi
positiva, pois maximiza as possibilidades de obter conhecimento de maior qualidade. No
entanto, uma vez que e impossıvel correr todos os algoritmos, e imperativo escolher apenas
os melhores, o que e uma tarefa muito difıcil. Assim, e extremamente relevante o estudo
deste problema e o consequente desenvolvimento de metodos que permitam seleccionar
os melhores algoritmos de ECD sem recorrer a estrategias exaustivas de avaliacao (por
exemplo, a validacao cruzada).
A ECD e aplicada a um grupo de problemas distintos. O utilizador estabelece o tipo de
problema de ECD em funcao da aplicacao pretendida. Sao exemplos de tipos de problemas
a sumarizacao, a regressao, a classificacao, entre outros. Nesta dissertacao e abordado o
problema da seleccao de algoritmos de ECD no contexto dos problemas de classificacao,
ou seja, o objectivo principal e a seleccao de algoritmos de classificacao.
A classificacao e um tipo particular de problema de previsao2 em que o valor a prever
e de domınio nominal 3. E um problema que e colocado muitas vezes, por exemplo, as
empresas querem prever se as vendas de um produto vao subir ou descer, as companhias
distribuidoras de electricidade querem prever se os consumos vao exceder determinado
valor crıtico, o ministerio das financas quer prever se determinado contribuinte nao cum-
pre as suas obrigacoes fiscais, etc. Os problemas de previsao constituem um importante
grupo de problemas abordados na ECD [WI98].
O problema da seleccao de algoritmos de classificacao motivou o desenvolvimento de
varios metodos para o resolver. Uma abordagem comum nos metodos ja desenvolvidos
consiste no estudo do comportamento dos algoritmos quando treinados em varios conjun-
tos de dados. A ideia e extrair conhecimento da experiencia dos algoritmos em problemas
de classificacao que foram resolvidos no passado. O novo problema de classificacao
(conjunto de dados), para o qual se pretende seleccionar os melhores algoritmos, e carac-
terizado utilizando um conjunto de medidas que sao utilizadas para prever o desempenho
2Entendemos o conceito de previsao como a forma de estimar o valor de alguma variavel (propriedade)
que nao conhecemos sobre determinado objecto, nao tendo que se referir necessariamente a nenhum ponto
do tempo no futuro, presente ou passado.3No caso do atributo a prever ter domınio contınuo o problema de previsao designa-se por regressao.
25
dos algoritmos. Os conjuntos de dados (problemas de classificacao) utilizados no passado
pelos mesmos algoritmos sao tambem caracterizados pelo mesmo conjunto de medidas.
Por fim, um algoritmo de aprendizagem e utilizado para estabelecer qual as associacoes
que existem entre as medidas e os desempenhos. Os valores dos atributos descrevem o
conjunto de dados ao nıvel do caso. As medidas de caracterizacao dos conjuntos de dados
descrevem os dados a um nıvel superior designado por nıvel meta. No nıvel meta os
valores dos atributos descrevem o problema de classificacao como sendo o proprio caso.
Pelo facto de se utilizar aprendizagem sobre meta-dados esta abordagem e designada por
meta-aprendizagem.
A forma de caracterizacao dos problemas de classificacao (representados pelos conjuntos
de dados) tem uma importancia fulcral na abordagem de seleccao de algoritmos utilizando
meta-aprendizagem. Pretende-se usar atributos que sejam capazes de discriminar o
desempenho dos algoritmos nos varios conjuntos de dados.
Existem formas de caracterizacao dos problemas de classificacao que se baseiam na
extraccao de caracterısticas dos dados que o descrevem. Embora tenha tido resultados
razoaveis, este tipo de caracterizacao tem a desvantagem de nao garantir que as medidas
utilizadas sao as melhores e se serao uteis para discriminar entre novos algoritmos nao
considerados a partida.
Outra forma de caracterizacao que foi desenvolvida utiliza o desempenho de outros algo-
ritmos chamados landmarks. Estes sao algoritmos rapidos, utilizados para caracterizar
o espaco dos conjuntos de dados e identificar as regioes em que uns se superiorizam
aos outros. Essa informacao e depois associada ao desempenho dos algoritmos base. A
principal desvantagem deste tipo de caracterizacao decorre da dificuldade em determinar
um conjunto de landmarks que seja suficientemente informativo para ser utilizado para
discriminar entre os algoritmos base.
Por fim, outra forma de caracterizacao utilizada e baseada no desempenho dos algoritmos
base em subconjuntos (amostras aleatorias) do conjunto considerado. Utilizando a meta-
aprendizagem sao procuradas as associacoes entre o desempenho dos algoritmos em
subconjuntos de dados e o desempenho dos mesmos na totalidade dos dados. Este tipo
de caracterizacao e suficientemente geral para nao levantar problemas quanto a utilidade
futura quanto se introduzem novos algoritmos. Considera o desempenho dos algoritmos
base em subconjuntos de dados. Se se considerar subconjuntos suficientemente grandes e
expectavel que se consiga seleccionar com elevada confianca o subconjunto dos melhores
26 Capıtulo 1. Introducao
algoritmos. No entanto avaliar o desempenho dos algoritmos em subconjuntos de dados
de dimensao grande tem um custo elevado que se pretende evitar.
Experiencias anteriores com este tipo de caracterizacao revelaram limitacoes ate a essa
altura inexplicadas quando se caracterizava o problema utilizando o desempenho dos
algoritmos em subconjuntos de dados progressivamente maiores. Os resultados nao
melhoravam a partir de certo ponto. Esta limitacao e facil de aceitar nos outros tipos
de caracterizacao. Poder-se-ia dizer que os atributos utilizados nao eram suficientemente
informativos para discriminar os algoritmos. No entanto, quando se utiliza o desempenho
dos algoritmos na totalidade dos casos a seleccao dos melhores algoritmos deve ser
possıvel com um grau de certeza semelhante ao obtido com um procedimento de avaliacao
exaustiva dos algoritmos.
Escolhemos utilizar meta-aprendizagem para desenvolver um metodo para seleccionar
algoritmos. O tipo de abordagem de caracterizacao que seguimos e a baseada no de-
sempenho dos algoritmos em subconjuntos de dados. Procuramos um mecanismo para
ultrapassar as dificuldades relatadas sobre este tipo de caracterizacao.
Este tipo de caracterizacao coloca no entanto um novo problema. Quais os subconjuntos
de dados (e quantos) deverao ser utilizados para testar os algoritmos (para medir o
desempenho)? Se utilizarmos subconjuntos de dados grandes, o desempenho dos al-
goritmos deve ser proximo do obtido na totalidade dos dados, o que implica melhores
resultados no problema da escolha de algoritmos. No entanto, o custo em termos de tempo
de processamento e neste caso bastante elevado. Se, pelo contrario, forem escolhidos
subconjuntos de dimensao reduzida, e possıvel obter uma poupanca de tempo, mas a
precisao no processo de seleccao de algoritmos devera ser menor. Assim, a escolha das
dimensoes dos subconjuntos a serem utilizados para testar os algoritmos e um novo
problema que se coloca. Abordamos este problema nesta dissertacao e desenvolvemos
um metodo para o resolver.
1.1 Objectivos
Restringimos o nosso estudo ao caso em que existem dois algoritmos em causa. O
problema e escolher o algoritmo mais adequado, dum conjunto de dois algoritmos, para
ser utilizado num determinado conjunto de dados. No entanto, esta restricao pode ser
ultrapassada. No caso de pretendermos escolher um de N > 2 algoritmos podemos aplicar
1.1 Objectivos 27
o processo de escolha para todos os possıveis pares de algoritmos e depois escolher o
algoritmo que mais vezes foi previsto como sendo o melhor.
Nesta tese o nosso objectivo era obter respostas as seguintes questoes:
• E possıvel desenvolver um metodo de seleccao de algoritmos, com elevada taxa de
acertos, determine qual o algoritmo de classificacao mais adequado para um novo
conjunto de dados?
• Sera que o metodo pode competir, em termos de custos computacionais, com a
decisao baseada em avaliacao dos algoritmos (por exemplo a validacao cruzada)?
• Pode o metodo desenvolvido melhorar progressivamente o seu desempenho se se
fornecer mais informacao sobre o novo conjunto de dados (podendo no caso limite
atingir 100% de certeza de acerto)?
• Sera o metodo capaz de competir com, ou ser melhor que os metodos existentes
baseados noutras abordagens?
Quanto a generalidade dos problemas abordados e dos metodos desenvolvidos devemos
fazer as seguintes consideracoes:
• Seleccao de algoritmos de regressao. Embora tenhamos focado o problema na se-
leccao de algoritmos de classificacao, os metodos desenvolvidos podem ser aplicados
com as devidas adaptacoes a seleccao de algoritmos de regressao.
• Extensao da Seleccao de Algoritmos as Cadeias de Operacoes. A escolha de algo-
ritmos para ECD e um problema com grande relevancia no ambito do processo mais
geral, denominado por Descoberta de Conhecimento de Bases de Dados (DCBD),
que inclui a extraccao de conhecimento como uma fase do processo. Em cada fase
do processo e necessario executar uma determinada operacao ou operacoes. Visto
existirem varias alternativas, e necessario escolher as operacoes mais promissoras
para o desempenho global do processo. Os metodos de seleccao de algoritmos
de classificacao, apresentados nesta tese, podem ser estendidos para abordar o
problema mais geral da DCBD.
Na proxima Seccao resumimos os objectivos e as perguntas que pretendemos responder
com esta tese.
28 Capıtulo 1. Introducao
1.2 Contribuicoes Principais
Os objectivos propostos nesta tese foram atingidos. Concretamente atingimos os seguintes
objectivos.
1. Desenvolvemos um metodo que preve com elevada taxa de acertos qual o algoritmo
de classificacao mais adequado para um novo conjunto de dados.
2. O metodo e competitivo, em termos de custos computacionais, com a decisao
baseada em avaliacao dos algoritmos (validacao cruzada), permitindo poupar tempo
significativo em relacao a esta.
3. O metodo mostrou-se melhor em termos de taxa de acertos quando comparado com
metodos que utilizam outras abordagens e que foram propostos para os problemas
de recomendacao de algoritmos.
Outra componente das contribuicoes desta tese para resolucao do problema da reco-
mendacao de algoritmos esta relacionada com os aspectos originais do metodo desenvol-
vido.
• Introducao do mecanismo de adaptacao das curvas. Foi observado noutros
trabalhos [FP01, SPB01] que a previsao do desempenho relativo utilizando o de-
sempenho em subconjuntos nao melhorava significativamente em termos de taxa
de acertos na decisao do melhor algoritmo, a medida que mais pontos das curvas
parciais de aprendizagem eram determinados.
O mecanismo de adaptacao corrigiu este aspecto, permitindo combinar a informacao
parcial sobre o desempenho dos algoritmos no novo conjunto de dados com a
informacao conhecida sobre o desempenho dos mesmos noutros conjuntos de dados.
• Cada algoritmo e caracterizado de forma independente. A informacao mais
relevante para tomar a decisao pode para cada algoritmo estar em lugares diferentes
das curvas de aprendizagem. Neste sentido, a possibilidade de caracterizar de forma
independente os algoritmos no novo conjunto de dados pode melhorar o desempenho
do metodo.
• A caracterizacao iterativa realizada por SetGen. De uma forma geral, nas
abordagens que utilizam meta-aprendizagem, a caracterizacao e feita numa primeira
1.3 Estrutura da Tese 29
fase. No metodo que desenvolvemos, na variante AMDS-SetGen, existe um processo
que escolhe os atributos de forma iterativa. Isto e, as escolhas dos atributos depen-
dem de estimativas de como o metodo se vai comportar. A caracterıstica iterativa
deste processo esta relacionada com a forma como os atributos sao introduzidos.
Em cada passo deste processo sao estimadas as consequencias para o metodo, em
termos de taxa de acertos e de custos computacionais, que condicionam a introducao
de novos atributos na sequencia de atributos. O processo e repetido enquanto se
observem melhorias (mınimas) no desempenho do metodo.
1.3 Estrutura da Tese
No proximo Capıtulo apresentamos alguns conceitos fundamentais das areas de Ex-
traccao de Conhecimento de Dados (ECD) e Descoberta de Conhecimento de Bases de
Dados (DCBD) que fornecem o enquadramento essencial para o problema da seleccao de
algoritmos de classificacao. Para alem, disso revemos o trabalho relacionado com o tema
da seleccao de algoritmos de classificacao.
No Capıtulo 3 descrevemos os metodos que desenvolvemos para resolver o problema da
escolha do melhor de dois algoritmos de classificacao considerados. Discutimos ainda
algumas possibilidades de extensao dos metodos desenvolvidos a problemas mais comple-
xos.
No Capıtulo 4 apresentamos as experiencias realizadas para avaliar os metodos que
descrevemos no Capıtulo 3. Finalizamos com as consideracoes quanto a validade dos
metodos para resolver o problema da escolha do melhor de dois algoritmos e tambem
como o nosso metodo se compara com outros.
No Capıtulo 5 revemos as conclusoes obtidas e apresentamos as propostas de trabalho
futuro.
Capıtulo 2
A Seleccao de Algoritmos no Ambito
da Descoberta de Conhecimento de
Bases de Dados (DCBD)
2.1 Sumario
Neste Capıtulo apresentamos o problema da seleccao de algoritmos de Extraccao de
Conhecimento de Dados (ECD) como fase importante do processo de Descoberta de Co-
nhecimento de Bases de Dados (DCBD). Identificamos os principais contributos e as
diferentes abordagens de investigadores que se destacam nesta area. Focamos o nosso
estudo, restringido-o a seleccao de algoritmos de classificacao 1.
Uma vez que a seleccao dos algoritmos se insere no processo de DCBD, apresentamos as
varias fases do mesmo e os principais conceitos envolvidos. O objectivo e enquadrar o
problema no seu contexto mais geral, isto e no processo de DCBD. No entanto, pretende-se
tambem mostrar que o problema da escolha (seleccao) de algoritmos pode ser estendido a
um problema mais alargado, em que a escolha nao e entre algoritmos, mas sim entre planos
multi-operacionais (sequencias de operacoes) em que o algoritmo e uma das operacoes
envolvidas.
1O problema nao se alteraria significativamente se considerassemos algoritmos de regressao, sendo
necessario encontrar as analogias apropriadas para a avaliacao dos mesmos.
31
32Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
Finalizamos este Capıtulo identificando a abordagem seguida nesta dissertacao para
resolver o problema da seleccao de algoritmos.
2.2 Motivacao
A Extraccao de Conhecimento de Dados (ECD), em particular de conhecimento passıvel
de ser utilizado para prever os valores de variaveis determinantes na tomada de decisao,
tem merecido interesse generalizado: os bancos querem prever se determinado cliente
cumprira as prestacoes de um emprestimo; as empresas financeiras querem saber se a
cotacao de um tıtulo vai subir ou descer; os astronomos querem determinar que astro
esta representado numa determinada regiao do espaco a partir de imagens provenientes
de telescopios (ou radiotelescopios) etc.
Cada vez mais as organizacoes geram e armazenam maiores volumes de dados. A ex-
traccao de padroes dos dados, uteis na tomada de decisoes, pode ter como resultado
final lucros significativos. Aos padroes que se mostram uteis, validos em dados novos
(generalizaveis para situacoes futuras), novos (anteriormente desconhecidos), actuais e
compreensıveis chamamos simplesmente de Conhecimento. Assim como “pepitas de
ouro”, que normalmente nao se encontram na superfıcie, tambem o conhecimento tem
que ser extraıdo por processos que implicam um investimento [FPSS96].
A pressao desta necessidade, bem como o aumento do poder computacional disponıvel, fez
com que novos algoritmos de ECD fossem desenvolvidos. Os algoritmos podem empregar
estrategias mais complexas de extraır informacao do que as utilizadas pelas tecnicas
classicas desenvolvidas num contexto em que o poder computacional era mais modesto.
A atencao da comunidade cientıfica foi intensificada por estes problemas e foram surgindo
novos encontros cientıficos e publicacoes mundiais e dedicadas a ECD. Isto fez com que
uma grande quantidade de algoritmos ECD fosse desenvolvida.
Por um lado, a criacao de novos e melhores algoritmos de ECD e uma boa notıcia,
visto podermos ter melhores previsoes, melhor compreensao dos dados etc. Por outro
lado, este facto tornou impraticavel a execucao exaustiva dos algoritmos disponıveis,
criando assim um novo problema: A seleccao dos melhores algoritmos para o problema de
classificacao em causa. Para alem disso, a seleccao do melhor algoritmo tem que ser feita
de forma independente para cada novo problema de classificacao, porque nao existe um
2.3 Perspectiva Alargada do Problema da Seleccao de Algoritmos 33
so algoritmo de classificacao que se superiorize a todos os outros para todos os problemas
de classificacao [Sch94, WM95, Wol96].
A ECD enquadra-se num processo mais geral chamado de Descoberta de Conhecimento de
Bases de Dados (DCBD). Este processo compreende varias fases nas quais sao executadas
algumas operacoes (por exemplo, limpeza de dados, seleccao de atributos, aplicacao de
algoritmos de classificacao etc). Em algumas fases deste processo existem alternativas
quanto a operacao a executar. O utilizador pode ser chamado a intervir neste processo
escolhendo a melhor alternativa de forma a obter o melhor resultado final.
2.3 Perspectiva Alargada do Problema da Seleccao
de Algoritmos
A escolha dos algoritmos e, como vimos, um problema bastante relevante no processo de
DCBD, pois facilita o trabalho do utilizador. Para alem disso, olhando para o problema das
escolhas do utilizador duma forma mais geral, podemos afirmar que o estudo da seleccao
dos melhores algoritmos pode ser bastante util no contexto da sequencia de escolhas
envolvidas quando percorremos as varias fases do processo de DCBD. Se representarmos
por oji a operacao alternativa j disponıvel na fase i, entao as tres primeiras operacoes
de uma sequencia generica (plano de operacoes) pode ser por exemplo o11 o1
2 o23. Assim o
que antes se via como seleccoes de operacoes espalhadas em varias fases pode agora ser
entendido como a seleccao numa fase unica (comprimida) de planos de operacoes 2.
Na proxima Seccao vamos apresentar o processo de DCBD enumerando de forma extensiva
as varias fases que o constituem.
2Bernstein e Provost apresentam o conceito de Intelligent Discovery Assistant que fornece ao utilizador
uma forma sistematica de representar sequencias validas de operacoes de DCBD, evidenciando que
operacoes alternativas podemos escolher na fase corrente [BP01]. Para alem disso, sao apresentados varios
criterios que podem ser utilizados para ordenar (Ranking) as sequencias de operacoes (que designamos
por planos).
34Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
2.4 O Processo de Descoberta de Conhecimento de
Bases de Dados
A Extraccao de Conhecimento de Dados (ECD) e uma das fases de um processo que
comporta varias tarefas denominado por Descoberta de Conhecimento de Bases de Dados
(DCBD). Muitas vezes estes dois conceitos sao confundidos. A DCBD e um conceito mais
global que compreende nao so a ECD mas todo o processo de descoberta de conhecimento
de bases de dados, incluindo a forma como os dados sao armazenados e acedidos, o
modo como os algoritmos sao adaptados para correrem eficientemente em conjuntos de
dados de grande dimensao, a forma como os resultados sao interpretados e apresentados
e finalmente como a interaccao homem-maquina pode ser ser modelada e suportada.
Fayyad et al. [FPSS96] definem DCBD como o processo nao trivial de identificacao de
padroes dos dados que sejam validos, anteriormente desconhecidos, potencialmente uteis
e compreensıveis.
Considera-se como dados um conjunto de factos representados nas bases de dados. Os
padroes sao expressoes numa determinada linguagem que representam um subconjun-
tos de dados (com determinada caracterıstica) ou um modelo que se aplique a esse
subconjunto de dados. O termo nao trivial e utilizado para referir que o processo
de identificacao dos padroes utiliza algum tipo de procura ou inferencia, nao sendo
um calculo directo de uma expressao pre-determinada. Os padroes obtidos devem,
com certo grau de certeza, ser validos (aplicaveis) em novos dados. Para alem disso,
pretende-se que os padroes expressem novo conhecimento, isto e que sejam anteriormente
desconhecidos, bem como que sejam uteis para a tarefa especificada pelo utilizador.
Finalmente, e tambem importante que os padroes sejam compreensıveis , podendo para
isso ser necessario executar posteriormente algum tipo de procedimento de simplificacao.
A Figura 2.1 apresenta um resumo das varias fases do processo de DCBD (adaptada de
[FPSS96]).
Como se percebe na Figura existe uma ordenacao das operacoes que sao executadas
em cada fase. Por exemplo, so se pode realizar operacoes de pre-processamento depois
de terem sido seleccionadas as fontes de dados relevantes para a tarefa fixada pelo
utilizador. No entanto existe a possibilidade de se voltar atras executando operacoes
de fases anteriores se tal se mostrar conveniente na fase em que se avaliam os padroes
obtidos.
2.4 O Processo de Descoberta de Conhecimento de Bases de Dados 35
Figura 2.1: O Processo de DCBD
Brachman e Anand [BA96] apresentam uma visao mais detalhada do processo de DCBD
realcando o caracter iterativo e interactivo do mesmo. Segundo os autores o processo de
DCBD e constituıdo pelas seguintes fases.
1. Compreensao do domınio da aplicacao e identificacao do objectivo. Nesta fase e
importante compreender o contexto dos dados disponıveis e formar um base de
conhecimento sobre o domınio da aplicacao. Sao tambem enumerados os objectivos
gerais da descoberta de conhecimento pretendida do ponto de vista do utilizador.
2. Criacao do conjunto de dados alvo. Nesta fase e realizada a seleccao (construcao)
do conjunto de dados alvo (de interesse), compreendendo a seleccao dos exemplos
e variaveis em que se pretende descobrir conhecimento.
3. Limpeza de Dados e Pre-Processamento. As operacoes realizadas nesta fase com-
portam a remocao de ruıdo, o tratamento de valores incomuns (outliers), a homo-
geneizacao na representacao dos dados, o tratamento de valores omissos (missings)
e a inclusao de informacao temporal que possa ser util de representar.
4. Reducao de dados e projeccao. Nesta fase sao identificados os atributos mais
uteis no contexto do objectivo fixado. Podem ser aplicados metodos automaticos
seleccao de atributos (feature selection) e tambem metodos de transformacao de
dados, nomeadamente metodos que construam novos atributos (por exemplo, os
componentes principais – principal components) que sejam mais relevantes para o
objectivo pretendido. Para alem disso, tambem a seleccao de subconjuntos de casos
36Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
(sampling) e a discretizacao (reducao do numero de valores) pode ser executadas
nesta fase.
5. Seleccao do tipo de tarefa de extraccao de conhecimento. Nesta fase e associado o
objectivo fixado na fase 1 do processo de DCBD a um tipo particular de Extraccao de
Conhecimento de Dados (ECD). Existem entre outros os seguintes tipos de tarefas
de ECD: sumarizacao, classificacao, regressao, agrupamento (clustering), procura
de padroes de valores frequentes etc.
6. Seleccao do algoritmo de extraccao de conhecimento de dados. Nesta fase e selecci-
onado o algoritmo de ECD adequado a tarefa fixada na fase anterior. Para alem da
escolha do algoritmo e necessario tambem escolher os valores dos parametros. Esta
escolha deve ter em conta o objectivo do processo de DCBD.
7. Extraccao de conhecimento de dados. Nesta fase sao aplicados os metodos selec-
cionados na fase anterior do processo, sendo extraıdos os padroes (ou modelos)
pretendidos.
8. Visualizacao e Interpretacao. Nesta fase sao visualizados e interpretados os padroes
(ou modelos) extraıdos na fase anterior. A qualidade dos padroes e avaliada e no
caso do utilizador pretender melhores solucoes a execucao pode saltar para fases
anteriores do processo de DCBD.
9. Realizacao das accoes face ao conhecimento extraıdo e aos objectivos fixados. Nesta
fase esta em causa o que fazer com o conhecimento extraıdo. Podemos utilizar
o conhecimento directamente para a tomada de decisoes ou de uma forma geral
tomar determinada accao. E tambem possıvel que se realize uma incorporacao do
conhecimento obtido num sistema de conhecimento com o objectivo de ser utilizado
em futuras accoes (ou decisoes) ou simplesmente para os documentar sob a forma
de relatorios remetidos as partes interessadas (por exemplo. o decisor). Esta fase
contem tambem a consolidacao do conhecimento extraıdo face ao conhecimento
mais antigo. E portanto necessario resolver os conflitos do conhecimento anterior
com o novo conhecimento extraıdo (revisao de teorias).
Nas proximas seccoes apresentamos alguns pormenores sobre algumas fases do processo
DCBD que foram aqui descritas.
2.5 Pre-processamento e Reducao de Dados 37
2.5 Pre-processamento e Reducao de Dados
Nesta Seccao apresentamos algumas operacoes realizadas nas fases de pre-processamento
e reducao de dados do processo de DCBD. Interessa-nos apresentar estas operacoes pois
sao por vezes indispensaveis aos algoritmos de ECD e de forma geral afectam o desempenho
desses mesmos algoritmos.
2.5.1 Limpeza de Dados
Os dados que estao armazenados nas bases de dados, dos quais queremos descobrir conhe-
cimento, possuem geralmente erros. Os erros podem ter origem humana, por exemplo com
a introducao manual de dados. Neste caso um conhecimento dos padroes mais frequentes
nos valores introduzidos pode servir para detectar possıveis erros nos dados. A deteccao de
valores incomuns (outliers) e outras das ferramentas que pode debelar este problema. Os
erros pode ser inerentes aos proprios atributos onde eles se encontram. Dados numericos
podem ter ruıdo que e inerente a propria forma como e recolhida informacao. Por
exemplo no caso dos valores em questao provirem de sensores (por exemplo, imagens,
sons, temperaturas etc) existe ruıdo associado na medicao. Dependendo da natureza do
sinal existem diversos metodos (filtros) que podem ser utilizados para reduzir o ruıdo.
Podemos tambem incluir nesta fase da limpeza de dados as transformacoes que permitem
homogeneizar as representacoes dos dados (exemplos: valores expressos em diferentes
unidades; pessoas repetidas numa base de dados por nao se ter tido cuidado de fixar uma
forma homogenea para representar o nome).
2.5.2 Tratamento de Valores Omissos
Devemos distinguir os casos em que o valor nao esta definido pois nao pode ter qualquer
valor (diz-se nao aplicavel), por alguma impossibilidade logica resultante dos outros valo-
res definidos , do caso em que o valor deveria estar definido. Apenas no segundo caso faz
sentido adoptar alguma estrategia de substituicao dos valores omissos. Isto e importante
pois alguns algoritmos nao conseguem lidar com valores omissos. A abordagem mais
radical 3 para este problema consiste na eliminacao dos casos que tenham valores omissos.
3Esta e a abordagem da “Analise em Casos Completos” (Complete Case Analysis (CCA)).
38Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
Algumas das formas mais simples de tratar o problema dos valores omissos consiste em
substituir o valor omisso pela media (aplicavel apenas ao caso de atributos numericos) ou
pela moda dos valores no atributo respectivo. Esta estrategia pode, no entanto, alterar
bastante a distribuicao conjunta dos atributos no caso de haver muitos valores omissos
no atributo considerado. A substituicao do valor omisso devera ter em conta nao so os
valores conhecidos do atributo em causa mas tambem os valores dos outros atributos.
Estrategias mais complexas passam pela substituicao dos valores omissos pelos valores
dos mesmos atributos nos casos mais semelhantes.
2.5.3 Amostragem (Sampling)
Os algoritmos de ECD tem por vezes limites quanto ao numero de casos que conseguem
tratar. Algumas implementacoes necessitam que o conjunto de dados seja armazenado
na memoria central. Isto pode ser impossıvel para conjuntos com um numero muito
elevado de casos. Por vezes o tempo necessario para correr os algoritmos na totalidade do
conjunto de dados pode ser excessivo face ao requerido no processo de DCBD. Para alem
disso certos algoritmos de ECD, nomeadamente os algoritmos de classificacao, podem ter
desempenhos bastante aceitaveis quando treinados em subconjuntos de dados [HJH97].
Para ultrapassar este problema e comum recorrer a tecnicas de reducao de dados, deno-
minadas por tecnicas de tecnicas de amostragem. A forma mais simples de amostragem
e a amostragem aleatoria uniforme. Esta consiste em extraır um subconjunto com uma
determinada proporcao X do conjunto de dados original. Chama-se aleatoria uniforme
pois todos os casos do conjunto de dados original tem a mesma probabilidade de serem
seleccionados. A proporcao X e um parametro deste metodo de amostragem, sendo
indicado pelo utilizador ou por outro metodo que o utilize como sub-rotina (por exemplo
para tracar uma curva de aprendizagem).
Formas mais complexas de amostragem pretendem seleccionar um subconjunto de casos
que mantenha mais ou menos a mesma distribuicao conjunta do conjunto de dados
original.
Existem duas variantes do metodo de amostragem - dinamica ou estatica [JL96]. No caso
da amostragem estatica o subconjunto e escolhido face ao grau de representatividade
que o mesmo tem em relacao ao conjunto completo 4. A escolha dos casos no caso
4A ideia e utilizar testes de hipoteses para verificar em cada atributo que os valores no subconjunto
de dados considerado provem da mesma distribuicao que os valores do conjunto original.Pode-se utilizar,
2.5 Pre-processamento e Reducao de Dados 39
da amostragem dinamica e independente do algoritmo de ECD que se pretende utilizar
depois. Pelo contrario, no caso da amostragem dinamica, e utilizado o conhecimento
sobre o comportamento, em termos de desempenho, do algoritmo de ECD para escolher
o subconjunto (amostra).
John e Langley [JL96] verificaram empiricamente que os metodos de amostragem dinamica
sao preferıveis aos estaticos sob o ponto de vista do desempenho dos algoritmos de
classificacao. Provost et al. [PJO99] apresentam um metodo (dinamico) de amostra-
gem progressiva que permite poupar tempo em relacao a execucao dos algoritmos de
classificacao para a totalidade dos dados sem piorar o desempenho de forma significativa.
Este metodo baseia-se na observacao da curva de aprendizagem e na deteccao do ponto
(proporcao de casos) a partir do qual nao compensa continuar a aprendizagem. As
proporcoes de casos dos pontos observados seguem uma progressao geometrica. No
entanto este metodo nao funciona quando os conjuntos tem dimensao reduzida. Foram
desenvolvidos metodos que tentam ultrapassar esta limitacao [LB04] 5.
Para alem das abordagens dinamicas e estaticas, podemos tambem caracterizar o tipo de
amostragem quanto ao criterio de escolha dos casos (individualmente). A amostragem
pode, neste contexto, ser classificada como aleatoria ou selectiva consoante os casos te-
nham ou nao a mesma probabilidade de serem seleccionados. Um exemplo de amostragem
selectiva utiliza o conceito denominado por query by commitee [FSST97, SOS92]. Numa
fase inicial sao construıdos varios classificadores (commitee), treinados em subconjuntos
(distintos) de amostras aleatorias com a mesma dimensao. A seleccao de casos e feita
tendo em conta o grau de discordancia das classificacoes do commitee de classificadores,
sendo escolhidos aqueles que reunam menor consenso.
2.5.4 Seleccao de Atributos
Segundo Blumer e Langley [BL97] de certa medida podemos dividir a aprendizagem de
conceitos (concept learning) em duas tarefas: decidir que atributos utilizar na descricao
do conceito e decidir como combinar esses atributos. Nesta perspectiva a seleccao dos
por exemplo, o teste do χ2 para atributos nominais e um teste da media de amostras de grande dimensao
utilizando o teorema do Limite Central. De modo geral poder-se-ao utilizar testes que nao assumem
nenhuma distribuicao [Fra91].5Desenvolvemos, numa fase inicial do doutoramento, um metodo que aplica meta-aprendizagem para
detectar o ponto de paragem, isto e, o ponto a partir do qual nao vale a pena continuar a aprendizagem
[LB03, LB04]
40Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
atributos relevantes e de importancia central para os algoritmos de classificacao. Para
alguns problemas, por exemplo os relacionados com classificacao automatica de textos, o
numero de atributos disponıveis e bastante elevado 6, no entanto, apenas uma pequena
parte destes sao relevantes para realizar tarefas de classificacao. Alguns algoritmos
apresentam uma degradacao do desempenho significativa quando na presenca duma
elevada taxa de atributos irrelevantes (por exemplo o k-NN). E necessario utilizar metodos
que permitem seleccionar os atributos mais relevantes para discriminar as classes.
Os metodos de seleccao de atributos relevantes podem ser divididos em dois grupos: os
filtros (filter approach) e os wrappers [KJ97]). Enquanto os metodos de seleccao do tipo
filtro sao aplicados aos dados antes da fase de aplicacao dos algoritmos de classificacao,
os wrappers utilizam o desempenho do algoritmo de classificacao em questao para guiar
a procura do conjunto de atributos que apresenta melhores resultados.
De um modo geral todos os metodos de seleccao de atributos realizam algum tipo de
procura 7 no espaco dos subconjuntos do conjunto de atributos em causa. E impraticavel
percorrer o espaco de procura de forma exaustiva visto que o numero de estados e
2N , sendo N o numero total de atributos. Assim e comum utilizar uma abordagem
de procura gananciosa como e o caso da procura subir a colina (hill climbing) ou da
procura por feixes (beam search). A direccao da procura pode ser no sentido de acrescentar
atributos, denominada por seleccao para a frente (forward selection), partindo do caso em
que nenhum atributo e considerado (conjunto vazio de atributos), ou eliminar atributos
(backward elimination) partindo do caso em que todos os atributos sao considerados. A
escolha do proximo estado da procura depende da avaliacao do estados (subconjuntos
de atributos) que podem suceder ao actual. No caso da abordagem do tipo wrapper a
avaliacao do estado e dada pelo desempenho do algoritmo em causa quando se utilizam os
atributos indicados (no estado). No caso da abordagem do tipo filtro a avaliacao do estado
consiste geralmente na medicao da capacidade que os valores dos atributos seleccionados
tem para discriminar as classes. Medidas provenientes (ou inspiradas) da area da teoria
de informacao pode ser utilizadas para este fim.
6Neste problemas e comum representar cada texto com um vector com as frequencias de cada palavra
de determinado Corpus nesse mesmo texto. Isto e, podem existir dezenas de milhares de atributos.7O leitor pode encontrar uma descricao de varios metodos de procura em [RN03].
2.6 O Problema da Classificacao 41
2.5.5 Discretizacao
O numero de valores distintos que um atributo apresenta (no conjunto de dados) pode
ter uma influencia significativa no desempenho de alguns algoritmos. Dougherty, Kohavi
e Sahami [DKS95] comparam empiricamente varios metodos de discretizacao, concluindo
que a discretizacao previa dos conjuntos de dados melhora em geral o desempenho dos
algoritmos conhecidos por serem afectados por este problema (por exemplo, o Naıve Bayes
– ver Seccao 2.7.5) mas tambem outros algoritmos cujas estrategias de aprendizagem sao
menos sensıveis ao mesmo (por exemplo, as arvores de decisao) 8.
Os metodos de discretizacao dividem-se em supervisionados e nao supervisionados, con-
forme o agrupamento dos valores e feito tendo ou nao em consideracao os valores respec-
tivos do atributo classe.
Os metodos nao supervisionados mais simples agrupam os valores em intervalos com
amplitude (equal width binning) fixa, ou com frequencia (numero de valores) fixa (equal
frequency binning). Um exemplo bastante mais complexo e bastante conhecido e o
algoritmo de agrupamento das k-medias.
No caso dos metodos supervisionados pretende-se que o agrupamento de valores nao
esconda as relacoes existentes entre os atributos e a classe. O caracter discriminante
dos atributos deve ser mantido (na medida do possıvel), isto e, se dois valores tem casos
associados que pertencem a classes diferentes entao nao devem ser colocados no mesmo
agrupamento (intervalo). Existem bastantes metodos exploram esta ideia sendo o metodo
de Fayyad e Irani um exemplo bastante conhecido [FI93]
A descricao dos metodos de pre-processamento que fizemos nas seccoes anteriores em-
bora nao seja exaustiva, e no entanto suficiente para apresentar o contexto do trabalho
apresentado.
2.6 O Problema da Classificacao
Num problema de classificacao, o objectivo e fazer a associacao entre os valores de um
conjunto de atributos e um determinado valor nominal. Considerando X como o vector
8As arvore de decisao utilizam testes nos atributos numericos que especificam dicotomias de valores
(em geral gamas de valores numericos) e portanto realizam uma forma de agrupamento de valores (uma
“discretizacao” local).
42Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
dos atributos (X = x1 · · ·xn) o classificador e uma funcao f que tem como contradomınio
um conjunto de valores (nominais) {c1, · · · , cn} denominados por classes. O objectivo
da aprendizagem (supervisionada) de classificadores e procurar a funcao que melhor
representa o “conceito” representado num conjunto de casos (conjunto de treino). Os
casos de treino tem os valores dos atributos e tambem o valor da classe.
O atributo classe, ou simplesmente classe, e por vezes designado por atributo dependente
ou atributo alvo. Os atributos sao referidos as vezes como atributos independentes, ou
preditivos.
2.7 Algoritmos de Classificacao
Nesta Seccao vamos apresentar alguns algoritmos de classificacao destacando as suas van-
tagens e limitacoes. Apresentamos apenas os algoritmos que foram utilizados no estudo
experimental descrito no Capıtulo 4. Os algoritmos apresentados utilizam aprendizagem
supervisionada pois utiliza a informacao conhecida sobre as classes a que pertencem os
casos. Vamos pois apresentar os seguintes algoritmos de classificacao: k vizinhos mais
proximos, arvores de decisao, conjuntos de regras de decisao, redes neuronais artificiais,
naıve bayes e regressao logıstica.
2.7.1 k Vizinhos Mais Proximos
O algoritmo de classificacao dos k vizinhos mais proximos, ou simplesmente kNN, insere-
se no ambito da aprendizagem baseada em casos (instance based learning) [AKA91]. Este
algoritmo baseia-se no princıpio que casos semelhantes deverao em principio ter a mesma
classe. Este principio de continuidade e de certa forma comum a todos algoritmos, no
entanto este algoritmo utiliza o conceito de semelhanca de forma directa para determinar
a classe. A semelhanca e aferida atraves de uma funcao de distancia que e aplicada a
pares de casos. Podem-se definir varias funcoes de distancia 9. Sao exemplos de distancias
bastante utilizadas a distancia euclideana definida pela expressao
√∑
(ai − bi)2
9O conhecimento da area pode indicar as distancias mais adequadas.
2.7 Algoritmos de Classificacao 43
e a distancia de Manhatan definida pela expressao
∑
| ai − bi |
em que ai e bi representam os valores do atributo i nos casos a e b respectivamente .
Para prever qual a classe de um determinado caso c o algoritmo determina os k casos que
distam menos deste. Os casos identificados chamam-se os (k) vizinhos mais proximos de
c, digamos v1, · · · , vk. A classe prevista para caso c e aquela que ocorre maioritariamente
nos seus vizinhos. As seguintes expressoes exprimem como se determina a classe de c:
yc = arg maxcl∈Classes
‖ {vi : yvi= cl} ‖ (2.1)
Este algoritmo na fase de treino nao constroi nenhum modelo de classificacao ajustado
aos dados. O treino neste tipo de algoritmos consiste no armazenamento dos casos de
treino. Por isso sao denominamos por algoritmos baseados em memorizacao (memory
based methods), ou por aprendizagem baseada em casos (Instance based Learning), ou
ainda por lazy learning. A computacao mais intensiva ocorre na fase de classificacao, onde
e necessario calcular distancias entre casos e procurar os vizinhos do caso a classificar.
Este algoritmo e bastante sensıvel a presenca de atributos irrelevantes, pois estes podem
aumentar artificialmente a distancia entre os casos. Por isso e comum aplicar um metodo
de seleccao de atributos antes da utilizacao deste algoritmo. Alternativamente podem ser
atribuıdos pesos aos atributos [Aha98], dando um peso maior a atributos mais relevantes
e pesos menores a atributos menos relevantes, alterando a forma como se calculam as
distancias 10.
O algoritmo e bastante sensıvel a forma como estao espalhadas os casos de treino. Se por
exemplo pretendemos classificar um novo caso que se encontre numa area do espaco com
pouca densidade de casos de treino, os seus vizinhos sao casos muito distantes e por isso
so por acaso terao a mesma classe.
2.7.2 Arvores de Decisao
As arvores de decisao sao um tipo de modelo em que um conjunto de testes sao organizados
numa estrutura do tipo arvore (grafo conexo acıclico). Sao modelos preditivos e podem
10Por exemplo a distancia euclideana considerando pesos dos atributos ficaria√∑
(wiai − wibi)2 em
que wi e o peso do atributo com o ındice i.
44Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
ser utilizados tanto para classificacao como para regressao. Nesse segundo caso e habitual
usar o termo arvore de regressao para descrever o tipo de modelo.
A Figura 2.2 mostra um exemplo de arvore de decisao. Para decidir sobre um novo caso
e necessario executar uma sequencia de testes (representados por elipses) comecando na
raiz da arvore ate chegar a uma determinada folha (representadas por rectangulos) onde
se encontra a decisao pretendida (a classe no caso da classificacao). O caminho percorrido
e determinado pelos valores dos testes executados. No exemplo apresentado se o valor
do teste1 for val2 entao a execucao segue para o teste2 (ramo esquerdo). Este processo
continua, escolhendo-se os ramos correspondentes aos valores de cada teste, parando
quando se chega a uma folha da arvore.
folha5 folha6 folha7 folha8 folha9 folha10
teste1
teste2
val2
teste3
val3
teste4
val4
val5 val6 val7 val8 val9 val10
Figura 2.2: Arvore de Decisao
Normalmente o valor da previsao de um caso (a classe para os problemas de classificacao
ou o valor numerico nos problemas de regressao), esta contido na folha obtida no fim da
sequencia de testes efectuados por esse caso. No entanto, existem arvores de decisao que
incluem nas folhas outros modelos preditivos (por exemplo o naıve bayes [Koh96]) em vez
de um valor (classe ou numero).
Quanto ao numero de atributos utilizados nos testes as arvores classificam-se em uni-
variadas se cada teste utilizado fizer referencia a apenas um atributo ou multi-variadas
no caso de referir mais atributos. As arvores multi-variadas tem a vantagem de poder
explorar as correlacoes entre os atributos preditivos (por exemplo o conceito de classi-
ficacao x > y e facil de exprimir em arvores multi-variadas e muito difıcil em arvores
uni-variadas). O C4.5 [Qui93a] e um exemplo de uma arvore uni-variada. O algoritmo
CART [BFOS84] e o LTree [Gam97] sao exemplos de arvores de decisao multi-variadas.
O algoritmo mais habitual para construcao das arvores de decisao utiliza uma estrategia
denominada por recursive partioning. A Figura 2.3 apresenta um esquema deste algo-
ritmo duma forma muito generica. O conjunto de treino e dividido de acordo com os
2.7 Algoritmos de Classificacao 45
resultados de determinado teste, obtendo-se uma particao do conjunto de exemplos. O
teste e escolhido de forma a maximizar a homogeneidade dos casos em relacao a variavel
objectivo. No caso da classificacao pretende-se um teste que maximize a pureza de cada
particao, isto e pretende-se que os exemplos de cada particao sejam quase todos da mesma
classe (numa particao pura os casos sao todos da mesma classe). No caso da regressao
a homogeneidade pode ser medida utilizando a variancia da variavel objectivo nos casos
pertencentes a cada particao.
As arvores de decisao possuem as seguintes vantagens: sao rapidas de construir; sao
robustas a ruıdo; e habitualmente possuem mecanismos para lidar com valores omissos.
No entanto os processos de construcao das arvores sao bastantes instaveis, podendo
pequenas variacoes no conjunto de treino (por exemplo se se tirar ou acrescentar um
caso) motivar grandes alteracoes na arvore construıda [Bre96b].
Funcao ConstroiArvore(D)
// D e o conjunto de dados de treino
// representamos as arvores utilizando a seguinte notac~ao:
// [< teste >,[< sub arvore1 >, · · ·,< sub arvoreN >]]
inıcio1
se D e “homogeneo” entao2
retorna ConstroiFolha(D)3
Teste ← MelhorParticao(D)4
Particiona(D,Teste,D1, · · · , DN)5
para cada i ∈ {1, · · · , N} faca6
Arvorei=ConstroiArvore(Di)7
Arvore ← [Teste, [Arvore1, · · · , ArvoreN ]]8
retorna Arvore9
fim10
Figura 2.3: Construcao de uma Arvore de Decisao (recursive partioning)
2.7.3 Conjuntos de Regras de Decisao
Os conjuntos de regras de decisao sao outro tipo de modelo utilizado para classificacao.
A principal vantagem deste tipo de classificadores consiste na facilidade de interpretacao
46Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
das regras geradas [Cat86]. Para alem disso, existem estudos que demonstram que os
conjuntos de regras de decisao atingem melhores desempenhos que as arvores de decisao
em alguns tipos de problemas [PH90, Qui87, WI91]. Uma das formas mais habituais de
regras de decisao, bastante simples de interpretar, sao as do tipo:
Se <Proposicao> entao <Classe>
Cada regra e constituıda por uma parte esquerda, que inclui as condicoes (a proposicao)
que um caso deve respeitar para que esta seja aplicada, e uma parte direita, que inclui a
classe que e atribuıda aos casos que respeitem as condicoes [Mit97].
As proposicoes sao expressoes que envolvem operadores logicos (por exemplo, a negacao,
a conjuncao e a disjuncao), operadores relacionais (por exemplo, a igualdade, a relacao
menor e a relacao maior), atributos e constantes.
Um exemplo de regra e “Se Humidade=normal e Ceu=limpo entao joga tenis”, em que
os atributos sao “Humidade” e “Ceu” 11. Diz-se que uma regra e aplicavel a um deter-
minado caso se a proposicao (lado esquerdo da regra) se verificar nesse caso.
Os conjuntos de regras podem ser ou nao ordenados 12. No caso das regras ordenadas
considera-se que a primeira regra aplicavel ao caso considerado e utilizada para o clas-
sificar. No caso das regras nao ordenadas pode ocorrer a situacao de mais do que uma
regra seja aplicada ao caso a classificar. Se estivermos na presenca de regras com classes
diferentes qual a regra a utilizar? Uma das solucoes para este problema consiste na
utilizacao da regra aplicavel com maior suporte (isto e, que se aplica a um maior numero
de casos de treino), isto e, das regras aplicaveis ao caso utilizar-se-a aquela que mais vezes
se aplica aos casos de treino.
Um metodo muito utilizado na construcao de regras de decisao designa-se por algoritmo
de cobertura sequencial [Mit97]. A ideia base consiste em aprender uma regra, retirar
do conjunto de dados os casos cobertos por essa regra e repetir o processo aprendendo
uma nova regra com os dados restantes. A Figura 2.4 apresenta uma descricao deste
algoritmo.
Este algoritmo utiliza uma abordagem de procura gananciosa (greedy search) que e, como
sabemos, uma procura rapida mas que nao garante o melhor conjunto de regras. A
funcao utilizada para aprender a melhor regra deve procurar a regra com a maior taxa de
11Exemplo apresentado no livro Machine Learning de Tom Mitchel [Mit97].12Utiliza-se o termo lista de decisao no caso das regras serem ordenadas.
2.7 Algoritmos de Classificacao 47
Funcao CoberturaSequencial(Atributo alvo, Atributos, Exemplos, Limiar)
inıcio1
Conjunto regras ← {}2
Regra ← Aprende a melhor regra(Atributo alvo, Atributos, Exemplos)3
enquanto Desempenho(Regra,Exemplos) > limiar faca4
Conjunto regras ← Conjunto regras + Regra5
Exemplos ← Exemplos - Exemplos classificados correctamente pela Regra6
Regra ← Aprende a melhor regra(Atributo alvo, Atributos, Exemplos)7
fim8
Conjunto regras ← ordena Conjunto regras segundo o desempenho de cada nos9
exemplos
retorna Conjunto regras10
fim11
Figura 2.4: Algoritmo de Cobertura Sequencial [Mit97]
acertos (pureza) e com o maximo de cobertura (aplicavel ao maior numero de exemplos).
E muito utilizada a abordagem de procura que explora o espaco comecando nas regras
mais gerais (com poucas condicoes) e depois seguindo para regras progressivamente mais
especıficas (com mais condicoes). A especializacao de uma regra consiste normalmente
na introducao de uma nova condicao. Para evitar o risco duma abordagem utilizando a
procura gananciosa e comum empregar procuras mais complexas. Por exemplo, e utilizada
a procura em feixe (beam search) para obter a melhor regra nos algoritmos de construcao
de regras CN2 [CN89] e AQ [MMHL86].
Um das principais desvantagens dos algoritmos de construcao de regras consiste na sua
ineficiencia computacional quando se usa conjuntos de dados de grande dimensao [Coh93].
O tempo de computacao cresce de forma mais acentuada do que o respectivo aumento
na dimensao dos conjuntos utilizados. Uma abordagem utilizada para ultrapassar esta
limitacao utiliza arvores de decisao, que sao eficientemente construıdas, para construir
um conjunto de regras.
Por exemplo, o algoritmo C4.5rules comeca por construir uma arvore de decisao completa
sem simplificacao (sem pruning) e depois extrai da arvore obtida um conjunto de regras,
uma para cada folha, formadas pelas condicoes que se encontram no caminho da raız ate
a folha respectiva. Uma vez que o modelo e construıdo sem simplificacao existe uma forte
48Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
possibilidade de estar sobre-ajustado (overfitting) aos dados de treino, isto e, o modelo
tem bom desempenho no conjunto de treino mas fraco desempenho em novos casos. Para
ultrapassar isto o conjunto de regras e depois simplificado (generalizando-o), removendo
condicoes das regras ou mesmo regras completas de modo a diminuir o erro. O algoritmo
RIPPER [Coh95] compete bem com o C4.5rules, e eficaz do ponto de vista computacional
e utiliza um processo de simplificacao do conjunto de regras para reduzir o erro.
2.7.4 Redes Neuronais Artificiais
As redes neuronais artificiais 13 [Bis96], assim chamadas pois sao inspiradas no modelo
modelo biologico dos neuronios no cerebro, sao constituıdas por unidades neuronais
(neuronios ou nodos da rede) interligadas. No contexto da aprendizagem supervisionada
para a previsao, as redes neuronais em multi-camadas sao uma das topologias mais
habituais. A Figura 2.5 ilustra uma rede neuronal do tipo multi-camada.
Figura 2.5: Exemplo de uma Rede Neuronal Multi-Camada
Para se obter as previsoes pretendidas (na camada de saıda), os valores dos atributos
introduzidos na camada de entrada sao propagados para a camada intermedia atraves
das ligacoes existentes. As ligacoes tem pesos associados que controlam os nıveis de
activacao dos neuronios que interligam. Cada neuronio tem uma saıda e um conjunto
de entradas onde sao introduzidos os sinais provenientes de outros neuronios (da camada
anterior) ou de pontos da camada de entrada. O valor da saıda de cada neuronio da
camada interior e obtido em duas fases. Na primeira fase calcula-se a soma ponderada
13A partir deste ponto usaremos simplesmente a expressao redes neuronais para nos referirmos as
artificiais.
2.7 Algoritmos de Classificacao 49
dos valores provenientes dos neuronios (ou pontos de entrada) pelos pesos das ligacoes
respectivas. Na fase final a soma ponderada e transformada por uma funcao denominada
funcao de activacao que reescala o valor da soma ponderada para um intervalo de pequena
amplitude. Se um determinado neuronio da camada interior tiver como entradas os valores
xi propagados pelas ligacoes com pesos wi entao o valor de saıda (v) do neuronio e dado
pela expressao:
v = σ(∑
wixi) em que σ e a funcao de activacao (2.2)
E comum utilizar as funcoes sigmoide ( 11+e−x ) ou tangente hiperbolica ( e2x
−1e2x+1
) como funcoes
de activacao. No caso dos neuronios da camada de saıda a funcao de activacao pode nao
ser utilizada. Por exemplo, no caso da rede neuronal estar a ser aplicada a regressao pode
nao fazer sentido utilizar funcoes de activacao na camada de saıda pois estas limitam a
gama de valores.
Do ponto de vista matematico uma rede neuronal e uma funcao que associa um conjunto
de atributos (entradas - vector xi) numericos a um conjunto de atributos alvo (saıdas -
vector yj) tambem numericos. Esta funcao (F ) tem um conjunto de parametros que sao
ajustados (wk), na fase de treino da rede neuronal, de forma a minimizar o erro observado
entre os valores nas saıdas (yj = Fwk(xi)) e os verdadeiros valores dos atributos alvo (yj).
O problema da aprendizagem reduz-se a determinacao do vector de pesos que minimizam
a funcao do erro:
E(< wk >) =1
2
∑
d∈D
∑
j∈Saidas
(yj,d − yj,d)2 (2.3)
A expressao yj,d representa o valor da variavel objectivo j no caso d, e a expressao yj,d
representa o valor na saıda j da rede neuronal quando se propaga o caso d. O algoritmo
utilizado para minimizar o erro e conhecido por backpropagation [RHW86] e emprega o
metodo de descida pelo gradiente. Este algoritmo nao pode assegurar que encontrou o
mınimo global da funcao de erro e pode convergir para mınimos locais.
A capacidade de ajustamento das redes neuronais multi-camada depende no numero
de neuronios nas camadas internas (e portanto do numero de ligacoes). Redes mais
complexas possibilitam a representacao de funcoes mais complexas. O fenomeno de
sobre-ajustamento (overfitting) da rede pode ocorrer quando se utilizam redes demasiado
complexas em relacao ao conceito subjacente no conjunto de treino. Para alem disso
50Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
demasiado ajustamento dos pesos da rede de forma diminuir o erro no conjunto treino
pode motivar o aumento do erro que a rede comete em exemplos nao apresentados para
treino. E comum utilizar um conjunto de validacao (uma parcela do conjunto de treino)
para medir o erro de forma a controlar o nıvel de ajustamento mais adequado para
assegurar uma generalizacao mais eficaz da rede.
As redes neuronais utilizam valores numericos pelo que atributos nominais tem que ser
convertidos em numericos. Uma operacao bastante utilizada e a binarizacao dos valores
dos atributos nominais. Se por exemplo o atributo nominal x tem n valores possıveis,
digamos v1, · · · , vn, entao sao criados n − 1 atributos numericos, a1, · · · , an−1. O valor
de cada ai sera 1 se x = vi e 0 no caso contrario. A situacao em que todos ai sao iguais a
0 representa o valor x = vn. Para aplicar as redes a problemas de classificacao com mais
do que 2 classes podemos aplicar o processo de binarizacao ao atributo objectivo.
As redes neuronais sao poderosas em domınios cujas fronteiras de decisao sejam bastantes
complexas e sobretudo quando os atributos alvo podem ser obtidos numericamente a custa
dos valores dos atributos preditivos. No entanto, o processo de aprendizagem das redes
neuronais e bastante lento, e as redes obtidas sao de difıcil interpretacao.
2.7.5 Naıve Bayes
O Naıve Bayes e um algoritmo que estima a probabilidade de cada classe em funcao
dos valores dos atributos [Mit97]. A classe prevista e aquela em que e maior a sua
probabilidade condicionada aos valores observados nos atributos. Dito de outra forma
pretende-se saber para cada classe cl a probabilidade P (cl | x1, · · · , xm). Neste algoritmo
assume-se que os atributos sao condicionalmente independentes em relacao a classe, isto e,
p(xi | cl, xj) = p(xi | cl). Isto significa que pelo teorema de Bayes o valor da probabilidade
da classe cl em funcao dos atributos conhecidos e dado pela seguinte expressao:
P (cl | x1, · · · , xm) = αP (cl)
m∏
i=1
P (xi | cl) em que α =1
P (x1, · · · , xm)(2.4)
Visto que α nao depende do valor de cl a classe prevista pelo algoritmo e dada pela
seguinte expressao:
classe = arg maxcl
P (cl)
m∏
i=1
P (xi | cl) (2.5)
2.7 Algoritmos de Classificacao 51
A determinacao da classe e possıvel se se souber as probabilidades P (cl) e P (xi | cl)
(∀cl ∈ classes, ∀i ∈ {1, · · · , m}). Estas probabilidades sao aproximadas pelas frequencias
observadas no conjunto de treino. No entanto a frequencia de um valor de um atributo
pode ser zero quando consideramos uma determinada classe. Por exemplo, imagine que
o atributo X1 toma o valor 1 e que no conjunto de treino nenhum caso com classe cl
tem o valor 1 no atributo X1. Neste caso P (X1 = 1 | classe = cl) = 0 o que faria que
P (cl | · · · ) fosse 0 mesmo que todos os outros factores apontassem para esta classe. Para
evitar este facto e comum utilizar a chamada regra de Laplace ficando a probabilidade
P (xi | cl) definida da seguinte forma:
P (xi | cl) =Freq(Xi = xi ∧ classe = cl) + 1
Freq(classe = cl) + 2(2.6)
Este problema das probabilidades nulas ocorrera muitas vezes se o atributo em consi-
deracao for contınuo. No caso de um determinado atributo ter muitos valores possıveis as
respectivas probabilidades condicionadas vao ser muito proximas de 0. Para evitar este
problema e comum utilizar um procedimento de discretizacao (descrito na Seccao 2.5.5)
que reduza o numero de valores.
Embora este algoritmo se baseie em assuncoes muito fortes e surpreendentemente eficaz
mesmo quando estas nao se verificam [DP96].
2.7.6 Regressao Logıstica
Inserindo-se na area dos modelos lineares generalizados a regressao logıstica e uma tecnica
que pode ser aplicada a problemas de classificacao. Neste caso, a variavel objectivo
ou dependente Y e discreta. A regressao logıstica permite-nos estimar a probabilidade
P (Y |X), em que X =< X1, · · · , Xn > e o vector das variaveis independentes (podendo
ser contınuas). E assumida uma forma parametrica para a distribuicao de P (Y |X). Os
parametros sao estimados utilizando os dados de treino.
Consideremos primeiro o caso em que a variavel Y e booleana. Neste caso Y assume os
valores 1 ou 0 e a forma parametrica assumida pela regressao logıstica e a seguinte:
P (Y = 1|X) =1
1 + exp(w0 +∑n
i=1 wiXi)(2.7)
Pelo facto de existirem neste caso apenas dois valores para Y sabemos que
52Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
P (Y = 1|X) + P (Y = 0|X) = 1
pelo que P (Y = 0|X) e definido pela seguinte equacao:
P (Y = 0|X) =exp(w0 +
∑n
i=1 wiXi)
1 + exp(w0 +∑n
i=1 wiXi)(2.8)
Para classificar um determinado caso, descrito pelo vector de X, e necessario determinar
o valor de Y , que maximiza a probabilidade P (Y |X). No caso geral de Y poder tomar
os valores y1, · · · , yK a classe prevista y e dada por
y = arg maxyj
P (Y = yj|X) (2.9)
No caso de Y ser booleano a regra de decisao para classificar um determinado caso assume
uma expressao linear.
Y =
{
0 se w0 +∑n
i=1 wiXi > 0
1 no caso contrario(2.10)
No caso mais geral, em que Y pode tomar os valores y1, · · · , yK a expressao parametrica
para P (Y = yk|X) e a seguinte:
P (Y = yk|X) =
exp(wk0+Pn
i=1wkiXi)
1+PK−1
j=1exp(wj0+
Pni=1
wjiXi)se k 6= K
1
1+PK−1
j=1exp(wj0+
Pni=1
wjiXi)se k = K
(2.11)
O parametro wji representa o peso relacionado com a classe yj e com a variavel Xi. O
numero de parametros e igual a (K − 1)× (n + 1).
Os valores dos parametros W =< w0, · · · , w(K−1)×(n+1) > sao estimados pelo metodo da
maxima verosimilhanca. O objectivo e maximizar a seguinte funcao de verosimilhanca:
L =∏
l
P (Y l|X l, W ) (2.12)
2.8 Avaliacao de Algoritmos de Classificacao 53
em que Y l representa a classe do caso com ındice l e X l o valor do vector de atributos X
observado no mesmo caso.
Para determinar os valores dos parametros que maximizam L podemos empregar o
metodo de optimizacao de subida pelo gradiente.
A regressao logıstica e uma tecnica da area da estatıstica que e bastante utilizada nos
problemas de classificacao. No entanto, o processo de determinacao dos parametros tem
custos computacionais em termos de tempo bastante elevados.
Nas ultimas seccoes descrevemos um conjunto de algoritmos. A lista de algoritmos
nao e exaustiva. Alguns algoritmos muito utilizados nao sao descritos (por exemplo,
as maquinas de vectores de suporte). O objectivo era descrever apenas os algoritmos que
utilizamos no estudo experimental descrito no Capıtulo 4. Dois algoritmos nao seriam
suficientes para testar o metodo que desenvolvemos para decidir qual o melhor algoritmo
de entre um par de algoritmos. Com seis algoritmos no estudo temos um total de 15
pares de algoritmos o que e mais significativo para testar o nosso metodo (com 7 seriam
21 pares).
2.8 Avaliacao de Algoritmos de Classificacao
Nesta Seccao apresentamos os metodos mais utilizados para avaliar algoritmos de clas-
sificacao. Focamos a atencao nos metodos que permitem determinar qual o melhor
algoritmo, em termos de taxa de acertos, para um conjunto de dados especıfico. No
contexto da previsao um algoritmo e melhor que outro se fornecer previsoes mais correctas
para novos casos. A estimativa da probabilidade de acerto do modelo em novos casos e
o objectivo dos metodos de avaliacao descritos nas proximas seccoes.
2.8.1 Metodo do Treino–Teste (Holdout Sample Evaluation)
Neste tipo de avaliacao divide-se o conjunto de dados disponıvel em dois subconjuntos
(disjuntos): o subconjunto de treino e o subconjunto de teste. O conjunto de treino e
utilizado pelo algoritmo de classificacao para construir o modelo respectivo. Os casos
pertencentes ao conjunto de teste sao classificados pelo modelo ja obtido e as classes
previstas sao comparadas com as classes reais. E assim obtida uma estimativa nao
enviesada da probabilidade de acerto do modelo em novos casos.
54Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
A proporcao de casos em cada subconjunto vai determinar a qualidade a estimativa. Se
se usar uma grande parte para teste entao o algoritmo tera muito menos casos para treino
e consequentemente os modelos terao menos qualidade e as estimativas serao um pouco
“pessimistas” quanto ao desempenho do algoritmo na totalidade do conjunto. Se pelo
contrario for usado uma parte reduzida para teste entao a estimativa podera nao ser
fiavel. Se o teste for repetido, observar-se-a uma variancia bastante elevada.
Utiliza-se este tipo de avaliacao quando e possıvel reservar pelo menos 1000 casos para o
conjunto de teste, sendo comum uma divisao do conjunto de dados segundo a proporcao
de 20% a 30% para o conjunto de teste.
A taxa de erro verdadeira (true error) representa a probabilidade de erro do modelo em
casos gerados (mesma distribuicao conjunta) pelo mesmo processo que gerou os casos de
teste (e treino). A seguinte expressao permite calcular o intervalo de confianca de 95%
para a taxa de erro verdadeiro:
Erroteste ± 1.96
√
Erroteste(1−Erroteste)
n(2.13)
em que n e o numero de casos contidos no conjunto de teste.
2.8.2 Metodo de Validacao Cruzada
O metodo de validacao cruzada (VC) e bastante utilizado sobretudo quando o conjunto de
dados nao e suficientemente grande para utilizar o metodo de Treino–Teste. Neste metodo
comeca-se por dividir o conjunto de dados em m subconjuntos com tamanhos iguais (ou
sensivelmente iguais pois o numero de casos pode nao ser divisıvel por m). Os casos de
cada subconjunto sao classificados utilizando o modelo construıdo pelo algoritmo quando
treinado nos outros (m− 1) subconjuntos. Assim a taxa de acertos pode ser estimada de
forma eficiente e sem enviesamento, visto que o modelo que classifica cada caso nao teve
conhecimento sobre a classe conhecida para esse caso.
Um caso particular de validacao cruzada e o metodo denominado por “deixa-um-fora”,
em que o numero de subconjuntos e igual ao numero de casos do conjunto de dados, isto
e, cada subconjunto tem apenas um elemento. Este metodo e aplicado a conjuntos de
dados com um numero de casos relativamente reduzido.
2.8 Avaliacao de Algoritmos de Classificacao 55
Para efeitos de comparacao de 2 algoritmos e comum aplicar o metodo VC treinando e
testando os algoritmos nos mesmos subconjuntos. No fim obtem-se uma medicao do taxa
de erro para cada subconjunto (existem m subconjuntos) e algoritmo. Representemos
por ei,a a taxa de erro cometida pelo modelo construıdo pelo algoritmo a e testado no
subconjunto i. Para decidir o melhor algoritmo e necessario garantir que os diferencas
nos erros sao estatisticamente significativas para rejeitar a hipotese de serem devidas as
variacoes inerentes ao processo de amostragem. O teste t de Student emparelhado [Mur90]
pode ser utilizado para este fim. O intervalo de confianca de 95% 14 para a diferenca de
erros observadas Yi = erroi,1 − erroi,2 e dada pela seguinte expressao:
erro = Y ± t95%,m−1sY (2.14)
em que T e a media dos Ti, t95%,m−1 pode ser obtido numa Tabela da distribuicao t e
sY e estimado pela seguinte expressao:
√√√√
1
m(m− 1)
m∑
i=1
(Yi − Y )2 (2.15)
2.8.3 Metodo do Bootstraping
O metodo VC, sobretudo no caso do conjunto de dados ser relativamente pequeno, tem a
desvantagem de obter estimativas do erro com variancia alta. Uma forma de ultrapassar
este problema e utilizando o metodo de avaliacao Bootstraping [Efr83, ET93, Koh95],
visto que este gera estimativas com menor variancia.
Este metodo extrai do conjunto de dados b coleccoes de amostras com reposicao com o
mesmo tamanho do conjunto de dados. Chamamos coleccoes pois podem conter elementos
(casos) repetidos. Na realidade o numero esperado de casos diferentes nessa coleccao e
aproximadamente igual a 0.632×n. O algoritmo e treinado em cada uma dessas coleccoes
de casos e depois e testado no conjunto de dados completo. No fim podemos utilizar as
b estimativas do erro para obter uma estimativa mais precisa, calculando o valor medio
das estimativas, e tambem medir a variancia do propria estimativa final do erro.
14As expressoes para o intervalo de confianca considerando outro nıvel de confianca sao obtidas por
substituicao directa do valor.
56Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
Uma vez que testamos o modelo obtido pelo algoritmo em casos que ja foram utilizados
para treino, e de esperar que cada uma das b estimativas do erro sejam “optimistas”.
Para diminuir este enviesamento e comum utilizar uma variante do metodo denominada
.632 bootstraping que emprega a seguinte formula para obter uma estimativa final do erro:
erroboot =1
b
b∑
i=1
(0.632 · ǫ0i + 0.368 · ǫs) (2.16)
O sımbolo ǫ0i representa a taxa de erro obtida quando se testou o modelo construıdo
pelo algoritmo treinado na i-esima coleccao, nos casos do conjunto de dados que nao
pertencem a essa coleccao (os elementos “desconhecidos” do algoritmo). O sımbolo ǫs
representa a taxa de erro obtida quando se testou o modelo construıdo pelo algoritmo
treinado na i-esima coleccao, em todos os casos do conjunto de dados.
Existem outras medidas e metodos que poderiam ser abordados (por exemplo, n re-
peticoes do metodo Treino–Teste). O nosso objectivo nao e apresentar todas os metodos
de avaliacao mas apenas os mais comuns. Dietterich apresenta uma discussao pormeno-
rizada sobre os testes estatısticos utilizados em varios metodos de avaliacao [Die98].
Na parte experimental, apresentada no Capıtulo 4, e utilizado o metodo deixa-um-fora
que e um caso particular de validacao cruzada.
2.9 Seleccao de Algoritmos
Esta Seccao aborda o problema da seleccao de algoritmos de classificacao bem como o
que foi feito nesta area. Este problema tem como principal motivacao a existencia de
um grande numero de algoritmos disponıvel pelo que e impraticavel executar todos os
algoritmos (ou um grande numero deles) e avalia-los usando por exemplo o metodo VC
anteriormente descrito. Para alem disso nao existe nenhum algoritmo que seja superior
a todos os outros em todos os problemas de classificacao.
Do ponto de vista do utilizador o problema consiste em saber qual o algoritmo a utilizar
para o seu novo problema de classificacao representado por um determinado conjunto de
dados. O utilizador nao quer avaliar todos os N algoritmos de classificacao a considerar
no novo conjunto de dados. O que se pretende e um metodo que, com elevado grau de
acerto, escolha o(s) melhor(es) algoritmo(s).
2.9 Seleccao de Algoritmos 57
Consideramos que o melhor algoritmo e aquele que consegue obter modelos de classificacao
que atingem a maior taxa de acertos possıvel. Supoe-se que o utilizador pretende utilizar
o algoritmo para prever a classe de novos casos. Assim, o classificador devera ser avaliado
de forma a estimar sem enviesamento a probabilidade de classificar bem um novo caso.
Segundo este objectivo, e considerando que estao em consideracao N algoritmos, o
problema pode ser formulado de varias formas.
2.9.1 Varias Formulacoes do Problema da Seleccao de Algorit-
mos
2.9.1.1 Identificacao do Melhor Algoritmo
Esta e uma traducao directa do que o utilizador pretende, ou seja, o utilizador pretende
identificar o melhor algoritmo. No entanto, esta formulacao considera implicitamente que
apenas sera executado o algoritmo escolhido. Uma vez que o metodo nao executara a
totalidade dos algoritmos, nao existe uma forma de garantir que o algoritmo escolhido
seja efectivamente o melhor. Existe o risco de nao escolher o melhor algoritmo.
2.9.1.2 Identificacao do Melhor de dois Algoritmos
Esta formulacao e uma restricao da anterior ao caso em que existem apenas dois algo-
ritmos [PBGC00, LB05]. Embora pareca uma grande limitacao, e perfeitamente possıvel
estabelecer qual o melhor algoritmo de entre um grupo de N algoritmos utilizando varias
decisoes “binarias” do tipo “algoritmo A e melhor que o algoritmo B?” (no conjunto
considerado). Existem algoritmos que sao mais adequados para problemas de classificacao
que envolvam 2 classes (por exemplo, as redes neuronais). No entanto, existem processos
de transformar um problema de N classes em varios problemas binarios [DB95]. E tambem
possıvel estender os metodos utilizados para resolver este problema mais simples (melhor
de 2 algoritmos) para resolver problemas com formulacoes mais complexas, como por
exemplo, a ordenacao de algoritmos.
58Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
2.9.1.3 Identificacao do Grupo dos Melhores Algoritmos
Esta formulacao resolve de certa forma as limitacoes identificadas na escolha do melhor
algoritmo. Neste caso, o problema e indicar um subconjunto com varios algoritmos onde
se preve que esteja o melhor algoritmo. O objectivo consiste em identificar o melhor
algoritmo e todos os outros que sao de facto “equivalentes” no sentido de nao se prever
diferencas significativas nos respectivos desempenhos. O risco de nao ser escolhido o
melhor algoritmo e menor pois nao seleccionamos apenas um algoritmo. Supondo que
existem N algoritmos e que sao escolhidos M < N as hipoteses de acertar sao de M/N
em vez de 1/N como eram quando se escolhia apenas um algoritmo.
2.9.1.4 Estabelecer a Ordem dos Algoritmos (Ranking)
O objectivo e prever a ordem dos desempenhos dos algoritmos quando treinados no
conjunto de dados em causa. Existem metodos que permitem prever a ordem dos
algoritmos tendo como criterio de ordenacao tanto a taxa de acertos como o tempo de
aprendizagem (por exemplo [BSC03]).
Esta formulacao engloba parcialmente a anterior, visto que tendo estabelecido a ordem
dos algoritmos para determinar o grupo dos melhores resta saber em que posicao da
ordenacao M e que existe uma diferenca de desempenho entre os algoritmos da posicao
M e M + 1. No entanto o problema e bastante mais complexo que o anterior (em que se
pretende saber o grupo dos melhores) visto que o domınio de valores de previsao e maior
(ver Tabela 2.1). Esta formulacao apresenta uma vantagem suplementar se o utilizador
tiver algum tipo de “desempenho alvo” em consideracao. Como o metodo retorna a ordem
“provavel” dos algoritmos, o utilizador pode executa-los comecando no melhor e assim
sucessivamente. O utilizador executa o primeiro algoritmo (indicado como o melhor) e,
se ficar satisfeito com o desempenho, entao a escolha ja esta feita. Se pelo contrario, nao
ficar satisfeito com o desempenho, o utilizador assumira que a ordenacao prevista pelo
metodo nao e a mais correcta e que o segundo algoritmo podera ser o melhor, e executa
o segundo algoritmo. Este processo so resultara na execucao de todos os algoritmos se o
utilizador estiver convencido que o desempenho pretendido pode ser atingido pelos outros
algoritmos.
Um problema que se pode colocar neste tipo de formulacao surge quando algoritmos apa-
rentemente distintos tem desempenhos bastante semelhantes. Este facto pode acontecer
porque a medida que se incorpora mais algoritmos no sistema mais difıcil e reconhecer que
2.9 Seleccao de Algoritmos 59
alguns algoritmos podem ser no fundo variantes de outros que ja existam. A ordenacao
dos algoritmos coloca-los-a muito proximos na sequencia. Uma vez que a ordem que
se preve nao e garantidamente a correcta e mais seguro ter um representante de cada
subconjunto de algoritmos que se estabeleceu terem o mesmo perfil de desempenho. Isto
pode ser feito, por exemplo, atraves da identificacao dos algoritmos que em conjuntos de
dados semelhantes tenham tido desempenhos significativamente diferentes [BSP01].
2.9.1.5 Consideracoes Finais
A formulacao que escolhemos para o problema foi a apresentada em segundo lugar -
“Estabelecer o melhor de dois algoritmos”. Como anteriormente referido, os metodos
para resolver o problema, segundo esta formulacao, podem ser estendidos para resolver o
problema em formulacoes mais complexas. Existem trabalhos que indicam que a particao
de um problema de classificacao com N classes em varios problemas binarios, seguida dum
processo de combinacao dessas classificacoes, pode ter bons resultados. Esta e a ideia
subjacente a utilizacao de “codigos de correccao de erros” na reducao de problemas com
mais de 2 classes a varios problemas envolvendo apenas 2 classes [DB91].
Tabela 2.1: Numero de Valores (Classes) para cada Formulacao do Problema da Seleccao
de Algoritmos
Formulacao do problema Numero de valores
O melhor algoritmo N
O melhor de dois algoritmos 2
O grupo dos melhores algoritmos 2N
A ordem dos algoritmos N !
Na Seccao seguinte apresentamos como este problema, da seleccao de algoritmos de
classificacao, tem sido abordado por varios autores. Descreveremos as principais solucoes,
as suas vantagens e limitacoes, bem como qual o tipo de formulacao do problema em causa
em cada uma. Dividimos as varias solucoes de acordo com o tipo de abordagem utilizado.
60Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
2.9.2 Metodo de Decisao Baseado na Validacao Cruzada
O metodo mais directo para decidir qual o melhor algoritmo consiste na avaliacao de
todos os algoritmos disponıveis no conjunto de dados considerado. A validacao cruzada
(por exemplo a validacao cruzada em 10 partes - 10 fold cross validation) e um tipo
de avaliacao que pode ser utilizado para este fim [Sch93]. Este metodo embora seja
relativamente fiavel e no entanto bastante lento. E mesmo impraticavel se o numero de
algoritmos a testar for elevado ou se se pretender testar varias variacoes dos algoritmos,
por exemplo experimentando os algoritmos com diferentes valores dos parametros.
2.9.3 Metodos de Decisao Baseados em Regras que Codificam
o Conhecimento de Peritos
Este tipo de abordagem utiliza o conhecimento recolhido junto dos especialistas nos
algoritmos de classificacao. Os especialistas identificam certas heurısticas que determinam
as condicoes em que os algoritmos funcionam melhor (ou pior) [Bro93]. Sao exemplos
destas regras as heurısticas que decidem, no caso da aprendizagem de arvores de decisao,
se e necessario construir particoes nao ortogonais do espaco, isto e, se e preciso recorrer a
testes multi-variados (que envolvem mais do que uma variavel) ou se e suficiente utilizar
um teste uni-variado. Esta abordagem tem no entanto o inconveniente de usar regras
fixas. As regras codificam o conhecimento dos peritos que, por terem uma visao muito
especializada, em geral nao conhecem todos os algoritmos. Em consequencia disto, grande
parte dos esforcos dos investigadores foi orientada para a construcao automatica dessas
regras utilizando o conhecimento dado pela experiencia dos algoritmos quando treinados
em varios conjuntos de dados.
2.9.4 Metodos de Decisao Baseados em Meta-Aprendizagem
A abordagem utilizando meta-aprendizagem (Meta-Learning [GCVB04, BVGCS08]) pre-
tende resolver o problema da escolha dos algoritmos utilizando a experiencia anterior
dos mesmos noutros conjuntos de dados. A meta-aprendizagem no contexto da seleccao
(automatica) de algoritmos 15 pode ser definida da seguinte forma:
15O utilizador nao e obrigado a seguir o que o sistema decidiu, e desse ponto de vista qualquer decisao
acerca da seleccao de algoritmos pode ser considerada como uma recomendacao.
2.9 Seleccao de Algoritmos 61
Meta-aprendizagem e o processo de geracao de modelos que associam o de-
sempenho relativo dos algoritmos com caracterısticas extraıdas dos conjuntos
de dados.
Esta definicao e muito proxima da utilizada tanto no projecto StatLog [MST94] como
no projecto METAL 16 [Met02]. Assume-se que “os algoritmos deverao ter perfis de
desempenho semelhantes em conjuntos de dados semelhantes”. Para que se possa definir
a semelhanca entre os objectos, neste caso conjuntos de dados, e necessario identificar
algumas caracterısticas para os definir. Esta caracterizacao dos conjuntos de dados
determina as suas posicoes (coordenadas) no espaco (conjunto) constituıdo por todos os
conjuntos de dados possıveis. Se considerarmos que sao utilizados os atributos At1 · · ·Atm
para descrever os conjuntos, o conjunto D pode ser representado nesse espaco pelo vector
< at1, · · · , atm >, constituıdo pelos valores que os atributos tomam nesse conjunto D.
Fases da Meta-Aprendizagem
A meta-aprendizagem, no contexto da seleccao de algoritmos, compreende duas fases, a
fase de “recolha de conhecimento sobre o desempenho dos algoritmos em varios conjuntos
de dados” e a fase de “utilizacao desse conhecimento para decidir que algoritmos utilizar
num novo conjunto de dados”.
A fase de recolha de conhecimento consiste na caracterizacao dos conjuntos de dados e
na avaliacao do desempenho dos algoritmos nesses conjuntos de dados. A informacao
recolhida constitui o que se denomina por meta-dados. Esta designacao e utilizada pois
sao coleccionados, nao so as descricoes sobre esses conjuntos mas tambem a informacao
sobre os desempenhos dos algoritmos quando treinados nesses conjuntos. A caracterizacao
dos conjuntos constitui os atributos enquanto os desempenhos observados formam os
atributos dependentes (atributos objectivo). Os meta-dados definem implicitamente o
relacionamento entre a caracterizacao e o desempenho dos algoritmos. Esta relacao
implıcita e utilizada na proxima fase para decidir que algoritmos utilizar.
Na fase de utilizacao do conhecimento sao construıdos modelos que estabelecem a corres-
pondencia entre a caracterizacao e o desempenho dos algoritmos em novo dados. O novo
conjunto de dados precisa de ser caracterizado para que os modelos possam ser aplicados
e para que a previsao do subconjunto de algoritmos a seleccionar seja feita. Chamamos
meta-aprendizes aos metodos que constroem os modelos que relacionam a caracterizacao
e o desempenho dos algoritmos.
16O Projecto METAL pode ser visto como uma extensao do projecto Statlog.
62Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
2.9.4.1 Algoritmos Utilizados na Fase de Meta-Aprendizagem
Foram utilizados diversos algoritmos de aprendizagem para estabelecer a correspondencia
entre a caracterizacao dos conjuntos de dados e os desempenhos obtidos pelos algoritmos
base nesses conjuntos. Um dos algoritmos utilizados tanto no contexto da ordenacao
de algoritmos [BSC03] como na seleccao do melhor [LB05] e o kNN. Este algoritmo
requer que se defina a funcao de distancia entre os conjuntos de dados (ou problemas de
classificacao) e a funcao de combinacao que calcula o valor a prever (por exemplo a classe
que representa o melhor algoritmo ou a ordem dos algoritmos) em funcao da informacao
conhecida sobre os conjuntos vizinhos (mais proximos) do conjunto novo.
Foram tambem aplicados outro tipo de algoritmos tanto de regressao como de classi-
ficacao. Por exemplo num estudo que envolve a aprendizagem das condicoes que de-
terminam a aplicabilidade dos algoritmos, foram utilizadas regras de regressao [BGH94].
Noutro estudo sobre o mesmo problema (aplicabilidade) foram utilizadas modelos lineares
de regressao, model trees [Qui93b] e algoritmos envolvendo aprendizagem baseada em
casos [GB95a].
Outros [PBGC00] utilizaram no contexto da avaliacao da caracterizacao por landmarks
as versoes boost, rules e tree do algoritmo C5.0 [Qui98] e tambem o discriminante linear,
o 1NN (isto e, o kNN com k=1), o LTree [Gam97]o Naıve Bayes e o RIPPER [Coh95].
2.9.4.2 Caracterizacao Atraves de Atributos Extraıdos dos Dados
A maior parte dos trabalhos que aplicam meta-aprendizagem para recomendacao de
algoritmos baseia-se numa caracterizacao dos conjuntos de dados orientada pelos proprios
dados [Aha92, MST94, GB95b, BSC03, Soa04]. Nesta abordagem, a caracterizacao do
conjunto de dados faz-se por intermedio de atributos que caracterizam os proprios dados.
Os atributos caracterizam algumas propriedades dos dados que se poderao revelar uteis
na escolha dos melhores algoritmos. Embora este tipo de caracterısticas nao estejam
directamente relacionadas com os algoritmos em questao, representam propriedades dos
conjuntos de dados que podem servir para discriminar os algoritmos quanto ao seu
desempenho relativo. Por exemplo, a dimensao do conjunto de dados pode permitir
discriminar os algoritmos do tipo regressao logıstica (para classificacao) e as arvores de
decisao [PPS03].
2.9 Seleccao de Algoritmos 63
As caracterısticas podem ser divididas em tres categorias [Hen94]: as caracterısticas
simples, estatısticas e as baseadas em teoria de informacao [Sha48].
As caracterısticas simples de caracter geral incluem entre outras o numero de casos, o
numero de atributos, o numero de classes, o numero (ou proporcao) de atributos nominais,
o numero (ou proporcao) de atributos numericos, a taxa de acertos de referencia, o numero
(ou proporcao) total de valores omissos e o numero (ou proporcao) de casos com valores
omissos.
As caracterısticas de informacao estatıstica sao orientadas ao estudo dos atributos numericos
do conjunto de dados e incluem entre outras a obliquidade media (skewness), a curtose
media, a primeira correlacao canonica, entre outras.
As caracterısticas baseadas em teoria de informacao sao orientadas ao estudo dos atributos
nominais e as suas relacoes com o atributo classe do conjunto de dados. Incluem entre
outras a entropia das classes, a entropia media dos atributos o racio ruido-sinal e a
informacao mutua entre atributos e classe.
Nao e garantido que qualquer uma das medidas apresentadas seja util na tarefa na tarefa
de meta-aprendizagem para recomendacao de “bons” algoritmos. Foram feitos varios
estudos no sentido da seleccao e avaliacao das medidas [KH01, PFSB02, Soa04].
2.9.4.3 Caracterizacao pelo Desempenho em Algoritmos Rapidos (landmarks)
Este tipo de caracterizacao utiliza a informacao sobre o desempenho de outros algoritmos
auxiliares, que sao simples e portanto rapidos [BGC00, PBGC00]. Pretende-se que sejam
mais rapidos do que os considerados no problema de seleccao. Esses algoritmos rapidos
deverao ser o mais heterogeneos possıveis no que diz respeito as suas estrategias de
aprendizagem para que possam prever o desempenho de todos os algoritmos em causa.
A ideia e tentar avaliar as estrategias de aprendizagem utilizadas em algoritmos muito
simples e associar os desempenhos obtidos nestes com os efectivamente observados nos
algoritmos base. O desempenho destes algoritmos rapidos servirao como marcas no
terreno para indicar as areas em que cada um e especializado.
Foram utilizados algoritmos bastante elementares para este efeito. Por exemplo o algo-
ritmo no de decisao (Decision Stump baseado no racio de ganho de informacao informa-
tion gain-ratio) utilizado no algoritmo C4.5 [Qui93a] divide o conjunto de teste utilizando
o atributo mais informativo. Este atributo mede o erro apos se ter dividido o conjunto
64Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
de dados de acordo com os valores do atributo utilizado no no de decisao. Este algoritmo
simples e depois avaliado (utilizando por exemplo validacao cruzada) e o valor obtido e
utilizado como atributo para caracterizar o conjunto de dados.
2.9.4.4 Caracterizacao Baseada em Propriedades dos Modelos Criados por
Algoritmos
Neste tipo de caracterizacao e utilizada a informacao sobre as propriedades dos modelos
obtidos por algoritmos de aprendizagem [Ben98, BGCK00, HK00, PFBS02]. Estas propri-
edades observadas nos modelos construıdos podem explicar o desempenho dos algoritmos
e fornecer informacao que pode ser utilizada para caracterizar os conjuntos de dados.
Como exemplos de tais propriedade podemos observar nas arvores de decisao as seguintes
caracterısticas (entre outras): o numero de nos de decisao por atributo; a profundidade
maxima; o balanceamento da arvore.
2.9.4.5 Caracterizacao pelo Desempenho dos Algoritmos em Subconjuntos
de Dados (Sampling Landmarks)
Neste tipo de caracterizacao, em vez de se utilizar o desempenho de algoritmos simples
na totalidade dos dados, aplica-se os algoritmos originais em subconjuntos de dados.
Os subconjuntos sao obtidos por um processo de amostragem, normalmente usa-se a
amostragem aleatoria uniforme 17 ou com a restricao adicional do subconjunto apresentar
a mesma distribuicao de classes do conjunto total (mostragem estratificada).
O desempenho dos algoritmos em subconjuntos (amostras) oferece uma visao parcial das
curvas de aprendizagem dos algoritmos no conjunto de dados considerado. Esta visao
parcial, dada pelos pontos conhecidos das curvas parciais de aprendizagem, e utilizada
para caracterizar o conjunto de dados.
Este tipo de caracterizacao mostrou-se positiva [FP01, SPB01] na previsao do desempenho
relativo dos algoritmos. No entanto, mesmo quando se revelaram os pontos da curvas
de aprendizagem proximos da totalidade dos casos, as previsoes nao conseguiram atingir
taxas de acertos elevadas. Em nenhuma das caracterizacoes anteriores se podera garantir
perto de 100% de taxa de acertos. Contudo, neste tipo de caracterizacao podemos em
17Na amostragem aleatoria uniforme cada caso tem a mesma probabilidade de ser seleccionado para a
amostra.
2.9 Seleccao de Algoritmos 65
limite ter atributos com valores muito proximos dos valores utilizados para tomar as
decisoes correctas.
Uma das vantagem mais evidentes deste tipo de caracterizacao consiste no facto de nao
serem precisos atributos especıficos para caracterizar os dados, como acontecia no caso das
abordagens de caracterizacao baseadas em atributos extraıdos dos dados. Para alem disso,
esta abordagem ja mostrou ser bastante promissora, embora tenham sido observados
alguns problemas, como foi referido acima. Assim, o objectivo deste trabalho e corrigir
estes defeitos e desenvolver um metodo robusto que podera ser usado para seleccionar
algoritmos de classificacao.
66Capıtulo 2. A Seleccao de Algoritmos no Ambito da Descoberta de
Conhecimento de Bases de Dados (DCBD)
Capıtulo 3
Metodos para Escolher o Melhor de
dois Algoritmos
3.1 Sumario
Neste Capıtulo vamos apresentar varios metodos para resolver o problema da escolha do
melhor de dois algoritmos.
O nosso problema e o seguinte: temos um conjunto de dados d, que representa um pro-
blema de classificacao determinado, e dois algoritmos de classificacao Ap e Aq. Pretende-
se escolher o melhor algoritmo, em termos de taxa de acertos, para treinar nesse conjunto
d.
Uma solucao obvia consiste em avaliar os dois algoritmos para o conjunto de dados d.
Uma forma de avaliar e utilizando validacao cruzada (VC) sendo por fim aplicado um
teste estatıstico aos resultados observados para decidir qual o algoritmo a utilizar. No
entanto, os custos computacionais da decisao utilizando VC sao elevados. O objectivo
do nosso trabalho e desenvolver metodos que tenham menores custos computacionais do
que VC e que, ao mesmo tempo, permitam decidir com elevada taxa de acertos qual o
melhor algoritmo para o conjunto de dados d.
Os metodos apresentados neste Capıtulo partilham o facto de realizarem aprendizagem
sobre o nıvel meta dos dados. Isto e, os metodos nao utilizam os dados originais mas sim
caracterısticas dos conjuntos de dados bem como os resultados relativos ao desempenho
dos algoritmos nesses mesmos conjuntos de dados. Utilizamos o prefixo meta sempre
67
68 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
que puder existir algum tipo de ambiguidade relativa aos dados a que nos estamos a
referir. Os casos utilizados pelos metodos sao designados por meta-casos e os respectivos
atributos por meta-atributos.
Os metodos que vamos apresentar baseiam-se em meta-aprendizagem sendo, no entanto,
distintos quanto a forma de caracterizacao dos conjuntos de dados. Nesta perspectiva, os
metodos seguem duas abordagens distintas.
A primeira baseia-se no conhecimento sobre o desempenho dos algoritmos em subconjun-
tos do conjunto de dados em questao para decidir qual o que tem melhor desempenho
na totalidade dos dados. Isto e, pretende-se saber pelo conhecimento parcial das curvas
de aprendizagem obtidas pelos algoritmos no conjunto de dados novo qual o desempenho
relativo no fim das mesmas.
A segunda abordagem e baseada em caracterısticas especıficas do conjunto de dados, nao
requerendo a utilizacao dos algoritmos para treinar qualquer subconjunto do conjunto de
dados em questao.
Em ambas as abordagens e assumido que os algoritmos em questao ja foram utilizados
no passado para treinar outros conjuntos de dados, que designamos por “conjuntos de
dados conhecidos”.
No caso da primeira abordagem apresentamos dois metodos o AMDS e o AMDS-SetGen.
O metodo AMDS e baseado no classificador kNN (k-vizinhos-mais-proximos). As curvas
de aprendizagem dos algoritmos no novo conjunto de dados sao parcialmente caracte-
rizadas. Essa caracterizacao parcial e usada para identificar outros conjuntos de dados
cujas curvas, mais extensamente caracterizadas, mais se assemelhem as primeiras. O
conhecimento sobre o que aconteceu no passado e utilizado para decidir o que fazer
agora, isto e, qual o algoritmo a utilizar.
No entanto, o metodo AMDS necessita que se especifique quais os tamanhos dos subcon-
juntos a utilizar 1. Essa tarefa nao e simples pelo que desenvolvemos um outro metodo
que determina quais os atributos a utilizar, isto e quais os tamanhos dos subconjuntos a
serem utilizados para treinar cada algoritmo. O metodo que escolhe os atributos chama-se
SetGen.
O metodo AMDS-SetGen consiste na aplicacao do metodo AMDS ao novo conjunto de
dados utilizando os atributos encontrados pelo metodo SetGen.
1Os tamanhos dos subconjuntos sao escolhidos de entre um conjunto determinado {s1, s2, · · · , sm}.
3.2 Objectivos 69
No que diz respeito a segunda abordagem, que utiliza a caracterısticas dos dados contidos
no conjunto de dados, o metodo que apresentamos e o MDC. Este metodo (MDC),
consiste na adaptacao, para o problema da escolha o melhor de dois algoritmos, de outro
metodo [BSC03] utilizado no contexto da previsao da ordem (rankinq) do desempenho
dos algoritmos no conjunto de dados considerado.
Na proxima Seccao vamos rever os objectivos deste trabalho.
3.2 Objectivos
A escolha de algoritmos e fulcral quando se possui um elevado numero de algoritmos
disponıveis. Mesmo no caso do problema da escolha entre dois algoritmos pode ser
determinante ter processos que nos ajudem nesta escolha. Para alguns conjuntos de dados
pode ser muito caro utilizar um metodo de avaliacao (por exemplo a validacao cruzada)
que compare os dois algoritmos atraves do seu treino no novo conjunto de dados. O
desempenho dos algoritmos em subconjuntos do conjunto de dados em questao podem
indicar o que acontece para a totalidade dos dados. O nosso objectivo era desenvolver
um metodo que fosse simples de usar (parametrizar), que fosse competitivo com os ja
disponıveis e que permitisse poupar tempo em comparacao com metodos que avaliam
os algoritmos na totalidade dos dados. A nossa abordagem compreende o treino dos
algoritmos em subconjuntos de dados poupando assim tempo. O metodo desenvolvido
e encarregado da escolha dos valores dos parametros que sao de difıcil ajuste para o
utilizador.
3.3 Abordagem Utilizando o Desempenho dos Algo-
ritmos em Subconjuntos (AMDS)
Nesta Seccao vamos apresentar o metodo que desenvolvemos para decidir qual o melhor
de entre dois algoritmos.
Vamos apresentar primeiro o metodo genericamente, destacando as ideias principais em
que o metodo se baseia. Apos esta descricao generica serao apresentados os pormenores
necessarios a definicao rigorosa do metodo.
Breve Descricao do Metodo (AMDS)
70 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
O metodo que desenvolvemos assume que se conhece o desempenho dos algoritmos dados
quando treinados noutros conjuntos de dados. Este conhecimento compreende nao so o
desempenho dos algoritmos na totalidade dos casos dos conjuntos de dados, mas tambem
o desempenho quando os algoritmos sao treinados em subconjuntos, de dimensao pre-
definida, aleatoriamente extraıdos (amostragem uniforme ver Seccao 2.5.3) do conjunto
de dados.
Para facilitar a descricao do metodo chamamos novo conjunto de dados ao conjunto de
dados para o qual pretendemos saber qual o melhor algoritmo. Aos outros conjuntos de
dados, dos quais temos informacoes mais completas sobre o desempenho dos algoritmos,
chamamos conjuntos de dados conhecidos.
A ideia central do metodo e utilizar o conhecimento sobre o desempenho dos algoritmos
dados no novo conjunto de dados, para procurar no repertorio dos conjuntos de dados
conhecidos os que sao mais semelhantes. Isto e, procura-se identificar aqueles conjuntos
de dados em que os algoritmos tem desempenhos mais semelhantes aos que observamos
no novo conjunto de dados. Mais a frente iremos definir com rigor como medimos esta
semelhanca.
A Figura 3.1 ilustra graficamente as ideias gerais utilizadas pelo metodo. Os atributos
sao representados em forma de cırculo estando a volta dos respectivos conjuntos de dados
representados em forma de rectangulo. Na Figura representamos o novo conjunto de
dados com apenas 4 atributos enquanto os outros estao representados com 8 atributos.
Os conjuntos de dados partilham 4 atributos e serao esses atributos os utilizados para
identificar os conjuntos de dados mais semelhantes.
Podemos observar que a caracterizacao do novo conjunto de dados e menos completa 2
do que a existente para os conjuntos de dados conhecidos.
Na realidade, se a informacao sobre o novo conjunto de dados fosse igualmente completa
seria simples decidir qual o melhor algoritmo a utilizar, uma vez que possuıa o desempenho
de ambos os algoritmos na totalidade dos dados do novo conjunto de dados.
Designamos por meta-caso o conjunto de todos os atributos que caracterizam um conjunto
de dados. Embora exista uma correspondencia entre o conjunto de dados e o respectivo
meta-caso e mais rigoroso utilizar esta ultima designacao para nos referirmos ao conjunto
de atributos.
2A Figura 3.1 e uma simplificacao da situacao real em que o numero de atributos e muito maior.
3.3 Abordagem Utilizando o Desempenho dos Algoritmos em Subconjuntos(AMDS) 71
Figura 3.1: O novo Conjunto de Dados e as Distancias deste aos Conjuntos de Dados
Conhecidos
A identificacao dos conjuntos de dados mais semelhantes ao novo conjunto de dados e
apresentada atraves das linhas que o unem aos outros conjuntos de dados. As distancias
sao calculadas utilizando apenas os valores dos atributos comuns, representados por
cırculos preenchidos. Os outros atributos dos conjuntos de dados conhecidos sao re-
presentados por cırculos vazios.
O metodo que desenvolvemos ira usar a informacao parcial disponıvel sobre o novo
conjunto de dados (por exemplo, da Figura 3.3) e a informacao “completa” disponıvel
sobre os conjuntos conhecidos, para revelar (completar) o que acontece no fim das curvas
de aprendizagem do novo conjunto de dados.
O metodo associa as informacoes sobre o desempenho dos algoritmos no “novo conjunto
de dados” com a decisao final sobre o melhor algoritmo a utilizar. No ambito dos
problemas de classificacao baseados numa unica Tabela dizemos que as informacoes sobre
o desempenho dos algoritmos corresponde ao vector X = (X1, X2, X3, ..., Xm) e a decisao
final corresponde a variavel Y. O que se pretende na aprendizagem (neste caso meta-
aprendizagem) e estabelecer a funcao f que associa o vector X ao valor Y.
O metodo utiliza um classificador do tipo dos k vizinhos mais proximos (kNN, descrito
na Seccao 2.7.1) para revelar a funcao f, nao de forma explıcita atraves de um modelo
72 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
(expressao matematica, arvore de decisao, etc) mas pelo valor em cada ponto X que
se pretenda calcular. A decisao do algoritmo a utilizar para o novo conjunto de dados
compreende os seguintes passos3.
• Calculo das distancias: Sao calculadas as distancias entre o novo conjunto de
dados (meta-caso) e os conjuntos de dados conhecidos. Na Figura 3.1 as distancias
sao os comprimentos das linhas que unem o novo conjunto de dados aos restantes.
• Escolha dos k conjuntos de dados mais proximos: Sao identificados os k
conjuntos de dados cuja distancia ao novo conjunto de dados e menor.
• Adaptacao dos conjuntos de dados identificados: Adaptam-se os meta-casos
identificados 4. Esta operacao e sobretudo influente se tivermos muita informacao
sobre o novo conjunto de dados. E importante para suplantar o problema que ocorre
quando os algoritmos se comportam de forma muito diferente no novo conjunto de
dados em comparacao com o que se passou nos conjuntos de dados conhecidos.
• Escolha do melhor algoritmo: Observam-se quais as decisoes que se deveriam
tomar em cada meta-caso identificado (e adaptado). As decisoes podem ser dife-
rentes das que seriam obtidas se nao se adaptassem os meta-casos. A decisao final
e tomada com base na decisao maioritaria nos meta-casos identificados.
3.3.1 Caracterizacao dos Conjuntos de Dados Conhecidos
A Figura 3.2 ilustra o conhecimento que se assume existir (guardado) sobre a experiencia
dos algoritmos com os conjuntos de dados conhecidos, por exemplo o conjunto de dados
d. Podemos observar um par de curvas de aprendizagem que relaciona o desempenho dos
dois algoritmos quando treinados em subconjuntos do conjunto d. No caso apresentado,
o algoritmo Ap e melhor que o algoritmo Aq pois na totalidade dos dados atinge uma
taxa de acertos superior.
Ambas as curvas de aprendizagem, utilizadas para descrever os conjuntos de dados,
encontram-se definidas no mesmo conjunto finito de pontos. Embora no exemplo ilustrado
cada curva de aprendizagem se encontre definida em apenas 6 pontos consideremos o
3O leitor certamente reconhecera que este esquema e uma descricao do metodo k-NN4Esta operacao e por vezes utilizada no Case Based Reasoning [Kol93, Lea96].
3.3 Abordagem Utilizando o Desempenho dos Algoritmos em Subconjuntos(AMDS) 73
caso geral em que temos m pontos. Cada ponto corresponde a uma dimensao especıfica
do subconjunto de dados utilizado para treinar ambos os algoritmos. Por exemplo, o
primeiro ponto das curvas de aprendizagem diz respeito ao desempenho dos algoritmos
quando treinados em subconjuntos de dimensao s1. Os proximos pontos dizem respeito as
dimensoes s2 · · · sm. Os valores em concreto para si podem ser, em princıpio, quaisquer
inteiros escolhidos pelo utilizador, desde que a sucessao seja crescente (∀i, j ∈ {1, · · · , m} :
i < j : si < sj). No entanto, uma vez que as curvas de aprendizagem variam mais no
inıcio do que no fim, optamos por utilizar sequencias em progressao geometricas pois
estas geram, num intervalo fixo, um maior numero de valores pequenos. E por este facto
que apresentamos a dimensao dos subconjuntos na Figura 3.2 em escala logarıtmica.
Cada ponto da curva de aprendizagem representa um atributo que caracteriza o conjunto
de dados. Em geral, cada conjunto de dados conhecido e caracterizado por 2 × m
atributos, havendo um total de m atributos relacionados com cada algoritmo (Ap e Aq).
Podemos representar os atributos que caracterizam um conjunto de dados atraves do tuplo
(Ap,1, · · · , Ap,m, Aq,1, · · · , Aq,m). Os atributos Ap,i (Aq,i) representam o desempenho do
algoritmo Ap (Aq) quando treinado em subconjuntos de dimensoes si do conjunto de
dados considerado.
Figura 3.2: Curvas de Aprendizagem Obtidas pelos Algoritmos no Conjunto de Dados d
3.3.2 Caracterizacao do Novo Conjunto de Dados
Sobre o novo conjunto de dados o conhecimento e menos extenso. E assumido que o que
se conhece sobre o desempenho dos algoritmos em subconjuntos do conjunto de dados
74 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
novo e, geralmente, parcial. Isto e, em geral sabemos o desempenho dos algoritmos em
apenas alguns subconjuntos 5.
A Figura 3.3 mostra um par de curvas que exemplifica esta situacao de conhecimento
parcial. Designaremos este tipo de curvas por curvas parciais de aprendizagem ou sim-
plesmente por curvas parciais.
Nesta Figura esta representado o desempenho do algoritmo Ap em subconjuntos de
dimensao s1 e s2 e tambem o desempenho do algoritmo Aq em subconjuntos de dimensao
s1 e s3. Deve ser ignorado nesta fase as curvas de aprendizagem apresentadas a tracejado.
Figura 3.3: Curvas Parciais de Aprendizagem Obtidas pelos Algoritmos no Novo Conjunto
de Dados
Ao contrario do que acontecia no exemplo apresentado na Figura 3.2, na Figura 3.3 nada
se pode concluir quanto ao melhor algoritmo para treinar na totalidade dos dados.
Depois de termos apresentado as ideias gerais do metodo, vamos explicar nas proximas
seccoes os seus componentes. Entre outros aspectos, iremos esclarecer qual a funcao de
distancia que utilizamos, porque usamos a adaptacao e como esta se processa.
5No caso limite podemos nao saber nada sobre o desempenho dos algoritmos em subconjuntos desse
conjunto de dados. Isto e, nao existem atributos que caracterizem o novo conjunto de dados. Neste
caso, a decisao mais “obvia” e usar o algoritmo que se revelou melhor na maioria dos conjuntos de dados
conhecidos.
3.3 Abordagem Utilizando o Desempenho dos Algoritmos em Subconjuntos(AMDS) 75
3.3.3 Meta-Dados que Descrevem as Experiencias Anteriores
E assumido pelo nosso metodo que estao disponıveis dados sobre o desempenho dos algo-
ritmos quando treinados com outros conjuntos de dados. Este conhecimento compreende,
nao so o desempenho dos algoritmos na totalidade dos casos dos conjuntos de dados, mas
tambem o desempenho quando os algoritmos sao treinados em subconjuntos aleatorios de
dimensoes pre-definidas. Em resumo, assume-se o conhecimento empırico das curvas de
aprendizagem obtidas pelos algoritmos quando treinados em varios conjuntos de dados.
Como ja vimos, a Figura 3.2 ilustra o conhecimento que se assume existir (guardado) sobre
a experiencia dos algoritmos com outros conjuntos de dados, por exemplo o conjunto de
dados di (d 6= di). Sobre o conjunto de dados di e suposto conhecer-se, na forma de
um par de curvas de aprendizagem, o desempenho dos algoritmos quando treinados em
subconjuntos de di extraıdos utilizando um processo de amostragem aleatoria uniforme
(ver Seccao 2.5.3) de dimensoes (medidas em numero de casos) s1, s2, s3, s4, s5 e s6 6.
Assume-se tambem que o conhecimento sobre o melhor algoritmo para o conjunto di e
robusto. Isto e, foi utilizado um teste estatıstico para aferir se as diferencas de desem-
penho observadas entre os algoritmos sao estatisticamente significativas. Avaliamos os
algoritmos nos conjuntos de dados utilizando a validacao cruzada (VC) e empregamos
um teste t para determinar se as diferencas sao significativas. Assim tres situacoes podem
ocorrer.
• O algoritmo Ap e melhor do que o algoritmo Aq quando ambos sao treinados no
conjunto de dados d.
• O algoritmo Ap e pior do que o algoritmo Aq quando ambos sao treinados no
conjunto de dados d.
• O algoritmo Ap e “equivalente” ao algoritmo Aq quando ambos sao treinados no
conjunto de dados d. Isto e, nao existem evidencias estatısticas que suportem que
Ap e melhor ou pior do que Aq.
A Tabela 3.1 representa o conhecimento (meta-dados 7) que existe sobre a experiencia
dos algoritmos considerados (Ap e Aq) nos conjuntos de dados conhecidos.
6Podemos, em geral, ter mais ou menos pontos representando as dimensoes dos subconjuntos. Por
exemplo, podıamos assumir que as curvas estavam definidas para os pontos s1, s2 e s3.7Referimo-nos aos dados da Tabela como sendo meta-dados pois referem-se aos resultados do
desempenho dos algoritmos de aprendizagem e nao aos dados originais dos conjuntos de dados.
76 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
Estao exemplificados meta-dados sobre n conjuntos de dados. Em cada linha esta repre-
sentado o conhecimento sobre o desempenho dos algoritmos em cada conjunto de dados.
Nas colunas Ap,1 ate Ap,m representa-se o desempenho do algoritmo Ap quando treinado
num subconjunto, extraıdo por amostragem aleatoria uniforme (ver Seccao 2.5.3) com
tamanho sj (j ∈ {1, · · ·m}) extraıdo de di (i indica o conjunto de dados e a linha da
Tabela). Por exemplo, se considerarmos que a Figura 3.2 se refere ao conjunto de dados
1, o valor Ap,1,1 refere-se a taxa de acertos obtida por Ap no ponto s1.
Nas colunas Aq,1 ate Aq,m representa-se a situacao analoga do descrito para as colunas
Ap,1 ate Ap,m, mas referente ao algoritmo Aq.
Tabela 3.1: Informacao Guardada (Meta-Dados) sobre o Desempenho dos Algoritmos
nos Conjuntos de Dados Conhecidos
Conjunto De Dados Ap,1 ... Ap,m Aq,1 ... Aq,m Ap > Aq ?
1 Ap,1,1 ... Ap,m,1 Aq,1,1 ... Aq,m,1 1 ou -1 ou 0
2 Ap,1,2 ... Ap,m,2 Aq,1,2 ... Aq,m,2 1 ou -1 ou 0
... ... ... ... ... ... ... ...
n Ap,1,n ... Ap,m,n Aq,1,n ... Aq,m,n 1 ou -1 ou 0
Na ultima coluna e representado o que se conhece sobre o melhor algoritmo para o
conjunto de dados em questao. Se o valor for 1 entao significa que o melhor algoritmo e o
Ap. Pelo contrario, se o valor for -1 entao o melhor algoritmo e o Aq. Os algoritmos sao
considerados “empatados” 8 para o conjunto de dados em questao se o valor na ultima
coluna for 0.
3.3.4 Recuperacao dos Casos Mais Semelhantes
No processo de classificacao, o metodo identifica os meta-casos (conjuntos de dados
conhecidos) mais proximos do novo meta-caso (novo conjunto de dados). A nocao
de proximidade e dada pela funcao de distancia entre dois meta-casos. A distancia e
calculada utilizando os valores disponıveis nos atributos que sao comuns a ambos os
meta-casos.
Funcao de Distancia
8O teste estatıstico nao conseguiu rejeitar a hipotese dos dois algoritmos terem o mesmo desempenho
para o conjunto de dados em questao.
3.3 Abordagem Utilizando o Desempenho dos Algoritmos em Subconjuntos(AMDS) 77
A distancia entre os conjuntos de dados considera os desempenhos obtidos por ambos
os algoritmos nos subconjuntos considerados. A seguinte expressao define a distancia 9
entre dois conjuntos de dados di e dj :
dist(di, dj) =∑
s∈Ip
| Ap,s,i − Ap,s,j |
︸ ︷︷ ︸
Ap
+∑
s∈Iq
| Aq,s,i − Aq,s,j |
︸ ︷︷ ︸
Aq
(3.1)
Esta formula e a soma de duas parcelas, cada uma dizendo respeito a um dos algoritmos.
Concentremo-nos na parcela relacionada 10 com o algoritmo Ap. Esta parcela mede a
distancia entre as curvas parciais obtidas aplicando o algoritmo Ap nos subconjuntos
extraıdos dos conjuntos de dados di e dj. Os tamanhos dos subconjuntos estao indicados
pelo conjunto de ındices Ip. A distancia e definida como a soma das diferencas absolutas
entre as taxas de acertos de ambas as curvas parciais nos pontos conhecidos. A Figura 3.4
ilustra como e calculada a parcela referente ao algoritmo Ap. Estao representadas duas
curvas parciais de aprendizagem, uma (com a etiqueta Di) que mostra os desempenhos
do algoritmo Ap em subconjuntos extraıdos de Di, enquanto a outra curva mostra os
desempenhos do mesmo algoritmo em subconjuntos de Dj. O valor final da parcela e a
soma dos comprimentos de todos os segmentos (representados pela linha contınua) que
une as duas curvas de aprendizagem nos pontos conhecidos.
Tamanho dos Subconjuntos
Tax
a de
Ace
rtos
Ci
Cj
Figura 3.4: Distancia entre as Curvas Ci e Cj
9A distancia que utilizamos e habitualmente referida por distancia de Manhatan ou distancia
Pombalina.10A parcela relacionada com o algoritmo Aq e definida de maneira analoga. Na expressao basta trocar
Ap com Aq.
78 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
3.3.5 Adaptacao dos Casos (Adaptacao das Curvas)
Nesta Seccao vamos discutir a razao que motivou a utilizacao do mecanismo de adaptacao
que referimos na Seccao 3.3.
Se nao utilizassemos a adaptacao entao o metodo apos a identificacao dos meta-casos
(conjuntos de dados) mais semelhantes ao novo conjunto de dados determinaria o desem-
penho relativo dos algoritmos em cada par de curvas, associado ao respectivo meta-caso.
O desempenho relativo podia ser representado pelos valores 1, se o algoritmo Ap fosse
melhor que o algoritmo Aq no respectivo conjunto de dados, e -1, no caso contrario. A
decisao final seria dada por um esquema de votacao. Utilizar-se-ia o algoritmo que mais
vezes fosse o melhor no grupo de conjuntos de dados identificados.
No entanto, esta forma de decidir tem um inconveniente. A decisao final depende apenas
do desempenho relativo nos meta-casos mais semelhantes. A informacao sobre o novo
meta-caso nao e utilizada senao para a identificacao dos meta-casos mais semelhantes.
Isto pode ser problematico se os meta-casos mais semelhantes nao forem suficientemente
semelhantes ao novo meta-caso. Se formos utilizando cada vez mais atributos para
caracterizar o novo meta-caso, e intuitivo que a escolha dos meta-casos mais semelhantes
se vai estabilizando. A partir de um certo ponto, os meta-casos identificados, ainda
que utilizemos mais atributos, serao sempre os mesmos - mantem-se a decisao. Este
facto explica alguns resultados surpreendentes que mostram que a utilizacao de mais
informacao, isto e, mais atributos, nem sempre implica um aumento do desempenho do
metodo de decisao. Esta pode ser uma das razoes para os resultados desencorajantes
relatados na literatura [FP01, SPB01].
Decidimos tentar ultrapassar esta limitacao. Espera-se que o metodo tenha um melhor
desempenho quando se disponibiliza mais informacao. A estrategia adoptada para resol-
ver este problema utiliza o conceito de adaptacao. Este conceito e utilizado na area de
“raciocınio baseado em casos” [Kol93, Lea96] (Case-Based Reasoning).
A ideia principal consiste na identificacao do par de curvas e na sua adaptacao as
novas circunstancias. A forma mais directa (por nos escolhida) de adaptar as curvas e
“mover” cada curva extraıda, em direccao a correspondente curva parcial que se encontra
disponıvel para o novo conjunto de dados (ver Figura 3.5). Esta adaptacao pode ser vista
como uma forma de combinar a informacao da curva extraıda com a nova informacao
disponıvel sobre o novo conjunto de dados.
3.3 Abordagem Utilizando o Desempenho dos Algoritmos em Subconjuntos(AMDS) 79
Embora o metodo identifique pares de curvas de aprendizagem, que representam os meta-
casos conhecidos, a adaptacao e feita a cada curva de forma individual. Isto porque,
no caso de adaptarmos ambas as curvas em conjunto, estas manterao as suas posicoes
relativas, resultando na mesma previsao final.
Tamanho dos Subconjuntos
Taxa d
e A
cert
os
Curva Parcial de Aprendizagem
Curva Identificada
Curva Adaptada
Figura 3.5: Adaptacao das Curvas de Aprendizagem Identificadas
Desenvolvemos um procedimento simples de adaptacao que modifica a curva identificada
utilizando um coeficiente de escala (designado pela letra f).
Suponhamos que estamos a considerar as curvas relacionadas com o algoritmo Ap e que
o novo conjunto de dados e di. A correspondente curva parcial e definida pelo vector
< Ap,s,i > em que s ∈ Ip. Suponhamos ainda que Dr e uma das curvas identificadas
e que a correspondente curva de aprendizagem (relativa ao algoritmo Ap) e definida por
< Ap,s,r > em que s ∈ Ip. A adaptacao e feita multiplicando cada ponto de Ap,s,r por f .
O coeficiente de escala f tem o valor que minimiza a distancia Euclideana entre as duas
curvas parciais considerando um peso diferente para cada ponto.
A ideia e dar mais importancia aos pontos que ocorrem mais perto do final da curva. Os
pesos aumentam a medida que cresce o tamanho dos subconjuntos relativos aos pontos.
Optamos por atribuir pesos iguais ao tamanho dos subconjuntos associados aos pontos
(wj = #Sj).
O valor de f e aquele que minimiza a distancia (pesada) E definida da seguinte forma:
E(f) =
√∑
s∈Ip
[ws × (Ap,s,i − f × Ap,s,r)]2 (3.2)
80 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
Uma vez que a raiz quadrada e uma funcao crescente, minimizar E e a mesma coisa que
minimizar E2.
Para minimizar E2(f) vamos igualar a sua derivada a zero.
dE2
df=
d
∑
s∈Ip
(w2s ×A2
p,s,i) − 2f∑
s∈Ip
(w2s × Ap,s,i ×Ap,s,r) + f 2
∑
i∈Ip
(w2s ×A2
p,s,r)
df=
=
0− 2∑
s∈Ip
(w2s ×Ap,s,i × Ap,s,r) + 2f
∑
i∈Ip
(w2s × A2
p,s,r)
= 0
Resolvendo em ordem a f a equacao anterior obtemos a expressao do valor que minimiza
E:
f =
∑
s∈Ip
(Ap,s,i × Ap,s,r × w2
s
)
∑
s∈Ip
(A2
p,s,r × w2s
)(3.3)
A adaptacao no caso das curvas de aprendizagem associadas ao algoritmo Aq e feita da
mesma forma que a definida em relacao ao algoritmo Ap.
3.3.6 Decisao Final
Apos a fase de adaptacao de todas as curvas dos meta-casos identificados, o calculo da
decisao respeitante ao algoritmo a utilizar e bastante simples. Comecamos por identificar
qual o melhor algoritmo em cada meta-caso. O melhor algoritmo para um determinado
meta-caso e obtido por comparacao do par de curvas (ja adaptadas) no ponto correspon-
dente ao fim do conjunto de dados novo. Assim, se por exemplo o conjunto de dados novo
tiver a dimensao s entao vemos o que se passa nos pontos de dimensao s nas curvas de
aprendizagem. Uma vez conhecido o melhor algoritmo para cada meta-caso identificado
(vizinhos), a decisao final e utilizar o algoritmo que mais vezes e escolhido como melhor.
3.3 Abordagem Utilizando o Desempenho dos Algoritmos em Subconjuntos(AMDS) 81
3.3.7 Descricao Algorıtmica do Metodo AMDS
Na Figura 3.6 apresentamos o metodo AMDS descrito por intermedio de pseudo-codigo.
Esta forma de representacao tem a vantagem de facilitar a compreensao e implementacao
do metodo numa linguagem de programacao. O metodo e apresentado como uma funcao
que tem 3 parametros de entrada (input):
• novo - o ındice do novo conjunto de dados no conjunto dos meta-dados
Aalg,atr,conj conforme descrito na Tabela 3.1.
• Ip - os ındices dos atributos para caracterizar o novo conjunto de dados no que diz
respeito aos algoritmos Ap.
• Iq - os ındices dos atributos para caracterizar o novo conjunto de dados no que diz
respeito aos algoritmos Aq.
• k - o numero de vizinhos a considerar.
O metodo compreende uma sequencia de passos apresentados na Figura atraves de
pseudo-instrucoes numeradas.
Nos passos de 1 ate 5 e feita a identificacao dos k conjuntos de dados mais semelhantes
ao novo conjunto de dados, de acordo com a funcao de distancia.
Os passos de 7 ate 13 sao executados uma vez para cada conjunto de dados identificado.
As curvas respectivas a cada conjunto de dados sao adaptadas (passos 7 e 8) e comparadas
no ponto correspondente a dimensao do novo conjunto de dados.
No passo 9 determina-se qual a dimensao do novo conjunto de dados em termos dos
tamanhos dos subconjuntos (s1, · · · , sm) . Isto e, o valor deve pertencer ao conjunto {si}
em que i ∈ {1, · · · , m}. Alem disso, deve ser menor ou igual a sua dimensao, isto e, se
por exemplo a dimensao do novo conjunto de dados for um valor entre s4 e s5 entao
considera-se o valor s4. Este passo e necessario pois serao comparadas as taxas de acertos
das curvas adaptadas considerando esse ponto.
Nos passos de 10 ate 13 e determinado qual o melhor algoritmo para as curvas adaptadas
em cada conjunto de dados semelhante. Entretanto, vai-se contabilizando o numero de
conjuntos de dados semelhantes em que se determinou que Ap e melhor que Aq e vice
versa. A contabilizacao e feita atraves do incremento ou decremento da variavel classe.
82 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
A verificacao do valor da variavel classe diz-nos se na maioria dos conjuntos de dados
semelhantes Ap foi melhor (a variavel classe > 0) ou pior (classe < 0) do que Aq.
3.3.8 Precisao do Metodo em Funcao dos Atributos Utilizados
O metodo (AMDS) utiliza a informacao sobre o desempenho dos algoritmos em determi-
nados subconjuntos do conjunto dado para realizar a previsao do algoritmo a utilizar.
Normalmente, nas curvas de aprendizagem, as taxas de acerto crescem a medida que se
utilizam subconjuntos maiores, atingindo valores proximos dos obtidos pelo algoritmo
quando se utiliza a totalidade dos casos. Por isso, podemos esperar ter previsoes mais
fiaveis quando se utiliza o desempenho dos algoritmos em mais ou maiores subconjuntos.
Isto acontece porque os desempenhos dos algoritmos em subconjuntos maiores vao ser
mais proximos dos obtidos para a totalidade dos casos. Logo, os conjuntos de dados mais
semelhantes vao ser aqueles cujos desempenhos dos algoritmos, na totalidade dos casos,
sao mais proximos dos desempenhos obtidos no novo conjunto de dados.
3.3 Abordagem Utilizando o Desempenho dos Algoritmos em Subconjuntos(AMDS) 83
Funcao AMDS(novo,Ip,Iq,k)
// novo e o ındice do novo conjunto de dados na matriz
Aalgoritmo,atributo,conjuntodedados
// Ip ındices dos atributos que caracterizam o novo conjunto de
dados no que diz respeito ao algoritmo Ap
// Iq ındices dos atributos que caracterizam o novo conjunto de
dados no que diz respeito ao algoritmo Aq
inıcio1
para cada ds ∈ Conjuntos de Dados Conhecidos faca2
distds ← distancia (novo, ds, Ip,Iq)3
// Determina os ındices dos conjuntos de dados com as k menores
distancias (distds)
vizinhos ← mais pequenos (k,distds)4
classe ← 05
para cada ds ∈ vizinhos faca6⟨
A′
p,t,ds
⟩
← 〈Ap,t,ds〉 × coef adapt(p, novo, ds, Ip)7⟨
A′
q,t,ds
⟩
← 〈Aq,t,ds〉 × coef adapt(q, novo, ds, Iq)8
ultimo ← arg maxind
{si : sind ≤ #Dnovo} // ind ∈ {1, · · · , m}9
se A′
p,ultimo,ds ≥ A′
q,ultimo,ds entao10
classe ← classe + 111
senao12
classe ← classe − 113
se classe ≥ 0 entao14
retorna +115
senao16
retorna −117
fim18
Funcao coef adapt(alg, d1, d2, Indices)
〈wj〉 ← 〈sj〉; (j ∈ Indices)1
coef ←
∑
j∈Indices
(Aalg,j,d1 ×Aalg,j,d2 × w2
j
)
∑
j∈Indices
(
A2alg,j,d2 × w2
j
)
2
retorna coef3
Funcao distancia(d1,d2,Ip,Iq)
dist ←∑
i∈Ip| Ap,i,d1 −Ap,i,d2 |+
∑
j∈Iq| Aq,j,d1 −Aq,j,d2 |1
retorna dist2
Figura 3.6: Metodo AMDS (descricao algorıtmica)
84 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
3.4 Gerador de Sequencias de Atributos (SetGen)
Como ja referimos, a escolha dos atributos para o metodo AMDS determina o seu
desempenho em termos de taxa de acertos. Em geral, o desempenho de AMDS aumenta
se usarmos mais atributos ou atributos que se baseiem em subconjuntos de dimensao
maior. No entanto, o custo envolvido na determinacao dos atributos tambem aumenta,
uma vez que os algoritmos tem de ser treinados em mais subconjuntos ou em subcon-
juntos de dimensao maior. Nao e simples determinar um subconjunto de atributos que
simultaneamente minimize o custo da sua determinacao e maximize o desempenho do
metodo AMDS. A diminuicao do custo, por via de nao se considerar alguns atributos,
devera resultar em princıpio numa diminuicao do desempenho do metodo. No entanto,
esta relacao nao e monotona. Por exemplo, pode ocorrer a situacao em que acrescentamos
um novo atributo ao conjunto de atributos e o desempenho do metodo nao melhora ou
ate piora.
O metodo utiliza curvas parciais de aprendizagem para decidir qual o algoritmo a utilizar
num novo conjunto de dados. Suponhamos que determinavamos todos os atributos
possıveis para o novo conjunto de dados. As curvas parciais definidas por esses atributos
dao ao metodo uma visao sobre o desempenho dos algoritmos quando treinados na
totalidade de casos. E intuitivo esperar que a decisao final nao seja alterada se nao
considerassemos um qualquer atributo que representasse um ponto intermedio da curva
parcial de aprendizagem. A questao que se pode colocar e se existe algum processo
de escolha dos atributos que permita reduzir os custos, sem degradar o desempenho do
metodo AMDS.
Desenvolvemos o metodo SetGen, tambem referido por gerador de sequencias de atributos,
que determina os atributos a utilizar pelo metodo AMDS. Embora o nosso problema tenha
semelhancas com o da seleccao de subconjuntos atributos (feature subset selection), e
distinto no facto de existirem custos na determinacao dos atributos.
A nossa abordagem tem como princıpio acrescentar atributos que tenham como impacto a
melhoria do desempenho (estimado) do metodo AMDS. Ao acrescentar um determinado
atributo, estimamos o impacto nos custos de determinacao dos atributos e tambem no
desempenho do metodo, medido pela taxa de acertos. O impacto pode ser expresso pelo
par (∆custo, ∆desempenho), o que significa que a introducao do atributo fez aumentar o custo
em ∆custo e o desempenho em ∆desempenho.
3.4 Gerador de Sequencias de Atributos (SetGen) 85
Para ponderar se um atributo deve ser introduzido em vez de outro qualquer necessitamos
de uma forma de comparar estes pares. Um par e melhor que o outro se for melhor em
alguma das dimensoes (custo ou desempenho) e nao for pior em nenhuma das outras11.
Podemos descrever se um par e melhor que outro utilizando a seguinte formula:
(a, b) e melhor que (c, d)⇔
{
a e melhor que c ∧ b nao e pior que d
b e melhor que d ∧ a nao e pior que c⇔
⇔
{
a < c ∧ b ≥ d
b > d ∧ a ≤ c
(3.4)
No entanto, por exemplo os pares (+1, +3) (+1.5, +4) nao podem ser comparados pois
ao melhorar o desempenho piora o custo. A nossa abordagem e tentar sempre aumentar
o desempenho, mas considerando, dentro das alternativas, aquela que apresenta um custo
menor. E imposto que o desempenho aumente acima de um determinado limiar ∆.
A ideia central e, em cada iteracao, acrescentar o atributo com menor custo computaci-
onal, mas que melhore o desempenho (taxa de acertos) acima de um determinado limiar
∆.
A sequencia de atributos e construıda utilizando um metodo de procura do tipo subir
a colina (hill climbing) 12. A Figura 3.7 apresenta uma visao geral do metodo para
construcao da sequencia de atributos. O metodo de construcao comeca com uma deter-
minada sequencia de atributos que caracterizam os dois algoritmos (Ap, Aq). O processo
funciona de forma iterativa. Em cada passo tenta determinar como a sequencia pode
ser estendida, isto e, que atributos podemos acrescentar. As varias alternativas sao
consideradas e avaliadas no que diz respeito ao impacto da introducao dos novos atributos
sobre o desempenho e custos do metodo AMDS. Como ja referimos anteriormente, o
objectivo e aumentar a confianca na previsao de qual o melhor algoritmo para o novo
conjunto de dados. A melhor alternativa e escolhida, o respectivo atributo acrescentado
a sequencia actual, e o processo repete-se ate que nao existam alternativas que melhorem
o desempenho do metodo AMDS.
Embora os atributos sejam acrescentados um a um, de acordo com o criterio de esco-
lha, optamos por permitir que fossem acrescentados um atributo de cada algoritmo em
11Este e o conceito de dominancia de pareto que foi introduzido pelo economista (sociologo e filosofo)
franco-italiano Vilfredo Federico Damaso Pareto [NW92].12O leitor pode encontrar um apanhado sobre varios metodos de procura em [RN03].
86 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
Figura 3.7: Processo Iterativo de Caracterizacao do Novo Conjunto de Dados Para
Determinar Qual o Melhor Algoritmo
3.4 Gerador de Sequencias de Atributos (SetGen) 87
Figura 3.8: Um Exemplo de Procura da Sequencia de Atributos
simultaneo. Isto altera um pouco a descricao geral apresentada na Figura 3.7 no passo
em que se verifica se “compensa estender a sequencia de atributos”. O ciclo do processo
e interrompido quando nao compensa estender a sequencia quando se acrescenta um
atributo relativo a cada algoritmo (um para Ap e outro para Aq).
O objectivo e evitar paragens precoces do metodo de geracao de sequencias de atributos
pelo facto de nenhum atributo isoladamente desencadear um aumento suficientemente no
desempenho do metodo AMDS.
A ideia e considerar operadores de procura um pouco mais complexos que nao limitam
a acrescentar (a sequencia actual) um unico atributo de cada vez, relativo ao algoritmo
Ap ou ao algoritmo Aq. Este operador permite tambem acrescentar simultaneamente
um atributo relativo ao algoritmo Ap e outro relativo ao algoritmo Aq. Isto e, podemos
estender apenas uma das curvas com um novo ponto ou as duas ao mesmo tempo (um
ponto em cada).
A Figura 3.8 revela mais detalhes sobre a forma como e conduzida a procura. O metodo
comeca com uma sequencia inicial de atributos vazia {}. Em cada passo o estado actual
e expandido para todos os seus sucessores. Os estados sucessores sao as sequencias de
atributos que sao obtidas quando se aplicam os operadores da procura. No exemplo
apresentado os sucessores do estado {} sao os estados {Ap1}, {Aq1}, {Ap1, Aq1}, etc.
Para cada estado (representado na Figura por uma sequencia especıfica de atributos) a
taxa de acertos e estimada bem como o custo computacional envolvido na determinacao
de todos atributos da sequencia.
88 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
O proximo estado e escolhido entre os sucessores do estado actual. Comeca-se por
seleccionar apenas aqueles que determinam um aumento de pelo menos ∆ na estimativa
da taxa de acertos (por exemplo, o valor 0.01). Finalmente e escolhido o que tem a
estimativa de custo menor.
No exemplo apresentado na Figura 3.8 a procura transita do estado {} para o estado
{Aq1}. No proximo passo e escolhido o estado {Aq1, Ap2}. O processo continua ate que
nenhum dos sucessores do estado actual apresente uma melhoria de pelo menos ∆ na
taxa de acertos.
Um outro aspecto que necessita de ser referido e que o metodo ao expandir um estado
particular (sequencia de atributos) verifica se a extensao e valida. As extensoes validas
sao aquelas que introduzem atributos que sao em geral mais informativos dos que os
usados ate ao momento 13. A ideia e que os atributos acrescentados estendam as curvas
parciais de aprendizagem para a frente e nunca para tras. Na Figura 3.8 assinalamos
com o sımbolo “X” todas as extensoes invalidas (por exemplo a que conduz ao estado
{Aq1, Aq1, Ap1}).
3.4.1 Avaliacao das Sequencias de Atributos
Como foi descrito anteriormente, cada estado da procura e caracterizado por dois valores,
a taxa de acertos e o custo da determinacao dos atributos. O metodo de procura necessita
de antecipar qual sera a taxa de acertos se o metodo AMDS utilizar um conjunto especıfico
de atributos (candSet). Esta estimativa, calculada utilizando a funcao EAcc, expressa as
hipoteses de sucesso do metodo no novo conjunto de dados. Para calcular a estimativa da
taxa de acertos, utiliza-se um esquema de avaliacao do tipo deixa-um-fora (leave-one-out)
no grupo dos conjuntos de dados conhecidos. Seja D, o repertorio que contem informacao
sobre os conjuntos de dados. O metodo AMDS e aplicado a cada conjunto de dados di de
D utilizando apenas os atributos da sequencia candSet. A previsao relativa ao algoritmo
a utilizar e comparada com a decisao correcta que se encontra armazenada na base de
meta-dados. Considera-se que o metodo tem sucesso no conjunto de dados di se a decisao
obtida e igual a decisao correcta que se encontra armazenada.
13Por exemplo, o atributo Ap,3 e considerado potencialmente mais informativo do que o atributo Ap,2
pois e baseado num subconjunto de maior dimensao. O metodo pode acrescentar o atributo Ap,3 a
sequencia que ja contem Ap,2 mais o contrario nao e permitido.
3.4 Gerador de Sequencias de Atributos (SetGen) 89
Repetindo este processo para todos conjuntos de dados do repertorio D, agrega-se esta
informacao o que permite obter a estimativa da taxa de acertos do metodo para um novo
conjunto de dados considerando os atributos da sequencia utilizada. A agregacao pode
ser obtida atraves do calculo duma media aritmetica. No entanto, esta opcao da igual
importancia aos resultados de todos os conjunto de dados, sem tomar em consideracao se
eles sao semelhantes ou nao ao novo conjunto de dados. Por essa razao, o metodo utiliza
uma media ponderada que corrige esta limitacao. A seguinte equacao define a funcao
EAcc:
EAcc(c) = (1 +∑
di∈D
[success(di, candSet)× wi])/2 (3.5)
em que D e representa os conjunto conhecidos, wi representa o peso do conjunto de dados
di e success(. . . ) e +1 (-1) se o metodo da a resposta correcta (incorrecta) para o conjunto
de dados di utilizando os atributos indicados em candSet. O peso e calculado da seguinte
forma: wi = w′
i/∑
k w′
k em que w′
i = 1/(dist(d, di) + 1).
O custo computacional e calculado de forma similar utilizando o mesmo esquema de
avaliacao deixa-um-fora. Para cada conjunto de dados di e observado o tempo de apren-
dizagem e teste gasto pelos algoritmos ao determinar todos os atributos especificados
(candSet). O custo de calcular os atributos da sequencia candSet para o conjunto de
dados di e representado por Cost(di, candSet). Os tempos sao somados e obtem-se o
custo dos atributos para o conjunto de dados di. A estimativa que utilizamos para esse
custo e dada pela media ponderada dos custos.
ECost(candSet) =∑
di∈D
Cost(di, candSet)× wi (3.6)
3.4.2 Descricao Algorıtmica do Metodo SetGen
Nesta Seccao apresentamos uma descricao do metodo SetGen em pseudo-codigo. A Figura
3.9 apresenta o metodo SetGen definida como uma funcao. A funcao tem 3 entradas - o
ındice do novo conjunto de dados, o parametro k para ser utilizado pelo metodo AMDS
90 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
e o parametro ∆ que define o limiar mınimo de incremento da estimativa da taxa de
acertos para que um atributo seja acrescentado a sequencia de atributos.
3.4 Gerador de Sequencias de Atributos (SetGen) 91
Funcao SetGen(novo,k,∆)
// novo e o ındice do novo conjunto de dados na matriz
Matributo,conjuntodedados
// k e o numero de vizinhos utilizado pelo metodo AMDS
// ∆ e o limiar mınimo que tem de subir a estimativa da taxa de
acertos quando se acrescenta um novo atributo
inıcio1
Disponiveis ← {}2
para cada i ∈ {1, · · · , m} faca3
Disponiveis ← Disponiveis ∪ {〈< i >, <>〉}4
Disponiveis ← Disponiveis ∪ {〈<>, < i >〉}5
para cada j ∈ {1, · · · , m} faca6
Disponiveis ← Disponiveis ∪ {〈< i >, < j >〉}7
AtrSeq ← 〈< 1 >, < 1 >〉8
enquanto (Acc + ∆ ≤ 1) ∧ (continua = 1) faca9
continua ← 0 pesos ← calcula pesos(novo,AtrSeq)10
Acc ← EAcc(AtrSeq,k, novo)11
custos ← ECosts(novo,AtrSeq,pesos)12
// Ordena o vector disponiveis segundo os valores dos custos
Disponiveis ← ordena(Disponiveis,custos)13
para cada atr ∈ Disponiveis faca14
NovaSeq ← AtrSeq ∪ {atr}15
NovaAcc ← EAcc(NovaSeq,k, novo)16
se NovaAcc > Acc + ∆ entao17
Acc ← NovoAcc18
continua ← 119
AtrSeq ← NovaSeq20
Disponiveis ← simplifica(Disponiveis,AtrSeq)21
SAI DO CICLO22
retorna AtrSeq23
fim24
Figura 3.9: Metodo SetGen (descricao algorıtmica)
92 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
3.5 O Metodo AMDS-SetGen
O metodo AMDS-SetGen permite obter uma previsao do melhor algoritmo para utilizar
num determinado conjunto de dados novo. O metodo comeca por utilizar o metodo
SetGen para obter a sequencia de atributos que depois sera utilizada pelo metodo AMDS.
A Figura 3.10 descreve o metodo AMDS-SetGen de forma algorıtmica utilizando pseudo-
codigo.
Funcao AMDS-SetGen(novo,k,∆)
// novo e o ındice do novo conjunto de dados na matriz
Matributo,conjuntodedados
// k e o numero de vizinhos utilizado pelo metodo AMDS
// ∆ e o limiar mınimo que tem de subir a estimativa da taxa de
acertos quando se acrescenta um novo atributo
inıcio1
AtrSeq ← SetGen(Novo,k,∆)2
Ip = {i :< i, j >∈ AtrSeq}3
Iq = {j :< i, j >∈ AtrSeq}4
classe ← AMDS(novo,Ip,Iq,k)5
retorna classe6
fim7
Figura 3.10: Metodo AMDS-SetGen (descricao algorıtmica)
3.6 Abordagem Utilizando Caracterizacao dos Dados (MDC) 93
3.6 Abordagem Utilizando Caracterizacao dos Da-
dos (MDC)
Nesta Seccao vamos apresentar um metodo que utiliza caracterısticas dos dados para
tomar a decisao respeitante ao melhor algoritmo para o novo conjunto de dados. Este
metodo e baseado no trabalho de outros autores [BSC03], referidos no Capıtulo 2. O
metodo e apresentado aqui para fins de comparacao, pois pretende-se comparar o desem-
penho do metodo AMDS (AMDS-Simples e AMDS-SetGen) com metodos anteriores que
utilizam outras abordagens.
Tal como nos metodos que descrevemos anteriormente tambem neste metodo se assume
que existe conhecimento sobre o desempenho dos algoritmos (Ap e Aq) noutros conjuntos
de dados, na totalidade dos dados. Este metodo e tambem baseado no algoritmo dos
k-vizinhos-mais-proximos.
O metodo comeca por caracterizar o novo conjunto de dados segundo um conjunto de
medidas 14. De seguida, e calculada a distancia do novo conjunto de dados (ou meta-caso)
aos outros segundo uma determinada funcao de distancia. Sao identificados os k conjuntos
de dados conhecidos mais semelhantes de acordo com as distancias ja calculadas. Para
cada conjunto de dados identificado (vizinho), estabelece-se qual e o melhor algoritmo.
Esta informacao e obtida atraves dos desempenhos dos algoritmos dados nos conjuntos
de dados conhecidos. Por fim, a decisao final e obtida por votacao, isto e, utiliza-
se o algoritmo que mais vezes e considerado como o melhor nos conjuntos de dados
identificados.
Nos proximas seccoes vamos descrever como e feita a caracterizacao e o calculo das
distancias. Apresentamos tambem o metodo utilizando pseudo-codigo.
3.6.1 A Caracterizacao dos Conjuntos de Dados
No caso dos metodos AMDS-Simples e AMDS-SetGen, a caracterizacao dos conjuntos de
dados, do novo e dos conhecidos, envolvia a determinacao do desempenho dos algoritmos
em subconjuntos de dimensoes especıficas. Neste metodo (MDC), a caracterizacao envolve
o calculo de medidas relativas ao conjunto de dados e nao relacionadas com os algoritmos.
14Por exemplo o numero de exemplos, a percentagem de atributos nominais, etc.
94 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
Todos os conjunto de dados sao caracterizados utilizando o mesmo conjunto de medidas
mostrado na Tabela 3.2. Foi escolhido este conjunto de medidas por ser um conjunto
pequeno de medidas que demonstrou a sua eficacia na determinacao do desempenho
relativo (ranking) de algoritmos ([Soa04]).
As medidas tentam extrair algumas propriedades conhecidas por serem discriminantes
entre os varios algoritmos. Por exemplo, alguns algoritmos lidam melhor com um numero
elevado (ou pequeno) de exemplos do que outros, outros sao mais adequados para conjun-
tos de dados com atributos nominais. As propriedades usadas aqui encontram-se referidas
na Tabela 3.2, seguindo [Soa04].
Tabela 3.2: Medidas Utilizadas para Caracterizar os Conjuntos de Dados
propriedade atributo
1 Escalabilidade Numero de exemplos
2 Nominais vs numericos Proporcao de atributos nominais
3 Robustez a valores desconhecidos Proporcao de valores desconhecidos
(missing)
4 Robustez a outliers Proporcao de atributos numericos com
outliers
5 Balanceamento e discriminacao
entre classes
Entropia das classes
6 Informacao discriminante nos
atributos nominais
Media da informacao mutua entre atri-
butos e classe
7 Informacao discriminante nos
atributos numericos
Primeira Correlacao Canonica
3.6.2 Meta-Dados que Descrevem as Experiencias Anteriores
Neste metodo e assumido que existe a informacao sobre o desempenho dos algoritmos
em varios conjuntos de dados. O desempenho relativo dos algoritmos para cada conjunto
de dados encontra-se guardado na base de dados de meta-dados (ver Tabela 3.3). Esta
informacao foi obtida avaliando os algoritmos em cada conjunto de dados utilizando um
esquema de avaliacao de validacao cruzada com 10 partes. Isto permite ter 10 estimativas
(pessimistas) do desempenho dos algoritmos no conjunto de dados considerado. Para
comparar os algoritmos utiliza-se um teste t com um nıvel de confianca de 95%. O
3.6 Abordagem Utilizando Caracterizacao dos Dados (MDC) 95
resultado do teste e utilizado como valor de referencia para a classe, isto e o valor
correspondente a decisao pretendida. Se Ap for melhor (pelo teste t) que Aq, entao
considera-se que a classe e igual a 1. Se, pelo contrario, Aq for melhor entao a classe e
igual a -1. No caso do teste ser inconclusivo entao define-se a classe igual a 0 15.
Os meta-dados que caracterizam os conjuntos conhecidos encontram-se representados na
Tabela 3.3.
Tabela 3.3: Informacao Armazenada Contendo as Medidas Extraıdas dos Dados e o
Desempenho Relativo dos Algoritmos
Conjunto De Dados M1 ... M7 Ap > Aq ?
1 M1,1 ... M7,1 1 ou -1 ou 0
2 M1,2 ... M7,2 1 ou -1 ou 0
... ... ... ... ...
n M1,n ... M7,n 1 ou -1 ou 0
3.6.3 Funcao de Distancia
Para identificar os conjuntos de dados mais semelhantes, considerando os atributos de
caracterizacao definidos na Seccao anterior, e necessario calcular a distancia entre o novo
conjunto de dados e os conjuntos de dados conhecidos. Considere que Ma,b representa o
valor do atributo com ındice a para o conjunto de dados de ındice b. Por exemplo M1,1
representa o atributo numero de exemplos do conjunto de dados D1 e M5,6 representa a
entropia das classes do conjunto de dados D6.
A distancia entre os conjuntos de dados di e dj e definida pela seguinte equacao:
d(di, dj) =7∑
a=1
δ(Ma,i, Ma,j)
max(Ma,•)−min(Ma,•)(3.7)
em que
δ(Ma,i, Ma,j) =
0 se Ma,i = NA ∧Ma,j = NA
2 se (Ma,i = NA ∨Ma,j = NA) ∧ (Ma,i 6= NA ∨Ma,j 6= NA)
|Ma,i −Ma,j | se Ma,i 6= NA ∧Ma,j 6= NA
15Este e um aspecto em que metodo adaptado difere de [BSC03].
96 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
em que Ma,• representa o vector com todos os valores que o atributo de ındice a tem para
os varios conjuntos de dados. No caso de algum dos valores Ma,i ou Ma,j ser nao disponıvel
(representado pelo valor NA) 16 e necessario definir como se calculam os modulos das
diferencas apresentadas na equacao 3.7. Assim, se Maie Maj
forem ambos NA entao a
distancia e considerada igual a 0. Se apenas um dos valores for NA entao a diferenca e
considerada igual a 2.
3.6.4 Descricao Algorıtmica do Metodo MDC
A Figura 3.11 apresenta uma descricao algorıtmica de MDC utilizando pseudo-codigo.
Funcao MDC(novo,k)
// novo e o ındice do novo conjunto de dados na matriz
Matributo,conjuntodedados
inıcio1
para cada ds ∈ Conjuntos De Dados Conhecidos faca2
distds ← distancia (novo, ds)3
// Determina os ındices dos conjuntos de dados com as k menores
distancias (distds)
vizinhos ← mais pequenos (k,distds)4
classe ← 05
para cada ds ∈ vizinhos faca6
ultimo ← arg maxind
{si : sind ≤ #Dnovo} // ind ∈ {1, · · · , m}7
se A′
p,ultimo,ds ≥ A′
q,ultimo,ds entao8
classe ← classe + 19
senao10
classe ← classe − 111
se classe ≥ 0 entao12
retorna +113
senao14
retorna −115
fim16
Figura 3.11: Metodo MDC (descricao algorıtmica)
16Por exemplo num conjunto de dados sem atributos numericos nao faz sentido definir o atributo M7
(primeira correlacao canonica).
3.7 Conclusoes e Discussao 97
Funcao distancia(i,j)
dist =∑7
a=1δ(Ma,i,Ma,j)
max(Ma,•)−min(Ma,•)1
retorna dist2
Funcao δ(v1,v2)
dif =
0 se v1 = NA ∧ v2 = NA
2 se v1 = NA ∨ v2 = NA ∧ (v1 6= NA ∨ v2 6= NA)
| v1− v2 | se v1 6= NA ∧ v2 6= NA
retorna dif
1
Figura 3.12: Funcoes Utilizadas pelo Metodo MDC
3.7 Conclusoes e Discussao
3.7.1 Resumo dos Objectivos
A escolha do algoritmo de classificacao mais apropriado para um determinado conjunto
de dados e um problema motivado, essencialmente, por razoes praticas. O grande numero
de algoritmos de classificacao actualmente disponıveis torna impraticavel uma avaliacao
exaustiva. Alem disso, sabe-se que nao existe, nem pode existir, um algoritmo que supere
todos os outros algoritmos em todos os problemas de classificacao [Wol96]. Assim, e
necessario escolher o algoritmo mais adequado para o problema (conjunto de dados)
considerado. Em tracos gerais, pretendemos prever, o mais correctamente possıvel, qual
o algoritmo que consegue um melhor desempenho quando treinado no conjunto de dados
considerado. Pretendemos ainda que o metodo de previsao tenha custos significativa-
mente inferiores a escolha por intermedio da avaliacao dos algoritmos.
Embora o problema possa ser enunciado como a escolha de 1 entre N algoritmos con-
siderados, decidimos abordar o caso em que existem apenas dois algoritmos (N=2). O
problema mais geral, em que se pretende escolher 1 entre N>2 algoritmos, pode ser
resolvido a custa das escolhas que consideram pares de algoritmos17.
O nosso objectivo foi desenvolver um metodo que tivesse um bom desempenho em termos
de taxa de acertos, que fosse competitivo com outras abordagens e que permitisse poupar
tempo de computacao em relacao a uma abordagem que efectuasse uma avaliacao dos
algoritmos. Nesse sentido propusemos o metodo AMDS [LB05, LB07b, LB07a].
17Na Seccao sobre as possıveis extensoes do metodo, apresentamos formas de tratar o problema
da escolha de 1 entre N algoritmos possıveis, utilizando varias classificacoes que envolvem pares de
algoritmos.
98 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
3.7.2 Resumo dos Metodos Apresentados
Metodo AMDS
O metodo AMDS realiza a escolha do algoritmo utilizando o conhecimento parcial das
curvas de aprendizagem obtidas pelos algoritmos no novo conjunto de dados. A ideia e
definir, parcialmente, o par de curvas de aprendizagem utilizando um numero reduzido de
pontos. Os pontos definidos constituem os atributos preditivos utilizados pelo metodo.
O metodo identifica pares de curvas, associados a outros conjuntos de dados, que sejam
similares. As curvas identificadas sofrem um processo de adaptacao, ajustando-se as
curvas parcialmente conhecidas do novo conjunto de dados, para que incorporem mais
informacao sobre o novo caso. Finalmente, o desempenho relativo dos algoritmos obser-
vado nesses conjuntos de dados (nas curvas adaptadas) e analisado e o metodo escolhe o
algoritmo que se mostrou melhor na maioria dos conjuntos de dados.
Metodo para Construir a Sequencia de Atributos (SetGen)
Quando desenvolvemos o metodo AMDS deparamo-nos com a seguinte questao:
Que pontos do par de curvas parciais de aprendizagem devemos utilizar para obter uma
previsao com elevada confianca (elevada taxa de acertos para AMDS) e que ao mesmo
tempo tenha um custo computacional baixo?
Se o metodo utilizar mais pontos, definindo melhor as curvas parciais de aprendizagem,
e expectavel que se obtenham previsoes mais correctas. No entanto, os custos compu-
tacionais sao maiores. Se, pelo contrario, quisermos reduzir o custo devemos observar
uma descida na taxa de acertos de AMDS. Trata-se de uma questao nao trivial para
o utilizador, pelo que desenvolvemos um metodo (SetGen) que constroi a sequencia de
atributos a ser utilizada. O metodo SetGen constroi a sequencia de atributos comecando
por uma sequencia inicial (que pode ser vazia) e vai acrescentando atributos simulando
(experiencias virtuais) as possıveis consequencias para o metodo AMDS, em termos de
taxa de acertos e custos computacionais.
As variantes do metodo AMDS: AMDS-Simples e AMDS-SetGen
Para distinguirmos a forma como o metodo e aplicado, com ou sem construcao da
sequencia de atributos, decidimos considerar duas variantes do metodo AMDS: AMDS-
3.7 Conclusoes e Discussao 99
Simples e AMDS-SetGen. No caso da variante AMDS-Simples, considera-se que o uti-
lizador indica quais os atributos (pontos do par de curvas parciais de aprendizagem) a
ser utilizados pelo metodo AMDS. No caso da variante AMDS-SetGen, considera-se que
a sequencia de atributos nao e indicada pelo utilizador, mas sim construıda pelo metodo
SetGen.
Metodo baseado na caracterizacao dos dados (MDC)
Apresentamos tambem neste Capıtulo outro metodo (MDC) que decide, nao em funcao
dos desempenhos dos algoritmos em subconjuntos de dados, mas sim utilizando carac-
terısticas dos dados extraıdas dos conjuntos de dados. O objectivo foi apresentar uma
alternativa concorrente ao nosso metodo. A abordagem e diferente pois utiliza a carac-
terizacao dos dados em vez da caracterizacao (parcial) do desempenho dos algoritmos.
O metodo MDC foi adaptado de outro metodo [BSC03], utilizado para prever o ranking
de algoritmos para um determinado conjunto de dados. As caracterısticas dos dados nao
estao directamente relacionadas com os algoritmos em questao. No entanto, representam
propriedades dos conjuntos de dados que podem servir para discriminar os algoritmos
quanto ao desempenho relativo. Por exemplo, um estudo empırico [PPS03] demonstrou
que a regressao logıstica (para classificacao) funciona melhor para conjuntos de treino mais
pequenos e que as arvores de decisao tem melhores resultados para grandes conjuntos de
treino. Assim, uma caracterıstica que pode ser util para discriminar algoritmos deste tipo
(regressao logıstica versus arvores de decisao) e a dimensao dos conjuntos (por exemplo,
o numero de casos)
Escolhemos utilizar um conjunto reduzido de medidas de caracterizacao que se demons-
trou util no problema do ranking dos algoritmos [Soa04].
3.7.3 Contribuicoes
Apresentamos neste Capıtulo argumentos que suportam a expectativa que os metodos
que desenvolvemos terao sucesso na resolucao dos problemas propostos. No entanto, estas
expectativas devem ser testadas. No proximo Capıtulo vamos apresentar e interpretar os
resultados de experiencias que realizamos para testar os metodos. As contribuicoes dos
metodos que desenvolvemos, apresentadas aqui, sao baseadas nessas mesmas expectativas.
100 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
As principais contribuicoes e aspectos originais do metodo que desenvolvemos sao as
seguintes:
• Utilizacao do mecanismo de adaptacao das curvas de aprendizagem iden-
tificadas. Resultados anteriores revelaram que mesmo utilizando os pontos das
curvas de aprendizagem perto de 100% dos dados, os metodos nao conseguiam
obter previsoes correctas [FP01, SPB01]. Utilizando o ultimo ponto das curvas
de aprendizagem devia ser possıvel escolher o melhor algoritmo pois isto corres-
ponderia a avaliar os algoritmos no conjunto de dados em causa. O mecanismo
de adaptacao corrigiu este aspecto, pois permitiu combinar a informacao (parcial)
sobre o desempenho dos algoritmos em subconjuntos do novo conjunto de dados
com a informacao conhecida sobre o desempenho dos mesmos noutros conjuntos de
dados.
• A caracterizacao do desempenho de cada algoritmo no novo conjunto de
dados e feita de forma independente. Anteriores abordagens consideravam
que os algoritmos eram treinados nos mesmos subconjuntos de dados. No entanto,
alguns algoritmos podem apresentar curvas de aprendizagem que estabilizam mais
cedo (no inıcio das curvas). A informacao mais relevante para tomar a decisao pode
estar em lugares diferentes das curvas de aprendizagem (depende do algoritmo).
• A caracterizacao iterativa do novo conjunto realizada pelo metodo na
variante AMDS-SetGen. Em abordagens anteriores, a caracterizacao era uma
fase que decorria antes do processo de meta-aprendizagem que realizava a previsao
(ou recomendacao). No processo que desenvolvemos, a caracterizacao e feita de
forma iterativa. A sequencia de atributos e construıda de forma incremental acres-
centando um atributo de cada vez. Em cada passo deste processo sao estimadas
as consequencias para o metodo AMDS, em termos de taxa de acertos e de cus-
tos computacionais, do facto de se introduzir um novo atributo na sequencia de
atributos.
3.7.4 Alternativas do Metodo SetGen
O metodo SetGen e utilizado pela variante AMDS-SetGen para construir a sequencia
de atributos que ira ser posteriormente utilizada pelo metodo AMDS. No desenvolvi-
mento deste metodo, para definir os atributos mais adequados, tivemos que tomar opcoes
3.7 Conclusoes e Discussao 101
quanto a forma como farıamos a procura e tambem como avaliavamos cada sequencia
de atributos. Nesta Seccao, discutimos as razoes que nos levaram a tomar certas opcoes
e apresentamos formas alternativas de realizar a procura e avaliacao das sequencias de
atributos.
3.7.4.1 Utilizacao de Procuras nao Gananciosas em SetGen
Poder-se-ia utilizar outros metodos de procura na construcao da sequencia de atributos.
No entanto, metodos nao gananciosos (greedy), que exploram o espaco de forma mais
exaustiva teriam, previsivelmente, um custo computacional que poderia invalidar o ob-
jectivo proposto (poupar tempo em relacao ao treino dos algoritmos na totalidade dos
dados do novo conjunto de dados). O problema nao reside apenas no numero de estados
gerados na procura, mas tambem no facto da avaliacao de alguns estados implicar o
calculo de novos atributos, e portanto um custo computacional acrescido.
3.7.4.2 Avaliacao mais Robusta das Sequencias de Atributos
No processo de construcao da sequencia de atributos, o metodo considera em cada passo
todas as possıveis extensoes a sequencia actual. As varias extensoes, que sao tambem
sequencias de atributos, necessitam ser avaliadas de forma a que o metodo escolha a
melhor alternativa. A avaliacao da sequencia de atributos compreende o calculo de
estimativas para a taxa de acertos e custo computacional que o metodo AMDS tera
se usar os atributos pertencentes a sequencia considerada. Para tal, utilizamos uma
avaliacao do tipo “deixa-um-fora” que e conhecida por fornecer estimativas do erro
(ou da taxa de acertos) com variancia elevada. A variancia nas estimativas pode ser
reduzida se recorrermos, por exemplo, a um metodo de avaliacao do tipo bootstrap
[Efr83, ET93, Koh95] para obter estimativas com menor variancia. No entanto, este
tipo de avaliacao tem custos muito mais elevados.
3.7.5 Extensoes e Trabalho Futuro
3.7.5.1 Extensao do Metodo para N Algoritmos
O metodo que desenvolvemos permite prever, dados 2 algoritmos, qual dos algoritmos
e o mais adequado para um determinado conjunto de dados. O que acontece se con-
102 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
siderarmos mais do que dois algoritmos? Caso N>2 algoritmos, podemos estender o
metodo de forma relativamente simples. Embora este topico nao seja aprofundado nesta
tese, vamos apresentar algumas ideias sobre como este problema pode ser abordado. O
aprofundamento deste topico sera feito em trabalho futuro.
A abordagem mais comum para tratar este problema, supondo que existem as classes
C1 · · ·CN , consiste em realizar N previsoes binarias do tipo Ci contra as outras classes.
No final, a previsao que tiver um nıvel de confianca maior e utilizada para prever a classe
no problema original. O maior inconveniente desta abordagem e que, no caso de haver
muitas classes, o balanceamento das classes nos varios problema de classificacao binarios
e muito desequilibrado.
Outra abordagem diferente consiste em realizar classificacoes binarias para cada par de
classes, sendo o conjunto de treino constituıdo pelos casos que sejam dessas classes.
Podemos transformar um problema de classificacao com N classes em 12N × (N − 1)
problemas de classificacao binarios. Esta e uma abordagem viavel e com bons resultados
[Fur02]. A classificacao e realizada contabilizando o numero de vezes que cada algoritmo
e indicado como melhor algoritmo, escolhendo no fim deste processo aquele que mais
vezes foi recomendado. Se considerarmos que o metodo aplicado a um par de algoritmos
e conjunto de dados pode nao recomendar nenhum dos algoritmos, entao a contabilizacao
e mais complexa. Utilizando uma metafora, podemos ver esta contabilizacao como um
torneio desportivo em que os algoritmos sao as equipas. Cada equipa deve defrontar
todas as outras uma e uma so vez. Suponhamos que esta a ser feita a previsao do melhor
algoritmo, no caso algoritmo A versus algoritmo B. Se o metodo recomendar o algoritmo
A entao este algoritmo recolhe 2 pontos. Caso a previsao do metodo seja 0, isto e nenhum
dos algoritmos e recomendado, atribui-se 1 ponto a cada algoritmo (A e B).
Um inconveniente desta abordagem e o numero elevado de classificacoes binarias que pare-
cem ser necessarias para decidir o melhor de N algoritmos. Na realidade, o numero efectivo
de classificacoes binarias que e necessario fazer devera ser inferior ao numero de pares.
Considerando novamente a metafora do torneio, observamos que e possıvel que a um dado
momento da competicao algumas equipas nao tenham quaisquer hipoteses matematicas de
ficarem em primeiro lugar. Todas as partidas que envolvam duas equipas sem hipoteses
de ganhar a competicao podem ser canceladas pois nao interferem com a pontuacao
das outras equipas. Esta questao do numero de classificacoes binarias necessarias para
realizar uma classificacao com N classes foi provada [PF07] ser frequentemente inferior a
N × (N − 1).
3.7 Conclusoes e Discussao 103
3.7.5.2 Utilizacao da Informacao nas Sequencias de Atributos Anteriores
Suponhamos que se pretende aplicar o nosso metodo sob o mesmo conjunto de dados mas
a diferentes pares de algoritmos. Esta situacao e motivada, por exemplo, do problema
de decisao do melhor algoritmo, de entre N possıveis, para um determinado conjunto de
dados. Consideremos ainda, sem perda de generalidade, que os problemas de classificacao
binarios sao os seguintes: (A1 versus A2) e (A2 versus A3). Quando o metodo AMDS-
SetGen realiza a previsao para o problema (A1 versus A2) e construıda uma sequencia de
atributos que caracteriza os desempenhos dos algoritmos A1 e A2 em varios subconjuntos
do conjunto dado. A sequencia de atributos devera conter alguns atributos relacionados
com o algoritmo A2. Estes atributos podem ser utilizados, sem nenhum custo adicional,
na sequencia de atributos utilizada pelo metodo AMDS-SetGen quando aplicado ao
problema (A2 versus A3). Este processo permitira reduzir o custo computacional.
3.7.5.3 Utilizacao de Informacao sobre outros Algoritmos
Sera que, por exemplo a caracterizacao dos algoritmos A1 e A2 e util para o problema
de classificacao binaria em que nem A1 nem A2 estejam em causa, por exemplo para
o problema (A3 versus A4)? Nao e descabido considerar que alguns algoritmos podem
indicar o desempenho de outros. Esta mesma ideia foi seguida anteriormente por varios
autores que a designaram por landmarks [PBGC00, BGC00]. A ideia era utilizar o
desempenho de algoritmos rapidos para caracterizar os conjuntos de dados. Depois
era necessario aprender o relacionamento entre essas caracterısticas (desempenhos nos
landmarks) e os desempenhos nos algoritmos base considerados.
A nossa ideia e utilizar uma especie de mistura entre a caracterizacao utilizando o
desempenho dos algoritmos em subconjuntos (sampling landmarking) em conjugacao com
o desempenho de outros algoritmos na totalidade do conjunto de dados. Esta ideia parece-
nos muito promissora pois permite poupar ainda mais nos custos computacionais.
Esta extensao do metodo considera como potenciais variaveis preditivas todos os atribu-
tos avaliados ate ao momento, relacionados ou nao com os algoritmos considerados na
classificacao binaria em causa.
104 Capıtulo 3. Metodos para Escolher o Melhor de dois Algoritmos
3.7.5.4 Utilizacao de Medidas de Caracterizacao dos Dados como Atributos
Adicionais
A utilizacao de medidas que caracterizam os dados contidos em cada conjunto de dados
foi demonstrada util na escolha de algoritmos (ver Seccao 3.6). No entanto, as medidas
que utilizamos no metodo AMDS sao baseadas no desempenho dos algoritmos conside-
rados em subconjuntos do conjunto considerado. Podemos estender o metodo AMDS,
nas variantes AMDS-Simples e AMDS-SetGen, incluindo no processo de caracterizacao
todas estas medidas. No caso da variante AMDS-SetGen, esta ideia pode ainda ser
potencialmente mais interessante. Consideremos que foram identificadas varias medidas
que podem ser uteis para tomar a decisao. O metodo SetGen pode simular a inclusao
duma destas medidas, prever o efeito no desempenho de AMDS, e finalmente decidir ou
nao incluı-la. Isto e de interesse pois algumas medidas podem ser mais relevantes que
outras para distinguir o desempenho dos dois algoritmos considerados.
3.7.5.5 Extensao do Metodo para Ordenacao (Ranking) de Algoritmos
A extensao do nosso metodo para a previsao da ordem (ranking) dos algoritmos pode ser
feita aplicando um processo semelhante ao descrito para o problema de classificacao com
N Classes.
A ideia e realizar o torneio dos algoritmos e no fim ordenar as classificacoes. Analogamente
ao que se sugeriu no caso da classificacao com N algoritmos, o numero necessario de
classificacoes considerando pares de algoritmos devera ser inferior a 12N × (N − 1) se
estivermos interessados em apenas as X primeiras posicoes da ordenacao. Nesse caso o
numero de classificacoes binarias pode ser reduzido. Isto porque, numa fase intermedia
do “torneio”, pode ser matematicamente impossıvel a um algoritmo atingir uma das X
primeiras posicoes, mesmo que nas restantes classificacoes binarias seja sempre recomen-
dado como o melhor. Neste contexto, podem ser eliminadas todas as classificacoes que
envolvam algoritmos sem quaisquer hipoteses de atingir as X primeiras posicoes.
No proximo Capıtulo, vamos apresentar as experiencias que realizamos com o objectivo de
avaliar os metodos desenvolvidos. O objectivo da avaliacao e provar que e possıvel obter
previsoes com uma taxa de acertos elevada, melhor do que as obtidas pelas abordagens
baseadas em caracterizacao dos dados (MDC) e, ao mesmo tempo, com um custo menor
que a abordagem que decide por validacao cruzada (VC) qual o melhor algoritmo.
Capıtulo 4
Avaliacao Experimental
4.1 Introducao
No Capıtulo anterior foi descrito um metodo, denominado AMDS–SetGen, que permite
decidir qual o melhor algoritmo de classificacao, de entre dois especificados (Ap e Aq),
a aplicar num determinado conjunto de dados. A abordagem seguida pelo metodo
utiliza o desempenho dos algoritmos em subconjuntos de dados para seleccionar o melhor
algoritmo.
Uma abordagem diferente utiliza a caracterizacao dos conjunto de dados segundo carac-
terısticas dos dados para a tomada de decisao. No Capıtulo anterior descrevemos um
metodo, que designamos por MDC, que utiliza esta abordagem para escolher o melhor
algoritmo.
Neste Capıtulo vamos realizar a comparacao do nosso metodo (AMDS–SetGen) com o
metodo MDC. Pretendemos saber se o metodo que propomos consegue obter um melhor
desempenho na decisao do melhor algoritmo. Para isso, observaremos em simultaneo a
precisao dos metodos, bem como os custos, em termos computacionais, da utilizacao dos
mesmos em cada caso. Para efeitos de comparacao utilizaremos tambem o metodo que
decide qual o algoritmo a utilizar por validacao cruzada (VC) 1. A melhor decisao para
cada problema (decisao entre um par de algoritmos) e conjunto de dados e assumida pelos
restantes metodos como sendo a obtida por validacao cruzada.
1E aplicado um teste t para decidir com 95% de confianca qual o melhor algoritmo para cada conjunto
de dados
105
106 Capıtulo 4. Avaliacao Experimental
O metodo AMDS–SetGen determina de forma automatica quais os atributos a utilizar.
Devemos relembrar que estes atributos representam os desempenhos que os algoritmos
tem quando treinados em subconjuntos (do conjunto considerado) de dimensoes pre-
definidas (tamanhos s1, s2, · · · , sm). A escolha automatica e justificada pelo facto desta
escolha nao ser simples de fazer uma vez que a inclusao de atributos tem custos associados.
Assim, a escolha de atributos nao apenas e um problema de determinar os atributos que
maximizam a taxa de acertos e portanto distingue-se dos problemas habituais de seleccao
de atributos para os quais existem muitas solucoes [LM98].
Apresentamos argumentos que demonstram que este processo e melhor do que a utilizacao
de conjuntos pre-definidos de atributos.
4.2 Metodologia Experimental
Pretendemos comparar os metodos AMDS–SetGen, MDC e VC.
Foram conduzidas experiencias para tentar responder as seguintes questoes:
• E possıvel prever com elevada precisao qual o melhor algoritmo utilizando o metodo
proposto (AMDS–SetGen)?
• Qual o desempenho do metodo AMDS–SetGEn em comparacao com MDC? E mais
(ou menos) preciso? Tem custos computacionais maiores ou menores?
• Quais as consequencias, no problema de classificacao original, em termos de taxa
acertos, e custos computacionais, da escolha protagonizada pelo nosso metodo? E
quais as consequencias em relacao a MDC?
4.2.1 Algoritmos Escolhidos
Na avaliacao empırica foram escolhidos os seguintes algoritmos (ver Tabela 4.1). O criterio
de escolha foi baseado na diversidade dos tipos de modelos gerados 2.
2Temos modelos do tipo: arvores de decisao, conjuntos de regras de decisao, probabilısticos, baseados
em instancias (casos), etc.
4.2 Metodologia Experimental 107
Tabela 4.1: Algoritmos de Classificacao
IB1 Aprendizagem Baseada em Casos - 1–NN
J48 Arvore de Decisao - C4.5 [Qui93a]
JRip Regras de Decisao - RIPPER [Coh95]
Log Classificacao Logıstica - Logistic [lCvH92]
MLP Rede Neuronal Multi-camada
NB Naive Bayes
Para cada par de algoritmos distintos 3 podemos definir um determinado problema de
decisao. Esses problemas de classificacao sao representados por X na Tabela 4.2. No
nosso estudo estao envolvidos 15 problemas de decisao.
Tabela 4.2: Problemas de Classificacao: Pares de Algoritmos
IB1 J48 JRip Log MLP NB
IB1 X X X X X
J48 X X X X
JRip X X X
Log X X
MLP X
4.2.2 Conjuntos de Dados Seleccionados para o Estudo
Os metodos foram aplicados a 40 conjuntos de dados (ver Tabela 4.3), todos com pelo
menos 1000 casos. Alguns conjunto de dados foram retirados do repositorio UCI [BM98]
enquanto outros da coleccao de conjunto de dados utilizados no projecto MetaL [Met02].
4.2.3 Metodo de Avaliacao
O desempenho dos metodos e avaliado usando um processo do tipo deixa-um-fora (ver
2.8.2).
Para cada caso di (que representa um conjunto de dados) consideramos todos os outros
casos como conjunto de treino do nosso metodo. Isto e, estao disponıveis para os metodos
3A ordem dos algoritmos no par e irrelevante. Se, por exemplo, estudarmos o par J48 vs MLP ja nao
e necessario estudar o par MLP vs J48.
108 Capıtulo 4. Avaliacao Experimental
Tabela 4.3: Conjunto De Dados Utilizados no Estudo
Conjunto De Dados Numero de casos Conjunto De Dados Numero de casos
1 allhyper 3772 krkopt 28056
2 musk 6598 letter 20000
3 triazines 52264 waveform21 5000
4 taska part hhold 17267 sat 6435
5 ann 7200 acetylation 1511
6 led24 3200 shuttle 58000
7 segmentation 2310 quadrupeds 5000
8 mfeat 2000 page 5473
9 quisclas 5891 sick 3772
10 parity 1024 nursery 12960
11 adult metal 32561 allbp 3772
12 waveform40 5000 injury severity 7636
13 optdigits 5620 krvskp 3196
14 cmc 1473 thyroid0387 9172
15 recljan2jun97 33170 pyrimidines 6996
16 internetad 3279 pendigits 10992
17 abalone 4177 car 1728
18 isolet 7797 byzantine 17750
19 yeast 1484 splice 3190
20 spambase 4601 contraceptive 1473
nao so todos os atributos 4 que descrevem os casos de treino bem como as suas respectivas
classes, isto e, a decisao conhecida sobre qual o melhor algoritmo para o caso considerado.
Utilizando a caracterizacao do caso di, e todas as informacoes disponıveis sobre os outros
casos, os metodos preveem qual a classe que representa a melhor decisao para o caso
considerado.
4Para o metodo MDC estes atributos sao algumas caracterısticas dos dados como numero de casos do
conjunto de dados, proporcao de atributos numericos entre outras. No caso do metodo AMDS–SetGen,
esses atributos sao medidas de desempenho dos algoritmos considerados em varios subconjuntos, com
tamanhos pre-definidos, extraıdos de forma aleatoria uniforme (cada caso tem igual probabilidade de
pertencer ao subconjunto extraıdo) do conjunto dado.
4.2 Metodologia Experimental 109
A contabilizacao do numero de acertos (e falhas) permite-nos calcular a taxa de acertos.
A forma como calculamos a taxa de acertos para o meta–classificador e apresentada na
Seccao 4.2.4.
Os tempos gastos na obtencao dos atributos sao contabilizados. No caso do metodo
MDC, consideramos o tempo gasto no calculo das medidas de caracterizacao dos dados.
Para o metodo AMDS–SetGen e considerado o tempo gasto na obtencao dos atributos
de desempenho utilizados. Este processo de contabilizacao do tempo gasto e apresentado
na Seccao 4.2.6.
4.2.4 Taxa de Acertos do Meta-Classificador
Habitualmente quando se pretende avaliar classificadores e feita a comparacao dos valores
previstos com os verdadeiros valores da variavel classe para todos os casos do conjunto de
teste. A frequencia relativa de acertos e designada por taxa de acertos (acc). Assumindo
que yi e yi representam para o caso i os valores da classe verdadeira e classe prevista
respectivamente, a taxa de acertos e definida por:
acc = 1−
n∑
i=1
δ(yi, yi)
nem que δ(yi, yi) =
{
0 se yi = yi
1 no caso contrario(4.1)
No entanto, esta forma de calcular a taxa de acertos nao e a mais adequada a aplicacao
que fazemos dos metodos. No problema que se esta a estudar podem ocorrer tres tipos
diferentes de decisoes:
• Ap e escolhido pelo metodo (classe=+1)
• Aq e escolhido (classe=-1)
• Nenhum algoritmo e escolhido (classe=0).
Esta caracterizacao implica que a contabilizacao dos erros nao pode ser a mesma que
aquela apresentada na equacao 4.1. Se, por exemplo, para um determinado conjunto de
dados, for indiferente qual o algoritmo que escolhemos, entao qualquer que seja a decisao
do metodo esta e considerada correcta (penalizacao 0). Se, pelo contrario, o metodo preve
que se deve utilizar Ap e na realidade o melhor algoritmo e Aq entao comete-se um erro
(assume-se a penalizacao 1). Finalmente, se o metodo preve a classe 0, isto e, nao decide
110 Capıtulo 4. Avaliacao Experimental
qual o algoritmo a usar por os achar equivalentes e a verdadeira classe corresponder a
usar algoritmo Ap (ou Aq) entao comete-se um erro penalizado parcialmente (atribuımos
a penalizacao 0.5).
Decidimos designar esta medida por taxa de acertos do meta–classificador (m–acc),
calculada segundo a seguinte expressao:
m–acc = 1−n∑
i=1
δ′(yi, yi)
nem que δ′(yi, yi) =
1 se yi = −1 ∧ yi = +1
1 se yi = +1 ∧ yi = −1
0.5 se yi 6= 0 ∧ yi = 0
0 nos restantes casos
(4.2)
No resto desta tese usaremos simplesmente a expressao taxa de acertos ou m–acc para
nos referirmos a taxa de acertos do meta–classificador calculada segundo a equacao 4.2.
4.2.5 Taxa de Acertos de Referencia
Para se poder aferir da dificuldade base de cada problema e calculada a taxa de acertos de
referencia. Por exemplo, para o problema J48 versus NB (naivebayes) pretende-se decidir
qual deste dois algoritmos devemos usar num novo conjunto de dados. A resposta a esta
pergunta, assumindo que nada se sabe sobre o novo conjunto de dados, e simplesmente
decidir usar o algoritmo que mais vezes superou o outro, segundo a nossa experiencia.
Avaliando ambos os algoritmos nos conjunto de dados considerados no estudo temos a
situacao expressa na Tabela 4.4. Por exemplo, na linha identificada por “J48 > NB” o
numero 27 mostra em quantos conjunto de dados o algoritmo J48 superou o algoritmo
NB (com taxa de acertos maior estatisticamente significativa - t test conf=0.95). Em
6 conjuntos de dados J48 foi pior e em 7 casos as diferencas de desempenho nao sao
estatisticamente significativas.
Se tivermos que decidir que algoritmo usar, e nada soubermos sobre o novo conjunto de
dados, decidimos utilizar J48 em detrimento de NB. Avaliando esta decisao segundo o
que definimos como taxa de acertos (m–acc) obtemos:
m–acc =27 + 7
40= 0.85
4.2 Metodologia Experimental 111
Tabela 4.4: Frequencia Absoluta de Decisoes Baseadas em VC (com t-test conf. 0.95)
para o Problema J48 versus NB
Numero de casos
J48 > NB 27
J48 < NB 6
J48 ∼= NB 7
Consideremos o problema generico que envolve a avaliacao dos algoritmos Alg1 e Alg2
em n conjuntos de dados (n = n1+n2+n3). A Tabela 4.5 apresenta a situacao generica
em que em n1 representa o numero de conjuntos em que Alg1 e superior, n2 em que
e inferior e n3 em que sao “equivalentes”. Neste caso, a taxa de acertos e dada pela
seguinte expressao:
m–acc =max{n1, n2}
n1 + n2 + n3
Tabela 4.5: Frequencia Absoluta de Decisoes Baseadas em VC (com t-test conf. 0.95)
para o Problema Generico Alg1 versus Alg2
Numero de casos
Alg1 > Alg2 n1
Alg1 < Alg2 n2
Alg1 ∼= Alg2 n3
Utilizaremos no resto da tese a expressao taxa de acertos de referencia para nos referirmos
as taxas de acertos que representam a dificuldade base do problema de seleccao dos
algoritmos.
4.2.6 Custos Computacionais dos Metodos e Comparacao com
VC
Os custos computacionais contabilizados para cada metodo correspondem ao tempo
necessario para calcular os atributos utilizados por estes. No caso do metodo MDC
112 Capıtulo 4. Avaliacao Experimental
este tempo corresponde ao gasto no calculo das medidas, enquanto para o caso do
metodo AMDS–SetGen (ou a variante AMDS–Simples) e o necessario para treinar e
testar os algoritmos nas amostras associadas aos atributos. Para o caso do metodo VC
contabiliza-se o tempo gasto para avaliar o par de algoritmos considerado utilizando
validacao cruzada.
Para comparar os custos computacionais dos metodos, utilizamos um racio dos custos
computacionais gastos pelo metodo pelos custos envolvidos numa solucao baseada em
validacao cruzada (VC). Seja CM,d o custo computacional gasto pelo metodo M na decisao
do melhor algoritmo (Ap e Ap) para o conjunto de dados d. Designemos por CV C,d o custo
computacional da mesma decisao baseada em validacao cruzada. O racio que serve para
comparacao do metodo M com VC e dado por:
RM,d =CM,d
CV C,d
(4.3)
Quando efectuamos uma avaliacao do tipo deixa-um-fora obtemos um racio de custo
computacional CM,d para cada conjunto de dados d considerado. Para obter uma visao
geral da poupanca (ou desperdıcio) de tempo do metodo em relacao a abordagem da VC
agregamos o racio usando uma media geometrica definida pela seguinte expressao:
RM = n
√∏
di
RM,di (4.4)
4.3 Metodo Proposto versus Metodo Baseado em
Caracterısticas dos Dados (MDC)
Nesta Seccao sao apresentados os resultados da avaliacao dos metodos AMDS-SetGen e
MDC. Utilizou-se uma parametrizacao fixa para os parametros k e ∆. A procura do valor
para o parametro ∆ e apresentada na Seccao 4.4.1. As escolhas dos k’s para os metodos
AMDS-SetGen e MDC sao apresentadas nas seccoes 4.4.2 e 4.5, respectivamente.
O valor do parametro ∆ do metodo AMDS–SetGen foi fixado em 0.07. O valor de k
para o metodo AMDS–SetGen e 23, correspondendo a aproximadamente 59% dos casos
(conjuntos de dados). Para o metodo MDC utilizou-se k igual a 7 (aproximadamente 18%
dos casos). Embora numa situacao real seja possıvel determinar primeiro qual o valor de
4.3 Metodo Proposto versus Metodo Baseado em Caracterısticas dos Dados(MDC) 113
k que obteve melhores resultados no passado para problema dado (ex. J48 versus JRip),
neste caso, optou-se por escolher o mesmo valor de k para a totalidade dos problemas.
Pretende-se avaliar os dois metodos utilizando os parametros escolhidos. No entanto, o
utilizador podera ainda optimiza-los .
Avaliou-se os dois metodos utilizando um metodologia do tipo deixa-um-fora descrita na
Seccao 2.8.2.
As taxas de acertos (m–acc) obtidas pelos dois metodos sao apresentadas na Tabela
4.6. Tambem sao apresentados os desempenhos dos dois metodos em termos de m–acc
para cada problema de (meta)classificacao binaria. Na primeira coluna e apresentado o
problema em questao (por exemplo IB1–J48). Na coluna seguinte mostra-se a taxa de
acertos de referencia que serve para ilustrar a dificuldade a priori do problema considerado
(por exemplo, no primeiro problema temos 80% de acerto a priori). Nas terceira e quarta
colunas apresenta-se os resultados do metodo proposto e do metodo MDC, respectiva-
mente. Por fim, a diferenca de desempenho entre os dois metodos e apresentada na ultima
coluna. Na ultima linha, apresenta-se a media da respectiva coluna.
Observa-se que, na maior parte dos casos, o metodo proposto (AMDS–SetGen) obtem
um melhor desempenho, em termos de m–acc, face ao metodo MDC que se baseia em
caracterısticas dos dados. Em apenas um caso o nosso metodo obtem resultados piores.
O resultado favoravel mais expressivo e obtido no problema J48–LOG que apresenta
uma taxa de acertos de referencia de 77.78% (que exibe a sua dificuldade a priori) e que
pelo nosso metodo se consegue elevar para 97.22%. Neste mesmo caso, o metodo MDC
funciona muito mal nao conseguindo melhorar a taxa de acertos de referencia.
Observa-se na ultima linha da Tabela que o nosso metodo apresenta em media uma m–acc
10.33% (em diferenca absoluta) superior a obtida por metodo MDC. Em 9 casos (de 15)
a m–acc do metodo AMDS–SetGen e 10% superior a atingida por metodo MDC.
No que diz respeito aos custos computacionais, os resultados referentes a ambos os
metodos sao apresentados na Tabela 4.7. Tal como na Tabela 4.6 tambem nesta Tabela se
apresenta na primeira coluna o problema considerado. Na segunda e terceira colunas sao
apresentados os custos computacionais expressos em forma de racio do custo do metodo
pelo custo da decisao por validacao–cruzada (VC).
Constata-se que o nosso metodo e mais lento em comparacao com metodo MDC. Em
media, o metodo MDC e vinte vezes mais rapido que o metodo AMDS–SetGen, o que
pode ser explicado pelo custo do calculo das medidas de caracterizacao dos conjunto de
114 Capıtulo 4. Avaliacao Experimental
Tabela 4.6: Taxas de Acertos (m–acc) para os Metodos MDC (k=7) e AMDS-SetGen
(k=23, ∆=0.07)
Taxa de MDC AMDS-SetGen Dif.
acertos base 7–NN 23–NN (∆=0.07)
IB1-J48 80.00 95.00 92.50 −2.50
IB1-JRip 72.50 87.50 90.00 2.50
IB1-LOG 66.67 80.56 91.67 11.11
IB1-MLP 84.21 85.53 92.11 6.58
IB1-NB 67.50 70.00 87.50 17.50
J48-JRip 75.00 76.25 90.00 13.75
J48-LOG 77.78 70.83 97.22 26.39
J48-MLP 63.16 75.00 89.47 14.47
J48-NB 85.00 76.25 90.00 13.75
JRip-LOG 75.00 72.22 91.67 19.45
JRip-MLP 68.42 81.58 89.47 7.89
JRip-NB 82.50 78.75 90.00 11.25
LOG-MLP 80.00 78.57 91.43 12.86
LOG-NB 94.44 94.44 94.44 0.00
MLP-NB 94.74 94.74 94.74 0.00
Media 77.79 81.15 91.48 10.33
dados ser mais baixo que o custo envolvido no treino dos algoritmos base (Ap e Aq)
em subconjuntos do conjunto de dados em questao. Para alem disso, a caracterizacao
baseada nos dados e executada uma vez no conjunto de dados completo. Pelo contrario,
cada medida de desempenho dos algoritmos num subconjunto de dados e repetida dez
vezes para construir curvas de aprendizagem (parciais) mais fiaveis. Cada estimativa de
4.3 Metodo Proposto versus Metodo Baseado em Caracterısticas dos Dados(MDC) 115
desempenho e uma media de dez valores obtidos em diferentes ciclos de validacao cruzada5 6.
Em comparacao com VC o metodo que propomos e 7 vezes mais rapido.
O caso mais desfavoravel refere-se ao problema LOG–MLP que envolve algoritmos muito
lentos. No entanto, neste caso o investimento compensou pois os ganhos em taxas de
acertos para este problema sao substanciais (12.86%).
5Comeca-se por dividir o conjunto de dados em 10 partes (folds) de tamanho igual, parte1, parte2,
· · · , parte10. Depois o processo decorre em 10 iteracoes. Em cada uma das iteracoes vamos obter uma
medicao para a medida de desempenho para o algoritmo Alg e tamanho s em causa. A medida de
desempenho final e a media destas ultimas. Em cada iteracao i considera-se que partei sera usado como
conjunto de teste e todas as outras como conjunto de treino. Calculamos a medida de desempenho
relacionada com o fold i, algoritmo Alg e tamanho s treinando o algoritmo Alg no subconjunto extraıdo
por amostragem aleatoria uniforme (cada elemento tem igual probabilidade de pertencer ao subconjunto)
e avaliado no conjunto de treino partei.6Se se usasse menos ciclos de validacao cruzada talvez o metodo continuasse a funcionar bem. No
entanto, tal nao e garantido ja que esta reducao trara os inconvenientes relacionados com a estabilidade
das curvas de aprendizagem (parciais) em que assentam as previsoes.
116 Capıtulo 4. Avaliacao Experimental
Tabela 4.7: Custos Computacionais dos Metodos AMDS–SetGen e MDC em Relacao com
os Custos por VC
AMDS-SetGen MDC
23–NN (∆=0.07) 7–NN
IB1-J48 0.019 0.008
IB1-JRip 0.075 0.007
IB1-LOG 0.185 0.004
IB1-MLP 0.070 0.001
IB1-NB 0.059 0.008
J48-JRip 0.136 0.032
J48-LOG 0.299 0.017
J48-MLP 0.332 0.002
J48-NB 0.258 0.115
JRip-LOG 0.423 0.011
JRip-MLP 0.216 0.001
JRip-NB 0.200 0.035
LOG-MLP 0.508 0.001
LOG-NB 0.082 0.020
MLP-NB 0.041 0.002
Media
Geometrica 0.137 0.007
4.4 Escolha do Valor dos Parametros ∆ e k do Metodo
AMDS–SetGen
O metodo AMDS–SetGen possui dois parametros que tem que ser ajustados. Como ja foi
referido na Seccao anterior, este ajuste e feito pois pretendemos utilizar a parametrizacao
mais favoravel para cada um dos metodos.
O parametro ∆ afecta a forma como sao escolhidos os atributos usados pelo metodo
AMDS-SetGen. Em geral, valores pequenos para este parametro resultam em mais pontos
nas curvas de aprendizagem parciais usadas na previsao do melhor algoritmo, o que
implica um aumento do custo computacional mas tambem num aumento da precisao da
previsao. Pelo contrario, valores grandes para ∆ resultam em menor custo mas tambem
4.4 Escolha do Valor dos Parametros ∆ e k do Metodo AMDS–SetGen 117
em menor precisao da previsao (menor taxa de acertos m–acc). A escolha do valor deste
parametro e bastante dependente do criterio do utilizador. Se o utilizador quiser poupar
tempo entao devera escolher um valor mais alto para o ∆. Se pelo contrario, o utilizador
quiser que o metodo escolha com elevada precisao o algoritmo a utilizar dando pouco
importancia aos custos computacionais entao escolhera um ∆ mais baixo. Se o utilizador
nao der nenhuma importancia ao tempo entao escolhera o algoritmo utilizando validacao
cruzada. Vamos considerar no nosso estudo que o utilizador escolhe um ∆ que lhe permita
poupar algum tempo utilizando o nosso metodo. O objectivo e gastar apenas 15
do tempo
gasto pela escolha baseada em validacao cruzada.
A escolha do parametro k devera afectar sobretudo a taxa de acertos. Embora possam
existir alguns efeitos sobre os custos computacionais estes deverao ser controlados pelo
parametro ∆ e nao pelo k.
Pretendemos ajustar os dois parametros de forma a poder estudar a situacao mais
favoravel em termos de taxa de acertos e que ao mesmo tempo resulte numa poupanca
de tempo.
Os valores possıveis considerados para o parametro ∆, para o qual executamos o metodo
AMDS-SetGen, sao 0.2, 0.1, 0.07, 0.05, 0.02, 0.01, 0.005, 0.002, 0.001. Quanto ao
parametro k decidimos usar os valores 1, 3, 7, 15, 23, 31, 39. Escolheu-se apenas os
valores ımpares mais proximos 7a que correspondem as proporcoes (pela mesma ordem)
do numero de casos (conjunto de dados) 3%, 10%, 20%, 40%, 50%, 60%, 80% e 100%.
Assim estamos a considerar escolhas de um par de parametros numa grelha de valores
com dimensao 9 x 7. Representemos essa grelha por Mi,j i ∈ {1, · · · , 9} e j ∈ {1, · · · , 7}.
Por exemplo M1,3 e a taxa de acertos (m–acc) obtida pelo metodo quando o parametro
∆ foi fixado em 0.2 e o parametro k foi fixado em 7.
Que parametro devemos ajustar primeiro, o ∆ ou o k? Para responder a esta pergunta
vamos averiguar como varia a taxa de acertos (m-acc) quando fixamos um dos parametros.
Por exemplo, podemos fixar o valor do parametro ∆ e variar apenas o parametro k,
observando o que acontece com a taxa de acertos (m–acc). Qual a amplitude da variacao
para esse valor do parametro ∆? Se considerarmos que fixamos ∆ no valor 0.2 entao a
amplitude referida e definida por max(M1j1)−min(M1j 2) e para as experiencias realizadas
7Considerando que existe um conjunto de dados de fora para avaliar os metodos entao sobram 39.
Ao k igual a 39 corresponde entao a proporcao 100% dos vizinhos. Se considerarmos, por exemplo,
10% entao 10% × 39 ∼= 3.9 que tem como ımpar mais proximos o numero 3. Para 60% temos entao
60%× 39 ∼= 23.4 que tem como ımpar mais proximo o valor 23.
118 Capıtulo 4. Avaliacao Experimental
o valor e aproximadamente 4.6%. A Tabela 4.8 apresenta as taxas de acertos (m–acc)
obtidas pelo metodo para os varios valores de ∆ e k.
Tabela 4.8: Variacao da Taxa de Acertos (m–acc) em Funcao de ∆ e k
Amplitude
1 3 7 15 23 31 39 fixando ∆
0.2 80.88 83.15 84.77 84.24 85.24 85.48 84.17 4.60
0.1 87.42 86.14 88.23 89.45 88.95 88.48 89.17 3.31
0.07 87.18 87.38 88.67 89.67 91.48 91.26 90.42 4.30
0.05 87.35 89.75 89.51 89.30 90.72 91.35 92.92 5.57
0.02 90.94 92.15 91.49 92.62 93.18 92.27 94.17 3.23
0.01 91.66 92.48 92.34 93.35 93.55 91.93 93.75 2.09
0.005 92.32 92.33 92.33 93.38 93.20 91.92 92.50 1.46
0.002 92.30 93.21 92.85 93.74 93.73 91.94 93.33 1.80
0.001 91.96 93.23 92.85 93.74 93.74 92.45 92.92 1.78
Amplitude
fixando k 11.44 10.08 8.08 9.50 8.50 6.97 10.00
Na ultima coluna da Tabela estao representadas as amplitudes de variacao da taxa de
acertos (m-acc) quando fixamos ∆ e variamos k. Por exemplo, o valor 4.6% e a diferenca
entre o maior e o menor valor da mesma linha, isto e 85.48% − 80.88%. Analogamente,
na ultima linha da Tabela e apresentada a variacao da taxa de acertos (m-acc) quando
fixamos k e variamos ∆. Observa-se que a variacao da taxa de acertos (m-acc) quando
fixamos k e variamos ∆ e maior do que quando fazemos o oposto. Assim o valor de ∆
tem maior impacto sobre a taxa de acertos (m–acc) pelo que faz sentido ajustar primeiro
este parametro.
4.4.1 Ajuste do Parametro ∆
Para ajustar o valor do parametro ∆ vamos observar quer as taxas de acertos (m–acc)
quer os custos computacionais (expressos na forma de racios). Vamos variar o valor de
∆ e observar o que em media acontece a taxa de acertos e custos computacionais. Para
cada valor do parametro (por exemplo 0.05) vamos calcular a media aritmetica das taxas
de acertos obtidas pelo metodo AMDS–SetGen em todos os problemas e para todos os
4.4 Escolha do Valor dos Parametros ∆ e k do Metodo AMDS–SetGen 119
valores de k. No caso dos custos computacionais vamos calcular a media geometrica
dos respectivos racios de custos. Na Figura 4.1 podemos observar como varia a taxa de
acertos e o custo quando alteramos o valor de ∆.
0.1 0.2 0.3 0.4 0.5
0.86
0.88
0.90
0.92
Rácio de Tempos
Met
a T
axa
de A
cert
os
0.2
0.1
0.07
0.05
0.02 0.010.005
0.002
0.001
Figura 4.1: Taxa de Acertos e Racios de Tempos para os Varios Valores de ∆
Considerando o proposito de obter os racios de custos computacionais inferiores a 0.2,
observa-se que os melhores candidatos para ∆ sao os valores 0.05 e 0.07, pois para esse
caso o objectivo foi atingido. O valor que escolhemos foi 0.07 pois o racio dos tempos
para este valor e claramente inferior a 0.2.
4.4.2 Ajuste do Parametro k
O objectivo agora e ajustar o valor de k, tendo ja sido fixado o ∆ no valor 0.07. A Tabela
4.9 mostra os resultados em termos de taxa de acertos (m–acc) para cada problema e cada
valor de k. Na primeira coluna esta especificado o problema em que o metodo e aplicado.
Na primeira linha e especificado o valor do parametro k que e utilizado pelo metodo.
Por exemplo, a taxa de acertos (m–acc) obtida pelo metodo para o problema IB1-LOG
considerando o parametro k igual a 15 e 86.11%. Na ultima linha e apresentada a media
das taxas de acertos (m-acc) para cada k. Esta Tabela e utilizada na fase seguinte para
decidir o valor do parametro k.
120 Capıtulo 4. Avaliacao Experimental
O metodo que utilizamos para escolher o valor de k comeca por calcular para cada
problema a ordenacao (ranking) dos valores de k induzida pela ordem das respectivas
taxas de acertos (m–acc). Na Tabela 4.10 podemos observar os rankings obtidos para
cada problema. Por exemplo na linha relacionada com o problema IB1-LOG podemos
observar os valores 4 2 1 3 1 2 1 . Estes valores correspondem a ordem dos valores de k
se ordenarmos a respectiva linha da Tabela 4.9 segundo ordem decrescente dos valores
das taxas de acerto (m–acc) 8. Assim, por exemplo nas posicoes 3, 5 e 7 aparece o numero
1 pois e nestas posicoes que se encontra o valor mais elevado (91.67). Nas posicoes 2 e 6
aparece o numero 2 pois nessas posicoes ocorre o segundo numero mais elevado (88.89).
Depois vem o valor 86.11 a que se atribui a ordem 3 dado ser o terceiro valor mais elevado.
Finalmente, a posicao em que ocorre o numero 80.56 atribui-se o numero de ordem 4.
A Tabela 4.10, onde podemos observar os rankings dos valores de k para cada problema,
e construıda segundo o processo que exemplificamos para o problema IB1–LOG. Na
ultima linha calculamos a media dos numeros de ordem para cada k ao longo dos varios
problemas. O processo escolhe o k em que o numero de ordem medio e menor. Neste
caso escolhemos o valor k igual a 23.
No entanto, podiamos utilizar outros processos para determinar k. A ideia e escolher k
que apresente em media melhores resultados para a taxa de acertos (m–acc). Uma forma
alternativa e utilizar a media das taxas de acertos (m–acc) para cada k ao longo dos
varios problemas (ver Tabela 4.9) Observa-se que o maior valor obtido por esta media e
91.48. Este valor e obtido para k igual a 23. Este processo alternativo de escolher o valor
de k confirma o que ja tinhamos obtido pelo processo atras descrito.
8Assume-se neste tipo de ranking (referido habitualmente por ranking denso ou simplesmente por
ranking “1223”) que se existirem dois valores iguais V entao tem o mesmo numero de ordem r que e o
sucessor da numero de ordem do maior valor Vi que e menor que V.
4.4 Escolha do Valor dos Parametros ∆ e k do Metodo AMDS–SetGen 121
Tabela 4.9: Taxas de Acertos Obtidas pelo Metodo AMDS–SetGen para os Problemas e
k’s Considerados
1 3 7 15 23 31 39
IB1-J48 85.00 85.00 85.00 92.50 92.50 92.50 92.50
IB1-JRip 92.50 92.50 85.00 90.00 90.00 90.00 90.00
IB1-LOG 80.56 88.89 91.67 86.11 91.67 88.89 91.67
IB1-MLP 86.84 89.47 92.11 94.74 92.11 94.74 86.84
IB1-NB 87.50 87.50 90.00 92.50 87.50 92.50 95.00
J48-JRip 82.50 87.50 87.50 87.50 90.00 92.50 92.50
J48-LOG 88.89 88.89 100.00 94.44 97.22 97.22 94.44
J48-MLP 84.21 84.21 78.95 81.58 89.47 86.84 89.47
J48-NB 92.50 85.00 92.50 87.50 90.00 90.00 85.00
JRip-LOG 83.33 86.11 88.89 88.89 91.67 88.89 88.89
JRip-MLP 84.21 84.21 78.95 86.84 89.47 84.21 89.47
JRip-NB 90.00 90.00 87.50 87.50 90.00 90.00 87.50
LOG-MLP 85.71 85.71 82.86 85.71 91.43 91.43 91.43
LOG-NB 94.44 88.89 94.44 94.44 94.44 94.44 94.44
MLP-NB 89.47 86.84 94.74 94.74 94.74 94.74 94.74
Media das
Taxas de Acertos 87.18 87.38 88.67 89.67 91.48 91.26 90.93
122 Capıtulo 4. Avaliacao Experimental
Tabela 4.10: Rankings dos Valores de k Segundo o Desempenho do Metodo AMDS-
SetGen para cada Problema
1 3 7 15 23 31 39
IB1-J48 2 2 2 1 1 1 1
IB1-JRip 1 1 3 2 2 2 2
IB1-LOG 4 2 1 3 1 2 1
IB1-MLP 4 3 2 1 2 1 4
IB1-NB 4 4 3 2 4 2 1
J48-JRip 4 3 3 3 2 1 1
J48-LOG 4 4 1 3 2 2 3
J48-MLP 3 3 5 4 1 2 1
J48-NB 1 4 1 3 2 2 4
JRip-LOG 4 3 2 2 1 2 2
JRip-MLP 3 3 4 2 1 3 1
JRip-NB 1 1 2 2 1 1 2
LOG-MLP 2 2 3 2 1 1 1
LOG-NB 1 2 1 1 1 1 1
MLP-NB 2 3 1 1 1 1 1
Media dos rankings 2.7 2.7 2.3 2.1 1.5 1.6 1.7
4.5 Escolha do Valor do Parametro k do Metodo MDC 123
4.5 Escolha do Valor do Parametro k do Metodo
MDC
O processo de escolha do parametro k para o metodo MDC e igual ao utilizado para
o mesmo fim no caso do metodo AMDS-SetGen. A Tabela 4.11 apresenta as taxas de
acertos (m–acc) obtidas pelo metodo MDC para todos os problemas e valores de k.
Tabela 4.11: Taxas de Acertos Obtidas pelo Metodo AMDS–SetGen para os Problemas
e k’s Considerados
1 3 7 15 23 31 39
IB1-J48 87.50 93.75 95.00 82.50 80.00 80.00 80.00
IB1-JRip 85.00 92.50 87.50 77.50 72.50 72.50 72.50
J48-JRip 83.75 73.75 76.25 76.25 75.00 75.00 75.00
IB1-log 70.83 69.44 80.56 75.00 63.89 66.67 66.67
J48-log 76.39 62.50 70.83 58.33 77.78 77.78 77.78
JRip-log 80.56 69.44 72.22 68.06 76.39 73.61 75.00
IB1-MLP 77.63 84.21 85.53 77.63 84.21 84.21 84.21
J48-MLP 64.47 72.37 75.00 73.68 57.89 57.89 63.16
JRip-MLP 69.74 77.63 81.58 75.00 68.42 68.42 68.42
log-MLP 68.57 68.57 78.57 77.14 78.57 80.00 80.00
IB1-NB 80.00 73.75 70.00 60.00 62.50 67.50 67.50
J48-NB 87.50 65.00 76.25 85.00 85.00 85.00 85.00
JRip-NB 87.50 67.50 78.75 82.50 82.50 82.50 82.50
log-NB 93.06 87.50 94.44 93.06 94.44 94.44 94.44
MLP-NB 92.11 88.16 94.74 94.74 94.74 94.74 94.74
Media das
Taxas de Acertos 80.31 76.40 81.15 77.09 76.92 77.35 77.79
Utilizando esta Tabela podemos calcular os rankings dos k’s ao longo dos problemas. A
Tabela 4.12 mostra os rankings obtidos.
Podemos observar que a media dos numeros de ordem atinge o valor mınimo (2.0) quando
k e igual a 7. Podemos obter a mesma resposta utilizando o metodo alternativo que calcula
a media das taxas de acertos para cada valor de k ao longo dos problemas. Estas medias
podem ser observadas na ultima linha da Tabela 4.12. O maior valor para a media das
124 Capıtulo 4. Avaliacao Experimental
Tabela 4.12: Rankings dos Valores de k Segundo o Desempenho do Metodo MDC para
cada Problema
1 3 7 15 23 31 39
IB1-J48 3 2 1 4 5 5 5
IB1-JRip 3 1 2 4 5 5 5
J48-JRip 1 4 2 2 3 3 3
IB1-log 3 4 1 2 6 5 5
J48-log 2 4 3 5 1 1 1
JRip-log 1 6 5 7 2 4 3
IB1-MLP 3 2 1 3 2 2 2
J48-MLP 4 3 1 2 6 6 5
JRip-MLP 4 2 1 3 5 5 5
log-MLP 4 4 2 3 2 1 1
IB1-NB 1 2 3 6 5 4 4
J48-NB 1 4 3 2 2 2 2
JRip-NB 1 4 3 2 2 2 2
log-NB 2 3 1 2 1 1 1
MLP-NB 2 3 1 1 1 1 1
Media dos rankings 2.30 3.20 2.00 3.20 3.20 3.10 3.00
taxas de acertos (m–acc) e obtido quando k e igual a 7. Este processo confirma o que se
obteve pelo primeiro processo.
4.6 Comparacao dos Metodos AMDS–SetGen, AMDS (sem SetGen), MDCe VC Considerando Varios Valores de ∆ 125
4.6 Comparacao dos Metodos AMDS–SetGen, AMDS
(sem SetGen), MDC e VC Considerando Varios
Valores de ∆
Embora ja tenhamos estudado a variacao do parametro ∆ e os seus efeitos sobre o
metodo AMDS–SetGen, esse estudo foi feito com o objectivo de escolher o parametro ∆
considerando que k poderia tomar qualquer um dos valores considerados. Agora vamos
assumir que o parametro k do metodo AMDS–SetGen ja foi escolhido, tomando o valor 23.
Consideramos neste estudo que o parametro k do metodo MDC toma o valor 7. Vamos
fazer variar o parametro ∆ e vamos observar como variam as taxas de acertos e custos
computacionais obtidas pelo metodo AMDS–SetGen. Sera apresentada tambem uma
comparacao deste metodo com os metodos AMDS (sem SetGen), MDC, VC (validacao
cruzada).
O objectivo desta comparacao e responder as seguintes questoes:
• Sera que o metodo que propomos (AMDS–SetGen) e competitivo com o metodo
MDC? Este metodo consegue obter um desempenho, em termos de taxa de acertos
m–acc, superior ao obtido pelo metodo MDC?
• Sera que o metodo AMDS–SetGen permite poupar tempo em relacao ao metodo
VC?
• Como varia a taxa de acertos m–acc e o custo computacional quando se varia o
parametro ∆? Podemos escolher um valor que sirva melhor o interesse do utilizador?
• A funcao geradora de sequencia de atributos utilizados por AMDS (SetGen) confirma-
se util ou e preferıvel usar uma sequencia fixa de atributos?
Em relacao a ultima pergunta e necessario lembrar que a funcao de geracao automatica
da sequencia de atributos foi acrescentada ao metodo AMDS para facilitar o trabalho do
utilizador uma vez que a escolha dos atributos nao e uma tarefa simples. No entanto, e
possıvel aplicar o metodo AMDS (sem SetGen) indicando em concreto que atributos de
desempenho serao utilizados para prever o algoritmo a utilizar.
E pertinente verificar se as escolhas pre-definidas, mais ou menos obvias, para a sequencia
de atributos nao tem um desempenho melhor que as geradas pela funcao SetGen do
126 Capıtulo 4. Avaliacao Experimental
metodo. Isto e, a funcao que gera sequencias de atributos consegue encontrar sequencias
de atributos que permitam ao metodo AMDS ter um desempenho melhor, em termos de
taxa de acertos m–acc e de custo computacional, que o desempenho obtido para essas
escolhas pre-definidas.
E importante nao explorar demasiado estas escolhas pre-definidas pois estarıamos a
realizar uma procura usando os mesmos dados utilizados para avaliar, ou seja, estarıamos
a avaliar com um enviesamento. Por esse motivo vamos apresentar apenas um numero
modesto de escolhas pre-definidas. Decidimos utilizar as seguintes escolhas pre-definidas
de sequencias de atributos:
• E1 - esta escolha corresponde a utilizacao da sequencia de atributos < Ap1, Aq1 >.
O atributo Ap1 assume valores diferentes consoante o caso a que nos referimos.
Por exemplo, considerando que estamos a avalia-lo para caso di o atributo Ap1
refere-se a uma estimativa do desempenho do algoritmo Ap quando treinado em
subconjuntos de dimensao s1 do conjunto (caso) di.
• E1..3 - corresponde a utilizacao da sequencia de atributos
< Ap1, Ap2, Ap3, Aq1, Aq2, Aq3 >. Assim sao avaliados os desempenhos dos dois
algoritmos quando treinados em subconjuntos com tamanho s1, s2 e s3 do conjunto
em causa.
• E10 - corresponde a utilizacao da sequencia de atributos < Ap10, Aq10 >.
• E1..10 - corresponde a utilizacao da sequencia de atributos
< Ap1, · · · , Ap9, Ap10, Aq1, · · · , Aq9, Aq10 >.
Quanto ao metodo AMDS–SetGen consideramos o parametro k igual a 23 enquanto o
∆ assume os valores considerados anteriormente na Seccao 4.4, isto e os valores 0.2, 0.1,
0.07, 0.05, 0.02, 0.01, 0.005, 0.002 e 0.001. O metodo MDC e aplicado considerando o
parametro k igual a 7.
Os resultados sao apresentados na Figura 4.2. Cada ponto da Figura representa o desem-
penho de um metodo especıfico utilizando uma parametrizacao segundo duas componen-
tes, a taxa de acertos (m–acc) e o custo computacional. A componente correspondente a
taxa de acertos e agregada segundo a media das taxa obtidas pelo metodo em causa em
todos os 15 problemas binarios de classificacao. A componente do custo computacional
e medida em comparacao com o custo da abordagem por VC. Para cada conjunto de
4.6 Comparacao dos Metodos AMDS–SetGen, AMDS (sem SetGen), MDCe VC Considerando Varios Valores de ∆ 127
dados e calculado o racio, que ja foi utilizado na Seccao 4.2.6 para avaliar os custos
computacionais em comparacao com VC.
Os pontos apresentados tem duas dimensoes (coordenadas), a dimensao do custo e a
dimensao da taxa de acertos. Uma vez que nao esta representada a dimensao dos
problemas binarios de classificacao, cada ponto representa as taxas e custos considerando
os 15 problemas, isto e 15 pontos. O ponto que representamos e o ponto medio (de 15
pontos). Na dimensao da taxa de acertos usamos a media aritmetica, enquanto no caso
dos custos usamos a media geometrica.
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4
0.80
0.85
0.90
0.95
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4
0.80
0.85
0.90
0.95
75
2 1
E10
E1
MDC
E1..320
10
0.5
0.20.1
E1..10
Rácio dos Tempos
Met
a T
axa
de A
cert
os
Figura 4.2: Taxa de Acertos e Racios de Tempos para os Varios Valores de ∆ (em %) e
Comparacao com Outros Metodos
Observa-se que em geral o metodo AMDS–SetGen aumenta a taxa de acertos sempre que
se aumenta o valor do parametro ∆. No entanto, este aumento da taxa e acompanhado
com um aumento do custo computacional.
O metodo baseado em caracterısticas dos dados (MDC) tem um desempenho inferior ao
obtido pelo metodo AMDS–SetGen, mesmo no caso de se fixar o parametro ∆ igual a
20%.
Se se aplicar o metodo AMDS (simples) utilizando as sequencias pre-definidas escolhidas
E1..3 e E1..10 obtemos uma taxa de acertos superior a obtida pelo metodo MDC. No
128 Capıtulo 4. Avaliacao Experimental
entanto, no caso da escolha E1 obtemos uma taxa de acertos mais baixa. O AMDS com
escolha de atributos E10 nao apresenta quase nenhuma melhoria em termos de taxa de
acertos e com um custo computacional muito mais alto.
Em conclusao, o metodo AMDS-SetGen e sempre melhor que o AMDS com escolhas pre-
definidas, em termos de taxa de acertos ou custo computacional. Este facto indica que a
geracao das sequencias de atributos e efectivamente util na procura dos atributos.
4.7 Conclusoes
Neste Capıtulo apresentamos os resultados obtidos por diferentes metodos quando utili-
zados para decidir que algoritmo, de dois especificados (Ap e Aq), e preferıvel usar num
conjunto de dados especıfico d, para se obter taxas de acertos mais elevadas. Os metodos
apresentados supoem a existencia de experiencia dos algoritmos dados noutros problemas
(isto e conjunto de dados), sendo conhecido os seus desempenhos na totalidade dos dados
e tambem em alguns subconjuntos (retirados por um processo de extraccao aleatoria
uniforme) de dimensoes s1, s2, · · · , s20 9. O metodo que propomos, AMDS–SetGen,
baseia-se no desempenho dos algoritmos em subconjuntos de dados. Estas medidas
de desempenho definem os atributos utilizados pelo metodo para prever qual o melhor
algoritmo. A escolha dos atributos para o metodo nao e simples dado ser necessario
considerar a taxa de acertos bem como o custo computacional de os determinar. O metodo
AMDS–SetGen fornece-nos um processo de determinar automaticamente os atributos.
Apresentamos tambem um metodo, MDC, que se baseia em caracterizacao dos dados do
conjunto de dados. Esta caracterizacao e independente dos algoritmos que se pretende
utilizar.
Para comparar os metodos desenvolvemos experiencias de avaliacao envolvendo 6 al-
goritmos em 40 conjunto de dados, todos com pelo menos 1000 casos. Utilizando os
6 algoritmos de base definimos 15 problemas de decisao binaria. Para comparar os
metodos determinamos as parametrizacoes mais favoraveis para cada um. Utilizando
essas parametrizacoes avaliamos os metodos utilizando um processo do tipo deixa-um-
fora. Medimos as taxas de acertos e os custos computacionais na forma de racio do custo
envolvido na determinacao dos atributos pelo custo da abordagem que utiliza validacao
cruzada (VC). Os resultados obtidos mostram que o metodo que propomos compete bem
com o metodo MDC. Em praticamente todos os problemas o nosso metodo obtem uma
9s1 =91, s2=128, s3=181,· · · , s20=65535.
4.7 Conclusoes 129
taxa de acertos mais elevada. O acrescimo observado na taxa de acertos quando usamos o
metodo AMDS–SetGen em relacao ao metodo MDC e de cerca 10.3% (diferenca absoluta).
Os custos computacionais do nosso metodo sao no entanto maiores que os relacionados
com o metodo MDC. Mas o nosso metodo e 7 vezes mais rapido que o metodo que decide
utilizando VC.
O metodo AMDS–SetGen determina automaticamente os atributos a utilizar para prever
qual o algoritmo a usar. No entanto, o metodo AMDS (sem SetGen) pode ser utilizado
especificando quais os atributos a utilizar. Foram apresentadas provas que a funcao
que gera as sequencias de atributos e eficaz para determinar os atributos a utilizar. Para
isso, experimentou-se algumas sequencias de atributos que o utilizador poderia especificar
para o metodo AMDS. Tivemos o cuidado de nao explorar demasiado estas escolhas pre-
definidas pois estarıamos dessa forma a realizar uma procura usando os mesmos dados
utilizados na avaliacao, isto e, estarıamos a avaliar com um enviesamento. Para todas
as sequencias pre-definidas de atributos o metodo AMDS obteve piores resultados que os
obtidos pelo metodo AMDS–SetGen.
O metodo AMDS–SetGen e mais lento que o metodo MDC. No entanto, o utilizador
pode considerar utilizar apenas alguns folds da validacao cruzada (VC) para construir
os atributos de desempenho. Se utilizar apenas 1 fold entao o tempo devera diminuir
10 vezes. Esta opcao tem a desvantagem de tornar as estimativas dos atributos de
desempenho mais instaveis e portanto as curvas de aprendizagem (parciais) menos fiaveis.
Capıtulo 5
Conclusoes
Nesta tese abordamos o problema da seleccao de algoritmos de classificacao. Neste
problema o objectivo e prever que algoritmo de classificacao, de entre varios considerados,
devera ser treinado num conjunto de dados determinado de modo a obter modelos que
tenham melhor desempenho, medido por exemplo atraves da taxa de acertos, isto e, com
maior sucesso na classificacao de novos casos.
Este e um problema cada vez mais relevante na area da ECD (data mining). O numero de
algoritmos disponıveis e demasiado elevado para que se possa testar exaustivamente os
seus desempenhos no novo conjunto de dados. O custo computacional desta abordagem
seria muito elevado. E tambem verdade que nao existe nem pode ser desenvolvido um
algoritmo que seja superior a todos os outros para todos os problemas (No Free Lunch
Theorems [Sch94, WM95, Wol96]). Assim e necessario utilizar algum metodo que permita
escolher o melhor algoritmo sem que seja preciso executar todos os algoritmos disponıveis.
O nosso objectivo foi desenvolver um metodo que tivesse um bom desempenho em termos
de taxa de acertos na decisao do algoritmo a utilizar, que fosse competitivo com outras
abordagens e que permitisse poupar tempo de computacao em relacao a uma abordagem
que efectuasse uma avaliacao exaustiva dos algoritmos, por exemplo utilizando validacao
cruzada.
Nesta tese estavamos particularmente interessados em obter respostas as seguintes questoes:
• E possıvel desenvolver um metodo de previsao que com elevada taxa de acertos que
indique qual o algoritmo de classificacao mais adequado para um novo conjunto
de dados? e que seja competitivo, em termos de custos computacionais, com a
131
132 Capıtulo 5. Conclusoes
decisao baseada em avaliacao dos exaustiva dos algoritmos (por exemplo atraves de
validacao cruzada)?
• Pode o metodo de previsao melhorar o seu desempenho se se fornecer mais in-
formacao sobre o novo conjunto de dados (podendo no caso limite atingir 100% de
certeza de acerto)?
• Pode o metodo competir bem com outros metodos existentes que utilizem outras
abordagens?
Focamos o nosso objectivo no problema da escolha do melhor de entre 2 algoritmos
considerados. No entanto o problema simplificado (2 algoritmos em vez de N) pode
ser utilizado para compor uma classificacao com N classes possıveis. Este topico e
apresentado na Seccao dedicada ao trabalho futuro.
5.1 Metodos Desenvolvidos
5.1.1 Metodo Baseado em Desempenhos dos Algoritmos em
Subconjuntos (AMDS)
A abordagem que adoptamos envolve meta-aprendizagem. O que pretendemos e que o
metodo “aprenda” a relacao que existe entre a representacao dos conjuntos de dados
utilizando um conjunto de atributos que o caracterizam e o desempenho relativo dos dois
algoritmos considerados quando treinados nesse conjunto de dados.
O metodo que desenvolvemos (AMDS) realiza a escolha do algoritmo utilizando o conhe-
cimento parcial das curvas de aprendizagem obtidas pelos algoritmos no novo conjunto
de dados. Os pontos utilizados para definir as curvas de aprendizagem dizem respeito ao
desempenho dos algoritmos quando treinados em subconjuntos extraıdos 1do conjunto de
dados considerado. Para chegar a decisao o metodo faz uso do conhecimento disponıvel
sobre experiencias dos algoritmos considerados noutros conjuntos de dados. Primeiro
1Os subconjuntos sao extraıdos utilizando um processo de amostragem aleatoria uniforme, isto e, cada
caso do conjunto tem a mesma probabilidade de ser seleccionado. As curvas de aprendizagem podem
ser definidas num numero finito de pontos a que correspondem determinados numero de casos. Assim
as curvas podem ser definidas nos pontos correspondentes a s1 casos, s2 casos, · · · , sn casos (nas nossas
experiencias utilizados s1 = 91, s2 = 128, · · · ).
5.1 Metodos Desenvolvidos 133
identifica um numero fixo (k) de conjuntos de dados cujas curvas de aprendizagem,
relativas aos mesmos algoritmos, sejam mais similares as curvas de aprendizagem parciais
conhecidas para o novo conjunto de dados. As curvas de aprendizagem sao adaptadas
(ajustadas) de forma a incorporarem a informacao conhecida sobre o desempenho dos
algoritmos no novo conjunto de dados. Por fim, atraves da observacao dos pares de
curvas adaptadas, determina-se qual o algoritmo que mais vezes atinge desempenhos
superiores.
Apresentamos duas variantes do metodo AMDS: AMDS-Simples e AMDS-SetGen.
O metodo AMDS na sua variante AMDS-Simples necessita que se indique quais as
dimensoes dos subconjuntos (∈ {s1, · · · , sm}) que serao utilizados para revelar parcial-
mente as curvas de aprendizagem que permitem ao metodo AMDS decidir que algoritmo
utilizar. Concebemos esta variante do metodo para fins de comparacao, para justificar o
desenvolvimento do outro metodo mais complexo.
O metodo AMDS na sua variante AMDS-SetGen escolhe, automaticamente os atribu-
tos para o metodo. A sequencia de atributos e construıda iterativamente atraves do
acrescento de atributos. Em cada passo iterativo avalia-se o que se passaria com a
taxa de acertos do metodo AMDS e com os custos computacionais se acrescentassemos
determinado atributo a sequencia actual. E acrescentado a sequencia o atributo cujo
impacto (simulado) no metodo AMDS seja mais baixo em termos de custo computacional
e que represente um aumento de pelo menos ∆ na taxa de acertos. Este processo e repetido
ate mais nenhum atributo seja acrescentado a sequencia.
Uma vez que nao podemos saber se o metodo AMDS, utilizando um conjunto especıfico de
atributos, vai prever correctamente qual o melhor algoritmo no novo conjunto de dados,
utilizamos os resultados conhecidos sobre os desempenhos do metodo noutros conjuntos
de dados para guiar o processo de escolha dos atributos. O metodo SetGen realiza o
que designamos por testes “virtuais” ou “simuladas” do metodo AMDS no novo conjunto
de dados considerando um determinado conjunto de atributos. Estes testes permitem
estimar o desempenho do metodo AMDS no novo conjunto de dados para o conjunto de
atributos considerado.
134 Capıtulo 5. Conclusoes
5.1.2 Metodo Baseado em Caracterısticas dos Dados (MDC)
Foram desenvolvidos metodos que se baseiam em meta-aprendizagem mas que no entanto
utilizam outro processo de caracterizacao dos conjuntos de dados. A ideia e igualmente
baseada em meta-aprendizagem, isto e, aprender a relacao (mapeamento) entre as ca-
racterısticas (medidas) calculadas para os conjuntos de dados e o desempenho relativo
(qual o algoritmo foi melhor) observado em experiencias que envolveram os algoritmos
considerados nos mesmos conjuntos de dados. No entanto a caracterizacao e feita utili-
zando caracterısticas que expressam propriedades dos dados que estao nos conjuntos de
dados (por exemplo o numero de casos). Embora este tipo de caracterısticas nao estejam
directamente relacionadas com os algoritmos em questao, representam propriedades dos
conjuntos de dados que podem servir para discriminar os algoritmos quanto ao desem-
penho relativo. Por exemplo, como foi demonstrado, a dimensao do conjunto de dados
pode permitir discriminar os algoritmos do tipo regressao logıstica (para classificacao) e
as arvores de decisao [PPS03].
Para podermos fazer comparacoes re-implementamos com algumas adaptacoes um metodo
que foi utilizado com sucesso na previsao da ordem (ranking) de algoritmos [BSC03].
Este metodo, que denominamos MDC, e baseado, tal como o metodo AMDS, no al-
goritmo dos “k vizinhos mais proximos” (kNN). Assume-se que todos os conjuntos de
dados (o novo e os conhecidos) se encontram caracterizados utilizando um conjunto de
medidas que expressam propriedades dos dados. Procura-se os k conjuntos de dados
cujas caracterısticas sejam mais semelhantes as respectivas do novo conjunto de dados.
E previsto que o melhor algoritmo seja aquele que mais vezes foi considerado melhor nos
conjuntos de dados identificados como mais semelhantes. Quanto ao conjunto de medidas
de caracterizacao decidimos utilizar um conjunto relativamente pequeno de medidas que
se demonstrou util no problema do ranking dos algoritmos [Soa04].
5.2 Resultados da Avaliacao dos Metodos
O objectivo da avaliacao foi verificar se as expectativas quantos aos metodos que desen-
volvemos se verificavam na pratica. Interessava saber se o metodo AMDS nas variantes
AMDS-Simples e AMDS-SetGen conseguia obter boas previsoes no que diz respeito a
escolha de algoritmos. Pretendia-se avaliar o desempenho em termos de taxa de acertos
e comparar com as obtidas pelo metodo MDC que utilizava a caracterizacao baseada em
5.2 Resultados da Avaliacao dos Metodos 135
caracterısticas dos dados. Para alem disso interessava avaliar o desempenho do metodo
em termos de custo computacional e verificar se seria possıvel poupar tempo consideravel
em relacao ao gasto se se decidisse utilizar um processo de avaliacao exaustiva (por
exemplo validacao cruzada). Consideramos a validacao cruzada estratificada com divisao
do conjunto em 10 partes, como referencia para este tipo de decisao por avaliacao dos
algoritmos.
Para avaliar os metodos realizamos experiencias envolvendo 5 algoritmos em 40 conjuntos
de dados, todos com pelo menos 1000 casos. Utilizando os 5 algoritmos de base escolhidos
podemos definir 15 problemas de decisao, cada um considerando um par de algoritmos
especıfico. As avaliacoes dos metodos utilizaram um esquema de avaliacao do tipo “deixa-
um-fora” (leave-one-out). Medimos as taxas de acertos e os custos computacionais na
forma de racio do custo envolvido na determinacao dos atributos pelo custo da abordagem
que utiliza validacao cruzada (VC).
Determinamos as parametrizacoes mais favoraveis a cada metodo e utilizamo-as na com-
paracao dos mesmos.
Os resultados obtidos mostram que o metodo AMDS-SetGen e bastante competitivo,
sendo na grande maioria das vezes superior, em termos de taxa de acertos, ao metodo
MDC. O ganho medio em taxa de acertos do nosso metodo em relacao a MDC e de 10.3%.
Os maiores ganhos foram observados em problemas mais difıceis em que taxa de acertos
de referencia era perto de 50%, isto e, em problemas em que cada algoritmo foi superior
ao outro em cerca de metade dos conjuntos de dados.
Os custos computacionais de AMDS-SetGen sao maiores que os relacionados com o
metodo MDC. Isto seria previsıvel visto que o calculo das medidas sobre o conjunto de
dados, necessarias ao metodo MDC, e geralmente mais rapido que correr os algoritmos
mesmo em subconjuntos de dados relativamente pequenos.
Em comparacao com a decisao por validacao cruzada (VC) a poupanca em termos de
custo computacional e bastante significativa. O nosso metodo e 7 vezes mais rapido do
que VC.
Ainda em relacao a variante AMDS-SetGen importava testar se a construcao das sequencias
de atributos era eficaz. A variante AMDS-Simples pode ser utilizada especificando quais
os atributos a utilizar. Sera que algumas sequencias de atributos mais obvias dariam
bons resultados? Para responder a esta questao experimentou-se algumas sequencias de
atributos que o utilizador muito provavelmente iria escolher para o metodo AMDS (por
136 Capıtulo 5. Conclusoes
exemplo o primeiro ponto de cada curva de aprendizagem ou os primeiros 3 pontos). Para
todas as sequencias pre-definidas de atributos o metodo AMDS (variante simples) obteve
piores resultados que os obtidos pelo metodo AMDS–SetGen. Isto e, o metodo AMDS na
variante AMDS-SetGen nao so e mais facil de utilizar em relacao a AMDS-Simples como
permite obter previsoes mais correctas.
Os resultados que resumimos nesta Seccao demonstram que foi possivel responder posi-
tivamente as tres questoes que colocamos no comeco desta tese. Demonstramos que e
possıvel desenvolver um metodo de previsao que com elevada taxa de acertos que indique
qual o algoritmo de classificacao mais adequado para um novo conjunto de dados, e
que seja competitivo, em termos de custos computacionais, com a decisao baseada em
avaliacao dos algoritmos. O metodo pode obter melhores desempenhos se se fornecer mais
informacao sobre o novo conjunto de dados. O metodo compete com outros metodos que
empreguem outras abordagens.
5.3 Contribuicoes
Uma parte das contribuicoes desta tese estao relacionadas com os aspectos originais
do metodo que desenvolvemos. Estas inovacoes permitiram ultrapassar as dificuldades
existentes nas abordagens anteriores que utilizavam o desempenho dos algoritmos em
subconjuntos para prever o desempenho na totalidade dos dados.
Os principais aspectos originais, que constituem uma contribuicao para o problema da
escolha de algoritmos sao os seguintes:
• Introducao do mecanismo de adaptacao das curvas. Este mecanismo per-
mitiu ultrapassar o problema relatado noutros trabalhos [FP01, SPB01] onde ob-
servamos que o metodo (sem adaptacao) nao melhorava significativamente o seu
desempenho, em termos de taxa de acertos, a medida que sao conhecidos mais
pontos do par de curvas parciais de aprendizagem. O metodo deveria melhorar
se se introduzisse mais informacao, e devia atingir 100% de taxa de acertos no
caso de se fornecer dados sobre o fim das curvas de aprendizagem. O mecanismo
de adaptacao corrigiu este aspecto, pois permitiu combinar a informacao (parcial)
sobre o desempenho dos algoritmos em subconjuntos do novo conjunto de dados
com a informacao conhecida sobre o desempenho dos mesmos noutros conjuntos de
dados.
5.4 Extensoes e Trabalho Futuro 137
• Cada algoritmo e caracterizado de forma independente. O metodo desenvol-
vido (AMDS) permite a utilizacao de subconjuntos diferentes para cada algoritmo.
Isto pode ser bastante util pois alguns algoritmos apresentam curvas de aprendiza-
gem que estabilizam mais cedo (no inıcio das curvas) que outros. Nesse caso esses
algoritmos nao precisarao de subconjuntos de dimensao mais elevada, pois interessa
observar a parte inicial das curvas. De uma forma geral a informacao mais relevante
para tomar a decisao pode estar em lugares diferentes das curvas de aprendizagem
de cada algoritmo. A possibilidade de caracterizar de forma flexıvel os algoritmos
no novo conjunto de dados e um aspecto original do nosso metodo.
• A caracterizacao iterativa realizada por SetGen. Em abordagens anteriores
a caracterizacao era uma fase que antecedia o processo de meta-aprendizagem (que
realizava a previsao). No metodo que desenvolvemos, na variante AMDS-SetGen,
existe um processo que escolhe os atributos de forma iterativa. Isto e as escolhas
dos atributos dependem de estimativas de como o metodo se vai comportar. A
caracterıstica iterativa deste processo esta relacionada com forma como os atributos
sao introduzidos. Em cada passo deste processo sao estimadas as consequencias para
o metodo, em termos de taxa de acertos e de custos computacionais, do facto de se
introduzir um novo atributo na sequencia de atributos. Sempre que uma sequencia
e estendida todos atributos acrescentados sao avaliados o que representa determinar
novos pontos nas curvas parciais de aprendizagem, isto e treinar algoritmos em sub-
conjuntos. Este processo e repetido enquanto novos atributos sejam acrescentados
a sequencia.
5.4 Extensoes e Trabalho Futuro
Nesta Seccao apresentamos os topicos principais relativos ao trabalho futuro.
5.4.1 Extensao do Metodo para N Algoritmos
O metodo que desenvolvemos permite prever dados 2 algoritmos qual deles e mais ade-
quado para um determinado conjunto de dados. Normalmente e preciso considerar mais
do que 2 algoritmos e decidir qual e o melhor. Esta extensao nao seria muito difıcil de fazer
pois podemos transformar um problema de classificacao com N classes em 12N × (N − 1)
problemas de classificacao binarios. Esta e uma abordagem viavel e com bons resultados
138 Capıtulo 5. Conclusoes
[Fur02]. A classificacao e realizada contabilizando o numero de vezes que cada algoritmo
e indicado como melhor algoritmo, escolhendo no fim deste processo aquele que mais
vezes foi recomendado. Pretendemos aprofundar este topico em trabalho futuro.
5.4.2 Utilizacao de Informacao sobre outros Algoritmos
Consideremos o caso anterior da classificacao de N algoritmos atraves da transformacao
desta em problemas binarios. Sera que, por exemplo a caracterizacao de alguns algoritmos
e util para o problema de classificacao binaria de outros algoritmos diferentes? Esta
ideia, denominada landmarks, foi explorada por varios autores [FP01]. A ideia era
utilizar o desempenho de algoritmos rapidos para caracterizar os conjuntos de dados. Na
fase seguinte aprendia-se o relacionamento entre essas caracterısticas (desempenhos nos
landmarks) e os desempenhos nos algoritmos semelhantes, isto e, aqueles com estrategias
de aprendizagem semelhantes. Por exemplo, se com arvores de decisao fossem obtidos
bons resultados, isto podia servir como sinal para experimentar uma outra variante do
mesmo algoritmo, ou sugerir bagging [Bre96a] visto poder prever-se um aumento esperado
de desempenho.
Parece vantajoso utilizar uma mistura dos dois tipos de caracterizacao: a caracterizacao
utilizando o desempenho dos algoritmos em subconjuntos (sampling landmarking) e a
caracterizacao utilizando o desempenho de outros algoritmos na totalidade do conjunto
de dados. Este tipo de caracterizacao permitiria poupar ainda mais nos custos computa-
cionais.
Esta extensao do metodo podia considerar como potenciais variaveis preditivas, todos os
atributos avaliados ate ao momento, relacionados ou nao com os algoritmos considerados
na classificacao binaria em causa.
5.4.3 Utilizacao Complementar de Medidas de Caracterizacao
dos Dados
A utilizacao de medidas classicas que caracterizam os conjuntos de dados foi demonstrada
util na escolha de algoritmos. Embora tenhamos utilizado no metodo AMDS medidas
baseadas no desempenho dos algoritmos em subconjuntos, e possıvel estender o metodo
de modo a incluir tambem medidas de caracterizacao de dados. O metodo SetGen
ja desenvolvido pode desempenhar neste caso um papel importante neste processo de
5.4 Extensoes e Trabalho Futuro 139
seleccao de atributos. Consideremos que foram identificadas varias medidas que podem
ser uteis para tomar a decisao. O metodo SetGen pode simular a inclusao duma destas
medidas, prever o efeito no desempenho de AMDS, e finalmente decidir ou nao incluı-la.
E previsıvel que o metodo podia identificar, sem grandes alteracoes do algoritmo SetGen,
as medidas (atributos) relevantes para distinguir o desempenho dos dois algoritmos
considerados.
5.4.4 Extensao da Seleccao de Algoritmos as Cadeias de Operacoes
A escolha de algoritmos para ECD e um problema com grande relevancia no ambito do
processo mais geral, denominado por Descoberta de Conhecimento de Bases de Dados
(DCBD), que inclui a extraccao de conhecimento como uma fase do processo. Em cada
fase do processo e necessario executar uma determinada operacao ou operacoes. Visto
existirem varias alternativas, e necessario escolher as operacoes mais promissoras para o
desempenho global do processo. Os metodos de seleccao de algoritmos de classificacao,
apresentados nesta tese, podem ser estendidos para abordar o problema mais geral da
DCBD.
Referencias
[Aha92] David W. Aha. Generalizing from case studies: A case study. In Derek H.
Sleeman and Peter Edwards, editors, ML, pages 1–10. Morgan Kaufmann,
1992.
[Aha98] David W. Aha. Feature weighting for lazy learning algorithms, 1998.
[AKA91] David W. Aha, Dennis F. Kibler, and Marc K. Albert. Instance-based
learning algorithms. Machine Learning, 6:37–66, 1991.
[BA96] Ronald J. Brachman and Tej Anand. The process of knowledge discovery in
databases: A human-centered approach. In U. Fayyad, G. Piatetsky-Shapiro,
P. Smyth, and R. Uthurusamy, editors, Advances in Knowledge Discovery
and Data Mining, pages 37–58. AAAI Press, 1996.
[Ben98] Hilan Bensusan. God doesn’t always shave with occam’s razor - learning
when and how to prune. In Proceedigs of the 10th European Conference on
Machine Learning, pages 119–124, Berlin, Germany, 1998. Springer.
[BFOS84] Leo Breiman, J. H. Friedman, R. A. Olshen, and C. J. Stone. Classification
and Regression Trees. Wadsworth, 1984.
[BGC00] Hilan Bensussan and Christophe Giraud-Carrier. Discovering task neigh-
bourhoods through landmark learning performances. In Proceedings of
the Fourth European Conference on Principles and Practice of Knowledge
Discovery in Databases (PKDD2000), pages 325–330. Springer, 2000.
[BGCK00] Hilan Bensusan, Christophe Giraud-Carrier, and Claire J. Kennedy. A
higher-order approach to meta-learning. In J. Cussens and A. Frisch,
editors, Proceedings of the Work-in-Progress Track at the 10th International
Conference on Inductive Logic Programming, pages 33–42, 2000.
141
142 REFERENCIAS
[BGH94] Pavel Brazdil, Joao Gama, and Bob Henery. Characterizing the applicability
of classification algorithms using meta-level learning. In Francesco Berga-
dano and Luc De Raedt, editors, ECML, volume 784 of Lecture Notes in
Computer Science, pages 83–102. Springer, 1994.
[Bis96] Christopher M. Bishop. Neural networks for pattern recognition. Oxford
University Press, Oxford, UK, 1996.
[BL97] Avrim Blum and Pat Langley. Selection of relevant features and examples
in machine learning. Artificial Intelligence, 97(1-2):245–271, 1997.
[BM98] C.L. Blake and C.J. Merz. UCI repository of machine learning databases.
http://www.ics.uci.edu/∼mlearn/mlrepository.html, 1998.
[BP01] Abraham Bernstein and Foster J. Provost. An intelligent assistant for the
knowledge discovery process, 2001.
[Bre96a] Leo Breiman. Bagging predictors. Machine Learning, 24(2):123–140, 1996.
[Bre96b] Leo Breiman. Bias, variance, and arcing classifiers. Technical Report 460,
Statistics Department, University of California, 1996.
[Bro93] Carla E. Brodley. Addressing the selective superiority problem: Automatic
algorithm /model class selection, 1993.
[BSC03] Pavel Brazdil, Carlos Soares, and Joaquim Costa. Ranking learning
algorithms: Using ibl and meta-learning on accuracy and time results.
Machine Learning, 50:251–277, 2003.
[BSP01] Pavel Brazdil, Carlos Soares, and Rui Pereira. Reducing rankings of
classifiers by eliminating redundant classifiers. In Brazdil P and Jorge
A, editors, Proceedings of the 10th Portuguese Conference on Artificial
Intelligence (EPIA ’01), volume 2258 of Lecture Notes in Computer Science,
pages 14–21, Oporto, Portugal, December 2001. Springer. DBLP.
[BVGCS08] Pavel Brazdil, Ricardo Vilalta., Christophe Giraud-Carrier, and Carlos
Soares. Meta-Learning: Applications to Data Mining. to be published by
Springer, 2008.
[Cat86] Jason Catlett. Megainduction: a test flight. In Proceedings of the Eighth
International Workshop on Machine Learning, Ithaca, New York, 1986.
Morgan Kaufman.
REFERENCIAS 143
[CN89] Peter Clark and Tim Niblett. The cn2 induction algorithm. Machine
Learning, 3:261–283, 1989.
[Coh93] William W. Cohen. Efficient pruning methods for separate-and-conquer rule
learning systems. In IJCAI, pages 988–994, 1993.
[Coh95] William W. Cohen. Fast effective rule induction. In Armand Prieditis
and Stuart Russell, editors, Proc. of the 12th International Conference on
Machine Learning, pages 115–123, Tahoe City, CA, July 9–12, 1995. Morgan
Kaufmann.
[DB91] Thomas G. Dietterich and Ghulum Bakiri. Error-correcting output codes:
a general method for improving multiclass inductive learning programs.
In T. L. Dean and K. McKeown, editors, Proceedings of the Ninth AAAI
National Conference on Artificial Intelligence, pages 572–577, Menlo Park,
CA, 1991. AAAI Press.
[DB95] Thomas G. Dietterich and Ghulum Bakiri. Solving multiclass learning
problems via error-correcting output codes. Journal of Artificial Intelligence
Research, 2:263–286, 1995.
[Die98] Thomas G. Dietterich. Approximate statistical test for comparing supervised
classification learning algorithms. Neural Computation, 10(7):1895–1923,
1998.
[DKS95] James Dougherty, Ron Kohavi, and Mehran Sahami. Supervised and unsu-
pervised discretization of continuous features. In International Conference
on Machine Learning, pages 194–202, 1995.
[DP96] Pedro Domingos and Michael J. Pazzani. Beyond independence: Conditions
for the optimality of the simple bayesian classifier. In 13th International
Conference on Machine Learning, pages 105–112, 1996.
[Efr83] B. Efron. Estimating the error rate of a prediction rule: improvement
on cross-validation. Journal of the American Statistical Association,
78(382):316–330, 1983.
[ET93] B. Efron and R. Tibshirani. An Introduction to the bootstrap. Chapman &
Hall, 1993.
144 REFERENCIAS
[FI93] Usama M. Fayyad and Keki B. Irani. Multi-interval discretization of
continuous-valued attributes for classification learning. In IJCAI, pages
1022–1029, 1993.
[FP01] Johannes Furnkranz and Johann Petrak. An evaluation of landmarking
variants. In Proceedings of the ECML/PKDD Workshop on Integrating
Aspects of Data Mining, Decision Support and Meta-Learning (IDDM-2001),
pages 57–68. Springer, 2001.
[FPSS96] Usama M. Fayyad, Gregory Piatetsky-Shapiro, and Padhraic Smyth. From
data mining to knowledge discovery in databases. AI Magazine, 17:37–54,
1996.
[Fra91] Robert H Frank. Microecomics and Behavior. McGraw-Hill, 1991.
[FSST97] Yoav Freund, H. Sebastian Seung, Eli Shamir, and Naftali Tishby. Selective
sampling using the query by committee algorithm. Machine Learning, 28(2-
3):133–168, 1997.
[Fur02] Johannes Furnkranz. Round robin classification. Journal of Machine
Learning Research, 2:721–747, 2002.
[Gam97] Joao Gama. Oblique linear tree. Lecture Notes in Computer Science,
1280:187–??, 1997.
[GB95a] Joao Gama and Pavel Brazdil. Characterization of classification algorithms.
In C. Pinto-Ferreira and N. Mamede, editors, Progress in Artificial Intelli-
gence, 7th Portuguese Conference on Artificial Intelligence, EPIA-95, pages
189–200. Springer-Verlag, 1995.
[GB95b] Joao Gama and Pavel Brazdil. Characterization of classification algorithms.
In Carlos A. Pinto-Ferreira and Nuno J. Mamede, editors, EPIA, volume
990 of Lecture Notes in Computer Science, pages 189–200. Springer, 1995.
[GCVB04] Christophe Giraud-Carrier, Ricardo Vilalta, and Pavel Brazdil. Introduction
to the special issue on meta-learning. Machine Learning, 54(3):187–193,
2004.
[Hen94] Bob Henery. Methods for comparison. In D.J. Spiegelhalter D. Michie and
C.C. Taylor, editors, Machine Learning, Neural and Statistical Classification,
chapter 7, pages 107–124. Ellis Horwood, 1994.
REFERENCIAS 145
[HJH97] C. Harris-Jones and T.L. Haines. Sample size and misclassification: Is
more allways better? Working Paper AMSCAT-WP-97-118, AMS Center
for Advanced Technologies, 1997.
[HK00] Melanie Hilario and Alexandros Kalousis. Building algorithm profiles for
prior model selection in knowledge discovery systems. Engineering Intelligent
Systems, 8(2), 2000.
[JL96] George H. John and Pat Langley. Static versus dynamic sampling for data
mining. In Evangelos Simoudis, Jiawei Han, and Usama M. Fayyad, editors,
Proc. 2nd Int. Conf. Knowledge Discovery and Data Mining, KDD, pages
367–370. AAAI Press, 2–4 1996.
[KH01] Alexandros Kalousis and Melanie Hilario. Feature selection for meta-
learning. In David Wai-Lok Cheung, Graham J. Williams, and Qing Li,
editors, PAKDD, volume 2035 of Lecture Notes in Computer Science, pages
222–233. Springer, 2001.
[KJ97] Ron Kohavi and George H. John. Wrappers for feature subset selection.
Artificial Intelligence, 97(1-2):273–324, 1997.
[Koh95] Ron Kohavi. A study of cross-validation and bootstrap for accuracy
estimation and model selection. In IJCAI, pages 1137–1145, 1995.
[Koh96] Ron Kohavi. Scaling up the accuracy of Naive-Bayes classifiers: a decision-
tree hybrid. In Proceedings of the Second International Conference on
Knowledge Discovery and Data Mining, pages 202–207, 1996.
[Kol93] Janet Kolodner. Case-Based Reasoning. Morgan Kaufmann Publishers,
1993.
[LB03] Rui Leite and Pavel Brazdil. Improving progressive sampling via meta-
learning. In Abreu S Pires FM, editor, Proceedings of the 11th Portuguese
Conference on Artificial Intelligence (EPIA 2003), volume 2902 of Lecture
Notes in Artificial Intelligence, pages 313–323, Beja, Portugal, December
2003. Springer. ISI, ISIProc, DBLP.
[LB04] Rui Leite and Pavel Brazdil. Improving progressive sampling via meta-
learning on learning curves. In Boulicaut JF, Esposito F, Giannoti F,
and Pedreschi D, editors, Proceedings of the 15th European Conference on
146 REFERENCIAS
Machine Learning/ 8th European Conference on Principles and Practice
of Knowledge Discovery in Databases, volume 3201 of Lecture Notes in
Computer Science, pages 250–261, Pisa, Italy, September 2004. Springer.
ISI, ISIProc, DBLP.
[LB05] Rui Leite and Pavel Brazdil. Predicting relative performance of classifiers
from samples. In ICML ’05: Proceedings of the 22nd international conference
on Machine learning, pages 497–503, New York, NY, USA, 2005. ACM Press.
[LB07a] Rui Leite and Pavel Brazdil. An iterative process for building learning
curves and predicting relative performance of classifiers. In Jose Machado
Jose Neves, Manuel Filipe Santos, editor, Proceedings of the 2nd General
Artificial Intelligence Workshop (GAIW 2007), in the 13th Portuguese
Conference on Artificial Intelligence (EPIA 2007), volume 4874 of Lecture
Notes in Computer Science, pages 87–98, Guimaraes, Portugal, December
2007. Springer. DBLP.
[LB07b] Rui Leite and Pavel Brazdil. An iterative process of building learning curves
and predicting relative performance of classifiers. In Abraham Bernstein
Pavel Brazdil, editor, Proceedings of the Planning to Learn Workshop
(PlanLearn 2007), held in ECML/ PKDD 2007, pages 31–40, Warsaw,
Poland, September 2007.
[lCvH92] S. le Cessie and J.C. van Houwelingen. Ridge estimators in logistic regression.
Applied Statistics, 41(1):191–201, 1992.
[Lea96] David B. Leake. Case-Based Reasoning: Experiences, Lessons & Future
Directions. AAAI Press, 1996.
[LM98] Huan Liu and Hiroshi Motoda. Feature extraction, construction and selection
: a data mining perspective, volume SECS 453. Kluwer Academic, Boston,
1998. edited by Huan Liu and Hiroshi Motoda.; Includes bibliographical
references and index.
[Met02] Metal. esprit project metal (#26.357). http://www.metal-kdd.org, 2002.
[Mit97] Thomas M. Mitchell. Machine Learning. McGraw-Hill Higher Education,
1997.
REFERENCIAS 147
[MMHL86] Ryszard S. Michalski, Igor Mozetic, Jiarong Hong, and Nada Lavrac. The
multi-purpose incremental learning system aq15 and its testing application
to three medical domains. In AAAI, pages 1041–1047, 1986.
[MST94] Donald Michie, D. J. Spiegelhalter, and C. C. Taylor. Machine Learning,
Neural and Statistical Classification. Ellis Horwood, 1994.
[Mur90] Bento Jose Ferreira Murteira. Probabilidades e Estatıstica, Vol. II, 2.edicao
rev., volume 2. McGraw-Hill, 1990.
[NW92] H.R. Neave and P.L. Worthington. Distribution-Free Tests. Routledge, 1992.
[PBGC00] Bernhard Pfahringer, Hilan Bensusan, and Christophe Giraud-Carrier.
Meta-learning by landmarking various learning algorithms. In Proceedings
of the 17th International Conference on Machine Learning (ICML-2000),
pages 743–750. Stanford, CA., 2000.
[PF07] Sang-Hyeun Park and Johannes Furnkranz. Efficient pairwise classification.
In Joost N. Kok, Jacek Koronacki, Ramon Lopez de Mantaras, Stan Matwin,
Dunja Mladenic, and Andrzej Skowron, editors, ECML, volume 4701 of
Lecture Notes in Computer Science, pages 658–665. Springer, 2007.
[PFBS02] Yonghong Peng, Peter Flach, Pavel Brazdil, and Carlos Soares. Decision
tree-based characterization for meta-learning. in. In Proceeding of the Fifth
International Conference on Discovery Science (DS-2002). Springer, 2002.
[PFSB02] Yonghong Peng, Peter Flach, Carlos Soares, and Pavel Brazdil. Improved
dataset characterisation for meta-learning. In Smith CH Lange S, Satoh K,
editor, Proceedings of the 5th International Conference on Discovery Science
(DS 2002), volume 2534 of Lecture Notes in Computer Science, pages 141–
152, Lubeck, Germany, November 2002. Springer. ISI, ISIProc, DBLP.
[PH90] Giulia Pagallo and David Haussler. Boolean feature discovery in empirical
learning. Machine Learning, 5:71–99, 1990.
[PJO99] Foster J. Provost, David Jensen, and Tim Oates. Efficient progressive
sampling. In Proceedings of Fifth Int. Conf. on Knowledge Discovery and
Data Mining. AAAI Press, 1999.
148 REFERENCIAS
[PPS03] Claudia Perlich, Foster J. Provost, and Jeffrey S. Simonoff. Tree induction vs.
logistic regression: A learning-curve analysis. Journal of Machine Learning
Research, 4:211–255, 2003.
[Qui87] J. Ross Quinlan. Simplifying decision trees. International Journal of Man-
Machine Studies, 27(3):221–234, 1987.
[Qui93a] J. Ross Quinlan. C4.5: programs for machine learning. Morgan Kaufmann
Publishers Inc., San Francisco, CA, USA, 1993.
[Qui93b] J. Ross Quinlan. Combining instance-based and model-based learning. In
Proceedings of the Tenth International Conference on Machine Learning,
pages 236–243, Amherst, Massachusetts, 1993. Morgan Kaufmann.
[Qui98] J. Ross Quinlan. C5.0 : ’an informal tutorial’, 1998.
[RHW86] D.E. Rumelhart, G. Hinton, and R. Williams. Learning representation by
back-propagation errors. Nature, 323:533–536, 1986.
[RN03] Stuart J. Russell and Peter Norvig. Artificial Intelligence: A Modern
Approach. Pearson Education, 2003.
[Sch93] Cullen Schaffer. Selecting a Classification Method by Cross-Validation. In
Fourth Intl. Workshop on Artificial Intelligence & Statistics, pages 15–25,
January 1993.
[Sch94] Cullen Schaffer. A conservation law for generalization performance. In ICML,
pages 259–265, 1994.
[Sha48] C. E. Shannon. A mathematical theory of communication. Bell Sys. Tech.
J., 27:379–423,623–656, 1948.
[Soa04] Carlos Soares. Learning Rankings of Learning Algorithms: Recomendation
of Algorithms with Meta-Learning. PhD thesis, Departamento de Ciencia de
Computadores, Faculdade de Ciencias da Universidade do Porto, Portugal,
Feb. 2004.
[SOS92] H. S. Seung, Manfred Opper, and Haim Sompolinsky. Query by committee.
In Computational Learning Theory, pages 287–294, 1992.
REFERENCIAS 149
[SPB01] Carlos Soares, Johann Petrak, and Pavel Brazdil. Sampling-based relative
landmarks: Systematically test-driving algorithms before choosing. In
Proceedings of the 10th Portuguese Conference on Artificial Intelligence
(EPIA 2001), pages 88–94. Springer, 2001.
[WI91] Sholom M. Weiss and Nitin Indurkhya. Reduced complexity rule induction.
In IJCAI, pages 678–684, 1991.
[WI98] Sholom M. Weiss and Nitin Indurkhya. Predictive data mining: a practical
guide. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1998.
[WM95] David H. Wolpert and William G. Macready. No free lunch theorems for
search. Technical Report SFI-TR-95-02-010, Santa Fe, NM, 1995.
[Wol96] David H. Wolpert. The lack of priori distinctions between learning
algorithms. Neural Computation, (8):1341–1390, 1996.