selecc¸˜ao de algoritmos de classificac¸˜ao · vez que ´e imposs´ıvel correr experiˆencias...

149
Rui Manuel Santos Rodrigues Leite Selec¸ ao de Algoritmos de Classifica¸ ao Caracteriza¸ c˜aoIterativaBaseada no Desempenho em Amostras Departamento de Ciˆ encia de Computadores Faculdade de Ciˆ encias da Universidade do Porto Junho de 2007

Upload: vuongxuyen

Post on 15-Dec-2018

215 views

Category:

Documents


0 download

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

a Fernanda e Joaninha

a minha famılia (alargada)

aos meus amigos

9

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

12

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.

30 Capıtulo 1. Introducao

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.

130 Capıtulo 4. Avaliacao Experimental

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.

140 Capıtulo . Conclusoes

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.