Algoritmo Spea II
Algoritmo Spea II
Algoritmo Spea II
261
XIII Brazilian Symposium on Information Systems, Lavras, Minas Gerais, June 5-8, 2017
computacional, em termos de tempo, de métodos de classificação Seção 3 aborda conceitos sobre os Algoritmos Evolutivos
de padrões. Neste contexto, técnicas para reduzir as bases de Multiobjetivo. A Seção 4 trata da aplicação de Abordagens
dados vêm sendo propostas. A redução de dados pode ser Evolutivas Multiobjetivo na seleção de instâncias. Na sequência,
alcançada de diversas maneiras, dentre elas, a Seleção de a Seção 5 descreve os experimentos e apresenta os resultados. Por
Características e a Seleção de Instâncias. Ao selecionar fim, na Seção 6, são apresentadas as conclusões.
características, reduzimos o número de colunas em um conjunto
de dados [15] e selecionando instâncias, reduzimos o número de 2. TRABALHOS CORRELATOS
linhas [22]. A Seleção de Instâncias ou Protótipos vem sendo Nesta seção são descritos os trabalhos que realizam a seleção de
destacada como um dos mais promissores mecanismos de redução instâncias, encontrados na fase de levantamento bibliográfico
de dados [16]; [14]. desta pesquisa. São apresentadas as metodologias aplicadas e um
resumo dos resultados obtidos e das conclusões.
Mais detalhadamente, selecionar instâncias consiste em obter um
representativo subconjunto de dados com tamanho menor e com Os autores de [6] compararam o desempenho de quatro algoritmos
um desempenho para classificação similar ou até mesmo maior evolutivos: Generational Genetic Algorithm (GGA) [17], Steady-
que o original, dada a eliminação de instâncias supérfluas e State Genetic Algorithm (SSGA) [23], CHC Adaptive Search
ruidosas. Além de permitir que os algoritmos de classificação de Algorithm (CHC) [12] e Population-Based Incremental Learning
padrões se concentrem na parte relevante dos dados, melhorando (PBIL) [4], com algoritmos não evolutivos. Os tamanhos das
seu desempenho, a seleção de instâncias pode tornar possível a bases de dados variaram de 148 a 768 instâncias para as bases
aplicação de tais algoritmos, dada a limitação de capacidade de consideradas pequenas, e de 7200 a 10992 instâncias para as
alguns deles em lidar com bases de dados de tamanho elevado. bases consideradas médias. No total foram analisadas 13 bases,
sendo 10 pequenas e 3 médias. De acordo com as conclusões, o
Embora sejam muitos os benefícios advindos da seleção de algoritmo CHC foi o que obteve os melhores resultados. No
instâncias, é necessário considerar ganhos e perdas, geralmente entanto, os autores fazem uma ressalva em relação ao longo
associados à quantidade de redução que se deseja ter e à qualidade tempo de processamento do CHC, o que se torna um empecilho
na precisão pretendida [19]. Assim, na seleção das instâncias, em aplicá-lo em grandes bases de dados.
existe um problema de trade-off entre redução e precisão, onde se
tenta manter a qualidade na classificação, minimizando a No trabalho de [7] é proposto um algoritmo chamado Intelligent
quantidade de dados. Na busca do melhor equilíbrio entre redução Multi- Objective Evolutionary Algorithm (IMOEA), o qual é uma
dos dados e precisão, diversas metodologias vêm sendo propostas versão multiobjetivo do Intelligent Genetic Algorithm (IGA)
para selecionar instâncias. No entanto, após o estudo dos proposto por [18]. O objetivo do artigo é aplicar o IMOEA para
trabalhos relacionados, notou-se que quase todos utilizaram simultaneamente selecionar instâncias e características para
algoritmos evolutivos para seleção de instâncias, mas apenas um projetar ótimos classificadores 1-NN, ou seja, obter
deles é um Algoritmo Evolutivo Multiobjetivo (AEMO), apesar classificadores que maximizem a taxa de classificação enquanto
de tais métodos buscarem otimizar dois objetivos considerados minimizam a quantidade de instâncias e características. De acordo
conflitantes entre si, precisão e redução do custo computacional. com os autores, o IMOEA obteve alto desempenho em
O único AEMO utilizado foi proposto no trabalho de [7]. No comparação ao IGA e ao Strength Pareto Evolutionary Algorithm
entanto, este algoritmo possui uma característica que o difere dos (SPEA) [26]. Foram utilizadas 11 bases de dados, as quais
algoritmos evolutivos multiobjetivo tradicionais, que é calcular possuíam de 150 a 1473 instâncias, e de 3 a 60 características.
um valor de fitness tanto para as soluções não dominadas quanto
Em [3], realiza-se a seleção de instâncias por meio de uma
para as dominadas, o que o torna mais dispendioso
abordagem co-evolutiva, ou seja, um algoritmo genético mono-
computacionalmente.
objetivo é responsável por obter um conjunto de instâncias
Em suma, de acordo com o levantamento bibliográfico realizado, reduzido, o qual é usado por um AEMO para a construção da base
não foi encontrado até o momento na literatura nenhum trabalho de conhecimento. Os autores mostraram que com um conjunto
que usasse para selecionar instâncias um dos AEMO amplamente entre 10% a 20% do conjunto original é possível obter resultados
conhecidos pela comunidade científica, tais como o Non- satisfatórios, e além disso, reduzir cerca de 86% do tempo
dominated Sorting Genetic Algorithm (NSGA-II) [11] e o computacional. Os tamanhos das bases de dados variaram de 4052
Strength Pareto Evolutionary Algorithm (SPEA-II) [27]. Outro a 40768 instâncias.
aspecto importante é que a maioria deles utiliza os classificadores
O trabalho de [13] fez um estudo comparativo de 36 técnicas de
K-NN (K-Nearest Neighbor) e SVM (Support Vector Machine)
seleção de instâncias aplicadas em 37 bases de dados de
para avaliar a taxa de classificação. Somente os trabalhos de [13]
diferentes tamanhos. Dentre as técnicas de seleção há algoritmos
e [3] utilizaram um Sistema Baseado em Regras Fuzzy, que foi
evolutivos e não evolutivos. Das 37 bases, 20 foram consideradas
construído a partir do conjunto reduzido de instâncias.
pequenas, que variavam de 150 a 1473 instâncias, e 17 foram
Neste contexto, este trabalho se propõe a avaliar a aplicação dos consideradas médias ou grandes, contendo de 2201 a 19020
algoritmos NSGA-II e SPEA-II na seleção de instâncias em bases instâncias. De acordo com as conclusões, o algoritmo Relative
de dados de classificação, utilizando como classificador o Neighborhood Graph Editing (RNG) é indicado para bases
algoritmo K-NN. Os resultados serão comparados com os obtidos pequenas, enquanto que os algoritmos Intelligent Genetic
sem realizar a seleção de instâncias (ou seja, com o conjunto de Algorithm (IGA) e Populational Based Incremental Learning
dados completo) e com outros resultados apresentados nos (PBIL) são indicados para as bases médias ou grandes. No
trabalhos correlatos disponíveis na literatura. entanto, o PBIL apresenta, na média, menores tempos de
execução.
Este trabalho está organizado como segue. Na Seção 2 é
apresentada uma breve descrição de alguns dos trabalhos Em [21], os autores propuseram um algoritmo genético eficiente,
relacionados encontrados durante o levantamento bibliográfico. A chamado EGA, para selecionar instâncias, o qual utiliza conceitos
262
XIII Brazilian Symposium on Information Systems, Lavras, Minas Gerais, June 5-8, 2017
da evolução biológica para melhorar seu desempenho, às técnicas tradicionais [8], como por exemplo, não introduzem
principalmente em relação à diversidade da população. Este parâmetros adicionais para a resolução do problema, trabalham
algoritmo foi comparado com um AG tradicional e com os diretamente com várias funções usando o conceito de dominância
seguintes algoritmos: Iterative Case Filtering (ICF) [5], DROP3 de Pareto e um conjunto diversificado de soluções pode ser
[24] e IB3 [1]. O EGA superou os quatro algoritmos em termos de encontrado apenas em uma execução do AEMO. Dentre os
média de acurácia, e, além disso, conseguiu melhores taxas de AEMO mais conhecidos destacam-se o Non-dominated Sorting
redução com menor tempo computacional. Os experimentos Genetic Algorithm (NSGA-II) [11] e o Strength Pareto
foram realizados em quatro bases de dados, as quais tinham de Evolutionary Algorithm (SPEA-II) [27].
149 a 11742 instâncias, e de 200 a 18236 características.
O algoritmo NSGA-II é baseado em uma ordenação elitista por
dominância. Para cada solução i, contida na população de
3. ALGORITMOS EVOLUTIVOS soluções, são calculados dois valores: (a) ndi, o número de
MULTIOBJETIVO soluções que dominam a solução i; e (b) Ui, o conjunto de
Um Problema de Otimização Multiobjetivo (MOOP, do inglês soluções que são dominadas pela solução i. As soluções com ndi =
Multiobjective Optimization Problem) possui um conjunto de 0 estão contidas na fronteira F1. Em seguida, para cada solução j
funções objetivo a serem otimizadas (maximizadas ou em Ui, decrementa-se o ndj para cada i j, onde i F1. Se ndj =
minimizadas). Além disso, possui restrições que devem ser 0, então a solução j pertence à próxima fronteira, neste caso, F2.
satisfeitas para que uma solução seja factível para o problema. Tal procedimento é repetido até que todas as soluções estejam
classificadas em uma fronteira. Esse procedimento consiste em
As funções objetivo empregadas nos MOOP são em geral classificar as soluções de um conjunto M em diversas fronteiras
conflitantes entre si. Em um MOOP, emprega-se o conceito de F1,F2,...Fk conforme o grau de dominância de tais soluções. Para
Dominância de Pareto para comparar duas soluções factíveis do garantir a diversidade na fronteira calculada, o NSGA-II emprega
problema. Dadas duas soluções X e Y, diz-se que X domina Y uma estimativa da densidade das soluções que rodeiam cada
(denotado como X Y) se as seguintes condições são satisfeitas: indivíduo da população. Assim, calcula-se a média da distância
(a) a solução X é pelo menos igual a Y em todas as funções das duas soluções adjacentes a cada indivíduo para todos os
objetivo; e (b) a solução X é superior a Y em pelo menos uma objetivos, denominada de distância de multidão ou crowdist. A
função objetivo. Assim, existe um conjunto de soluções que aptidão de cada solução (indivíduo) i é determinada pelos
possuem vantagens em desempenho, mas que não são melhores seguintes valores: (a) ranki = k, o valor de ranki é igual ao número
em custo e vice-versa. Em um MOOP, o conjunto de soluções da fronteira Fk à qual pertence; e (b) crowdisti, o valor de
não-dominadas é chamado de conjunto Pareto-ótimo, que distância de multidão de i. Assim, no processo de Ordenação por
representa as soluções ótimas do problema. O conjunto de valores Dominância, uma solução i é mais apta que uma solução j se: (a) i
das funções objetivo das soluções do conjunto Pareto-ótimo é possui um ranking menor que j, ou seja, ranki < rankj; e (b) se
denominado Fronteira de Pareto. [10] aponta três importantes ambas as soluções possuem o mesmo ranking e i possui um maior
metas em otimização multiobjetivo. A primeira é encontrar um valor de distância de multidão.
conjunto de soluções que esteja o mais próximo possível da
Fronteira de Pareto. Soluções muito distantes desta fronteira não No SPEA-II, a aptidão para cada solução i é obtida em várias
são desejáveis. A segunda é encontrar a maior diversidade dentro etapas. Primeiro, calcula-se um valor de aptidão (denotado por
das soluções, assegurando a maior cobertura possível da fronteira. strenghti), que representa o número de soluções que são
Por fim, dado que encontrar um conjunto de soluções dominadas pela solução i. Calcula-se também o valor de rawi, que
uniformemente distribuído é uma tarefa que pode consumir representa o somatório dos valores strenghtj das soluções j que
consideráveis recursos computacionais, é necessário que tais dominam i. Conforme [27], este mecanismo em certo nível ordena
soluções sejam obtidas eficientemente. as soluções por dominância, mas não enfatiza a preferência de
uma solução sobre outra. Para resolver esse problema, o SPEA-II
Existem técnicas tradicionais para solução de MOOP, como os usa uma informação de densidade, chamada de densi, baseada no
métodos de Somatório dos Pesos e Programação por Metas [10]. método de k-vizinhos, onde a densidade em qualquer ponto é uma
A principal vantagem dessas técnicas é que possuem provas de função decrescente em relação a k-ésima solução mais próxima.
convergência que garantem encontrar pelo menos uma solução Finalmente, a aptidão final para cada solução i, denotada por Ai, é
Pareto-ótima [9]; [10]. Entretanto, todas as técnicas tradicionais dada pela soma de rawi com densi.
reduzem um MOOP para um problema de objetivo simples. Cada
técnica utiliza uma forma diferente de redução e introduz
parâmetros adicionais, sendo que a escolha desses parâmetros 4. ABORDAGENS EVOLUTIVAS
afeta diretamente os resultados obtidos. Cada vez que os MULTIOBJETIVO APLICADAS NA
parâmetros são modificados, é necessário resolver um novo SELEÇÃO DE INSTÂNCIAS
problema de otimização simples. Além disso, alguns métodos não Nesta seção serão detalhados os parâmetros dos algoritmos
garantem soluções ao longo de toda a Fronteira de Pareto NSGA-II e SPEA-II utilizados para selecionar instâncias: a
(diversidade das soluções). Como alternativa para superar essas codificação dos cromossomos, os operadores genéticos
desvantagens, outras técnicas foram propostas para tratar MOOP, (cruzamento e mutação) e a função de avaliação dos
e dentre estas, destacam-se os Algoritmos Evolutivos. cromossomos (ou cálculo do fitness).
Os Algoritmos Evolutivos Multiobjetivo (AEMO) são métodos de A codificação adotada para os cromossomos é uma sequência de
busca que imitam os mecanismos de evolução natural das zeros e uns, onde o valor 'um' representa a presença de uma
espécies, compreendendo processos de evolução genética de determinada instância e o valor 'zero' representa a ausência. Esta
populações, sobrevivência e adaptação dos indivíduos [10]. A codificação também é utilizada pela maioria dos trabalhos
aplicação dos AEMO para MOOP apresenta vantagens em relação apresentados na Seção 2. Como consequência desta forma de
263
XIII Brazilian Symposium on Information Systems, Lavras, Minas Gerais, June 5-8, 2017
codificação, o tamanho do cromossomo será igual ao tamanho do Tabela 1. Informações das bases pequenas.
conjunto de instâncias. O operador de cruzamento escolhido foi o Base de #instâncias #atributos #classes
Half Uniform Crossover (HUX) [12], devido aos bons resultados dados (Num/Nom)
obtidos pelo algoritmo CHC, que utiliza este operador, conforme australian 690 14 (8/6) 2
apresentado no trabalho de [6]. Em relação à mutação foi automobile 205 25 (15/10) 6
balance 625 4 (4/0) 3
escolhido um operador que simplesmente troca o valor de um 345 6 (6/0) 2
bupa
gene por outro. Se o valor de um gene é um, então este valor é cleveland 297 13 (13/0) 5
convertido para zero, e vice-versa. A seleção dos cromossomos é contraceptive 1473 9 (9/0) 3
feita pelo operador Torneio [20]. A avaliação dos cromossomos crx 653 15 (6/9) 2
ecoli 336 7 (7/0) 8
foi feita a partir de dois objetivos, taxa de acurácia e taxa de
german 1000 20 (7/13) 2
redução do conjunto de treinamento original, os quais são glass 214 9 (9/0) 7
definidos pelas equações 1 e 2, respectivamente: haberman 306 3 (3/0) 2
heart 270 13 (13/0) 2
qtdade _ acertos hepatitis 155 19 (19/0) 2
taxa _ acuracia (1) 150 4 (4/0) 3
total _ exemplos iris
newthyroid 215 5 (5/0) 3
total _ exemplos qtdade _ selecionada pima 768 8 (8/0) 2
taxa _ reducao (2) tae 151 5 (5/0) 3
total _ exemplos vehicle 846 18 (18/0) 4
wine 178 13 (13/0) 3
A variável qtdade_acertos contabiliza a quantidade de exemplos wisconsin 699 9 (9/0) 2
que foram classificados corretamente, a variável
qtdade_selecionada indica a quantidade de exemplos (ou Tabela 2. Informações das bases médias e grandes.
instâncias) selecionadas, e a variável total_exemplos é a Base de #instâncias #atributos #classes
quantidade total de exemplos do conjunto de treinamento. O valor dados (Num/Nom)
da variável qtdade_acertos é resultado da aplicação do abalone 4174 8 (7/1) 28
banana 5300 2 (2/0) 2
classificador K-NN, com K=1. A facilidade de implementação e a coil2000 9822 85 (85/0) 2
efetividade, fazem do K-NN um dos algoritmos mais utilizados magic 19020 10 (10/0) 2
em experimentos de classificação [25] e mais especificamente, em marketing 6876 13 (13/0) 9
problemas de seleção de instâncias, como pode ser observado na page-blocks 5472 10 (10/0) 5
penbased 10992 16 (16/0) 10
Seção 2.
phoneme 5404 5 (5/0) 2
Ao término da execução dos AEMO, a solução final que ring 7400 20 (20/0) 2
satimage 6435 36 (36/0) 7
representa as instâncias selecionadas é a mais próxima do ponto segment 2310 19 (19/0) 7
médio da fronteira de Pareto. Este critério foi adotado visando o spambase 4597 57 (57/0) 2
balanceamento entre os objetivos taxa de acurácia e taxa de texture 5500 40 (40/0) 11
redução. thyroid 7200 21 (21/0) 3
titanic 2201 3 (3/0) 2
twonorm 7400 20 (20/0) 2
5. EXPERIMENTOS E RESULTADOS
Nesta seção são apresentadas as características das bases de dados 5.2 Configuração dos Experimentos
usadas nos experimentos, a descrição dos experimentos realizados Para analisar os resultados, serão considerados dois cenários:
e a discussão dos resultados obtidos. Cenário 1 para bases “pequenas” e Cenário 2 para bases “médias-
grandes”; sempre utilizando o K-NN como algoritmo de
classificação. Em cada cenário, serão realizados dois
5.1 Características das Bases de Dados experimentos: (1) classificação da base de dados sem seleção de
Foram consideradas para os experimentos um total de 36 bases, as instâncias (ou seja, considerando a base completa); e (2) no
quais foram divididas em dois grupos, “pequenas” e “médias- Cenário 1, comparar o desempenho em selecionar instâncias dos
grandes”, de acordo com o número de instâncias, da mesma forma algoritmos NSGA-II, SPEA-II e RNG; e no Cenário 2, comparar
como em [13]. A Tabela 1 apresenta as informações das bases o desempenho em selecionar instâncias dos algoritmos NSGA-II,
pequenas e a Tabela 2 as informações das bases médias-grandes. SPEA-II e PBIL. A escolha dos algoritmos RNG para as bases
A coluna #instâncias indica o número de instâncias da base, a pequenas e PBIL para as bases médias e grandes foi baseada nas
coluna #atributos(Num/Nom) indica a quantidade de atributos, conclusões do trabalho de [13], já comentado na Seção 2. Vale
onde Num significa a quantidade de atributos numéricos e Nom a destacar que os resultados apresentados neste trabalho para os
quantidade de atributos nominais, e a última coluna #classes algoritmos RNG e PBIL são oriundos da execução destes, dado
indica a quantidade de classes da base. Estas bases foram obtidas que os códigos-fonte estão disponíveis no Keel Software Tool,
do repositório Keel [2], disponível em disponível em http://sci2s.ugr.es/keel/download.php.
http://sci2s.ugr.es/keel/datasets.php.
Os testes foram realizados em uma máquina com processador
Nos experimentos foi utilizada a abordagem ten-fold cross Core i7-3770 3.4GHz, com 8Gb RAM. Para todas as tabelas de
validation. Além disso, cada fold foi testado três vezes, logo, para resultados que serão apresentadas nas próximas seções, haverão
cada base de dados foram efetuadas 30 execuções. Os resultados colunas identificadas com (avg) e (dev), onde (avg) indica que os
apresentados expressam a média destas 30 execuções. resultados são a média das 30 execuções realizadas para cada base
de dados, e (dev) indica o desvio padrão dos 30 resultados
obtidos.
264
XIII Brazilian Symposium on Information Systems, Lavras, Minas Gerais, June 5-8, 2017
5.3 Cenário 1 forma, o algoritmo RNG também foi utilizado para comparação
Neste cenário foram realizados os experimentos com as bases de de resultados.
dados pequenas. A Tabela 3 apresenta a classificação destas Tabela 4. Classificação de bases pequenas usando NSGA-II
bases, considerando todas as instâncias. A coluna Tempo está para selecionar instâncias.
relacionada ao tempo de execução do classificador K-NN, Base de Tempo Tempo Taxa de Taxa de Acurácia no Acurácia no Acurácia Acurácia
expresso em minutos. Dados (avg) (dev) Redução
(avg)
Redução
(dev)
Treinamento
(avg)
Treinamento
(dev)
no Teste
(avg)
no Teste
(dev)
Tabela 3. Classificação de bases pequenas sem seleção de australian 0,0480 0,0099 0,5220 0,0097 0,3246 0,0082 0,6188 0,0505
automobile 0,0017 0,0004 0,5653 0,0239 0,2408 0,0213 0,3598 0,1246
instâncias. balance 0,0284 0,0042 0,5161 0,0115 0,4100 0,0115 0,8106 0,0513
bupa 0,0046 0,0004 0,5314 0,0154 0,3377 0,0145 0,6251 0,0635
Base de dados Acurácia Acurácia Tempo Tempo cleveland 0,0035 0,0004 0,5443 0,0174 0,2413 0,0134 0,3988 0,0722
(avg) (dev) (avg) (dev) contraceptive 0,2435 0,0338 0,5162 0,0080 0,2490 0,0065 0,4725 0,0366
crx 0,0383 0,0062 0,5234 0,0106 0,3224 0,0090 0,6270 0,0679
australian 0,6145 0,0824 0,000027 0,000084 ecoli 0,0045 0,0005 0,5227 0,0149 0,4160 0,0150 0,7917 0,0770
automobile 0,3716 0,1400 0,000000 0,000000 german 0,1088 0,0099 0,5174 0,0093 0,3228 0,0090 0,6120 0,0404
balance 0,7904 0,0657 0,000008 0,000019 glass 0,0020 0,0002 0,5339 0,0163 0,3968 0,0148 0,6785 0,1166
haberman 0,0036 0,0004 0,5289 0,0152 0,3729 0,0128 0,7023 0,0591
bupa 0,6410 0,0499 0,000002 0,000006
heart 0,0029 0,0004 0,5347 0,0128 0,3547 0,0127 0,6580 0,0806
cleveland 0,3912 0,0799 0,000001 0,000004 hepatitis 0,0007 0,0002 0,5496 0,0207 0,4398 0,0221 0,7742 0,1428
contraceptive 0,4657 0,0461 0,000014 0,000010 iris 0,0013 0,0002 0,5121 0,0136 0,4879 0,0136 0,9622 0,0379
crx 0,6220 0,0492 0,000004 0,000009 newthyroid 0,0020 0,0002 0,5158 0,0118 0,4813 0,0121 0,9147 0,0445
pima 0,0519 0,0073 0,5197 0,0087 0,3562 0,0091 0,6785 0,0536
ecoli 0,8070 0,0663 0,000001 0,000003 tae 0,0013 0,0002 0,5492 0,0188 0,3427 0,0201 0,4586 0,1304
german 0,6120 0,0301 0,000009 0,000012 vehicle 0,0643 0,0088 0,5155 0,0092 0,3436 0,0073 0,6283 0,0621
glass 0,7626 0,1071 0,000000 0,000000 wine 0,0015 0,0003 0,5399 0,0173 0,4078 0,0168 0,7212 0,1110
wisconsin 0,0369 0,0056 0,5047 0,0083 0,4871 0,0081 0,9593 0,0309
haberman 0,6958 0,0504 0,000001 0,000003
heart 0,6444 0,0482 0,000001 0,000003 Média 0,0325 0,0045 0,5282 0,0137 0,3668 0,0129 0,6726 0,0727
hepatitis 0,8222 0,1226 0,000000 0,000000
iris 0,9600 0,0332 0,000000 0,000000
newthyroid 0,9626 0,0516 0,000000 0,000000 Tabela 5. Classificação de bases pequenas usando SPEA-II
pima 0,6680 0,0588 0,000001 0,000004 para selecionar instâncias.
tae 0,6242 0,1440 0,000001 0,000003 Base de Tempo Tempo Taxa de Taxa de Acurácia no Acurácia no Acurácia Acurácia
vehicle 0,6476 0,0428 0,000008 0,000014 Dados (avg) (dev) Redução Redução Treinamento Treinamento no Teste no Teste
(avg) (dev) (avg) (dev) (avg) (dev)
wine 0,7699 0,0633 0,000001 0,000003
australian 0,0417 0,0074 0,5225 0,0108 0,3208 0,0084 0,6319 0,0770
wisconsin 0,9578 0,0282 0,000003 0,000006 automobile 0,0025 0,0005 0,5638 0,0230 0,2352 0,0229 0,3242 0,1431
balance 0,0292 0,0039 0,5127 0,0085 0,4105 0,0088 0,8000 0,0432
bupa 0,0053 0,0006 0,5301 0,0129 0,3341 0,0099 0,6300 0,0603
Média 0,6915 0,0680 0,000004 0,000009 cleveland 0,0044 0,0006 0,5376 0,0189 0,2389 0,0143 0,4212 0,0756
contraceptive 0,2415 0,0309 0,5161 0,0078 0,2477 0,0073 0,4695 0,0361
A melhor acurácia na classificação foi encontrada para a base crx 0,0352 0,0062 0,5227 0,0096 0,3196 0,0092 0,6360 0,0538
ecoli 0,0051 0,0006 0,5230 0,0119 0,4127 0,0119 0,7898 0,0549
newthyroid e a pior para a base automobile, ambas destacadas na german 0,1050 0,0125 0,5159 0,0077 0,3207 0,0085 0,6090 0,0344
Tabela 3. glass
haberman
0,0027
0,0045
0,0003
0,0006
0,5364
0,5254
0,0149
0,0116
0,3903
0,3712
0,0137
0,0129
0,6723
0,6763
0,1353
0,0623
heart 0,0036 0,0004 0,5361 0,0149 0,3494 0,0129 0,6346 0,0901
Na Tabela 4, utilizando o NSGA-II para selecionar instâncias, hepatitis 0,0012 0,0002 0,5449 0,0228 0,4398 0,0246 0,7751 0,1586
iris 0,0025 0,0006 0,5136 0,0109 0,4864 0,0109 0,9667 0,0420
pode-se verificar uma média de redução do número de instâncias newthyroid 0,0028 0,0003 0,5115 0,0122 0,4842 0,0130 0,9193 0,0490
Usando o SPEA-II na seleção de instâncias, pode-se verificar uma Média 0,0322 0,0043 0,5263 0,0127 0,3646 0,0125 0,6687 0,0738
A Tabela 6 descreve todos os parâmetros usados na seleção de Na Tabela 7, utilizando o algoritmo RNG, pode-se observar uma
instâncias pelo NSGA-II e pelo SPEA-II. Tais parâmetros foram média de redução de 24,90% no número de instâncias.
definidos de forma empírica, com experimentos combinando Comparando-se a média da acurácia na fase de testes entre a
diferentes valores para cada parâmetro. Os valores testados para o Tabela 3 e a Tabela 7, percebe-se uma pequena variação positiva,
tamanho da população foram 50, 100, 150 e 200. Para o número de 0,6915 para 0,7061.
máximo de avaliações foram considerados os valores 1000, 2000
e 3000. A taxa de probabilidade de cruzamento foi avaliada com Comparando-se a abordagem sem seleção de instâncias com os
os valores 0,5, 0,7 e 0,9. Por fim, os valores testados para a taxa algoritmos NSGA-II, SPEA-II e RNG, é possível observar
de probabilidade de mutação foram 0,2, 0,4 e 0,6. similaridade na média de acurácia, porém reduzindo pela metade
o número de instâncias, no caso do NSGA-II e do SPEA-II, e em
Segundo as conclusões do trabalho de [13], o algoritmo Relative aproximadamente 25% com o RNG, o que contribui significativa
Neighborhood Graph Editing (RNG) é o mais indicado para bases e positivamente na redução de tempo de execução do K-NN. Isso
de dados pequenas, dentre 36 algoritmos de seleção de instâncias porque, como o K-NN é um algoritmo determinístico, quanto
aplicados em 37 bases de dados de diferentes tamanhos. Desta menor o número de instâncias a serem comparadas, mais rápido é
o processo de classificação. Apesar da taxa de redução do número
265
XIII Brazilian Symposium on Information Systems, Lavras, Minas Gerais, June 5-8, 2017
de instâncias do RNG ser inferior, seu tempo gasto para com valor médio igual a 0,2065, ambas destacadas na Tabela 9. A
selecionar as instâncias foi menor em quase todas as bases, coluna Tempo está relacionada ao tempo de execução do
resultando em uma redução de tempo média de 58% em relação classificador K-NN, expresso em minutos.
ao NSGA-II e ao SPEA-II.
Utilizando o NSGA-II para selecionar instâncias nas bases médias
Tabela 7. Classificação de bases pequenas usando RNG para e grandes, pode-se verificar uma média de redução de 50,38% do
selecionar instâncias. número de instâncias das bases de dados, conforme pode ser
Base de Tempo Tempo Taxa de Taxa de Acurácia Acurácia
verificado na Tabela 10. Comparando-se a média da acurácia na
dados (avg) (dev) Redução Redução (avg) (dev) fase de testes entre a Tabela 9 e a Tabela 10, percebe-se uma
(avg) (dev)
pequena melhora, de 0,7909 para 0,7921, respectivamente.
australian 0,0142 0,0009 0,1599 0,0093 0,6464 0,0755
automobile 0,0013 0,0001 0,3328 0,0232 0,3796 0,1368 De acordo com os resultados mostrados na Tabela 11, usando o
balance 0,0346 0,0017 0,1284 0,0071 0,8576 0,0401
bupa 0,0047 0,0005 0,3855 0,0195 0,6232 0,0594
SPEA-II na seleção de instâncias, pode-se verificar uma média de
cleveland 0,0033 0,0006 0,4224 0,0099 0,5075 0,0755 redução do número de instâncias das bases de dados de 50,4%.
contraceptive 0,0722 0,0024 0,5019 0,0075 0,5201 0,0366 Observando-se a média da acurácia na fase de testes entre a
crx 0,0191 0,0027 0,1513 0,0094 0,6509 0,0534 Tabela 9 e a Tabela 11, é possível perceber uma pequena melhora,
ecoli 0,0040 0,0001 0,2133 0,0095 0,8307 0,0567
german 0,0403 0,0023 0,279 0,0076 0,6680 0,0264
de 0,7909 para 0,7931.
glass 0,0018 0,0002 0,3349 0,0131 0,6952 0,1193
haberman 0,0021 0,0001 0,358 0,0203 0,7281 0,0570
Tabela 10. Classificação de bases médias e grandes usando
heart 0,0024 0,0001 0,2119 0,0171 0,6704 0,0662 NSGA-II para selecionar instâncias.
hepatitis 0,0007 0,0001 0,1835 0,0262 0,8338 0,1279 Base de Tempo Tempo Taxa de Taxa de Acurácia no Acurácia no Acurácia Acurácia
iris 0,0015 0,0001 0,0489 0,0102 0,9600 0,0332 Dados (avg) (dev) Redução Redução Treinamento Treinamento no Teste no Teste
(avg) (dev) (avg) (dev) (avg) (dev)
newthyroid 0,0015 0,0001 0,0517 0,0074 0,9258 0,0685
abalone 2,6009 0,2684 0,5121 0,0047 0,1101 0,0020 0,2094 0,0159
pima 0,0169 0,0017 0,2776 0,0107 0,7371 0,0559
banana 4,6786 0,7076 0,5034 0,0031 0,4383 0,0031 0,8625 0,0135
tae 0,0012 0,0001 0,5467 0,0294 0,5113 0,1354
coil2000 10,6461 0,8236 0,5023 0,0020 0,4520 0,0020 0,9003 0,0069
vehicle 0,0222 0,0019 0,2972 0,0101 0,6512 0,0425 magic 35,1591 0,7228 0,5028 0,0014 0,3941 0,0013 0,7696 0,0101
wine 0,0020 0,0003 0,0599 0,0139 0,7588 0,0608 marketing 9,8895 1,8133 0,5084 0,0044 0,1505 0,0029 0,2797 0,0173
wisconsin 0,0211 0,0006 0,0348 0,0036 0,9666 0,0276 page-blocks 5,1013 0,7764 0,5012 0,0021 0,4813 0,0021 0,9544 0,0077
penbased 10,7884 0,2320 0,5008 0,0015 0,4969 0,0015 0,9915 0,0028
phoneme 4,9035 0,7559 0,5017 0,0020 0,4580 0,0024 0,8740 0,0135
Média 0,0134 0,0008 0,2490 0,0133 0,7061 0,0677
ring 11,6837 1,9386 0,5044 0,0026 0,3800 0,0027 0,7209 0,0099
satimage 7,5134 1,5099 0,5032 0,0021 0,4563 0,0020 0,8947 0,0134
A Tabela 8 apresenta o resumo das médias dos resultados dos segment 0,6597 0,1097 0,5025 0,0032 0,4850 0,0036 0,9453 0,0215
experimentos. spambase
texture
3,0294
4,9011
0,4293
0,8333
0,5043
0,5002
0,0035
0,0025
0,4175
0,4968
0,0036
0,0024
0,7887
0,9825
0,0168
0,0041
thyroid 10,5249 2,0377 0,5017 0,0021 0,4671 0,0024 0,9211 0,0089
Tabela 8. Comparação dos resultados das bases pequenas. titanic 0,5723 0,0780 0,5107 0,0058 0,3072 0,0329 0,6318 0,1181
twonorm 11,5908 1,9573 0,5017 0,0023 0,4754 0,0024 0,9464 0,0094
Abordagem Tempo Taxa de redução Acurácia
Sem seleção de instâncias - - 0,6915 Média 8,3902 0,9371 0,5038 0,0028 0,4042 0,0043 0,7921 0,0181
NSGA-II 0,0325 0,5282 0,6726
SPEA-II 0,0322 0,5263 0,6687
RNG 0,0134 0,2490 0,7061 Tabela 11. Classificação de bases médias e grandes usando
SPEA-II para selecionar instâncias.
5.4 Cenário 2 Base de Tempo Tempo Taxa de Taxa de Acurácia no Acurácia no Acurácia Acurácia
Dados (avg) (dev) Redução Redução Treinamento Treinamento no Teste no Teste
No Cenário 2 são consideradas as bases de dados médias e (avg) (dev) (avg) (dev) (avg) (dev)
grandes. A Tabela 9 apresenta os resultados da classificação abalone 2,5844 0,2269 0,5109 0,0048 0,1096 0,0022 0,2095 0,0157
banana 4,6783 0,7112 0,5040 0,0022 0,4379 0,0019 0,8660 0,0120
destas bases sem seleção de instâncias. coil2000 12,3055 1,6635 0,5023 0,0021 0,4516 0,0023 0,9008 0,0097
magic 36,0893 0,7967 0,5027 0,0019 0,3938 0,0016 0,7734 0,0098
Tabela 9. Classificação de bases médias e grandes sem seleção marketing 9,6979 1,7119 0,5088 0,0033 0,1496 0,0019 0,2790 0,0146
page-blocks 4,8488 0,7990 0,5021 0,0020 0,4801 0,0021 0,9548 0,0067
de instâncias. penbased 18,0015 2,3949 0,5000 0,0013 0,4978 0,0013 0,9914 0,0028
phoneme 3,0685 0,2548 0,5030 0,0022 0,4566 0,0028 0,8771 0,0149
Bases de dados Acurácia Acurácia Tempo Tempo ring 6,1478 0,4555 0,5045 0,0028 0,3802 0,0029 0,7226 0,0107
(avg) (dev) (avg) (dev) satimage 4,3390 0,1409 0,5031 0,0022 0,4560 0,0028 0,8952 0,0117
abalone 0,2065 0,0154 0,000060 0,000111 segment 0,4195 0,0355 0,5023 0,0030 0,4851 0,0033 0,9489 0,0164
banana 0,8728 0,0115 0,000009 0,000049 spambase 3,1699 0,4157 0,5051 0,0030 0,4164 0,0032 0,7907 0,0194
texture 5,2674 0,8716 0,5004 0,0021 0,4966 0,0022 0,9828 0,0057
coil2000 0,8991 0,0100 0,000026 0,000078
thyroid 12,2846 2,4873 0,5022 0,0019 0,4664 0,0021 0,9208 0,0060
magic 0,7832 0,0088 0,000221 0,000467 titanic 0,6982 0,1395 0,5111 0,0049 0,3055 0,0315 0,6329 0,1281
marketing 0,2842 0,0132 0,000051 0,000103 twonorm 12,4232 2,4752 0,5016 0,0021 0,4754 0,0021 0,9445 0,0087
page-blocks 0,9580 0,0074 0,000017 0,000066
penbased 0,9935 0,0022 0,000079 0,000123 Média 8,5015 0,9738 0,5040 0,0026 0,4037 0,0041 0,7931 0,0183
phoneme 0,9051 0,0167 0,000018 0,000068
ring 0,7539 0,0086 0,000043 0,000097
satimage 0,9058 0,0123 0,000043 0,000097 A coluna Tempo nas Tabelas 10, 11 e 13 está relacionada ao
segment 0,9671 0,0184 0,000000 0,000000 tempo de execução empregado na seleção de instâncias, descrito
spambase 0,8216 0,0251 0,000008 0,000046 em minutos.
texture 0,9909 0,0030 0,000008 0,000046
thyroid 0,9299 0,0078 0,000017 0,000063 Os parâmetros usados na seleção de instâncias pelo NSGA-II e
titanic 0,5916 0,0780 0,000000 0,000000 pelo SPEA-II para bases médias e grandes foram definidos
twonorm 0,9465 0,0068 0,000034 0,000089
empiricamente, assim como feito para as bases pequenas, e são
Média 0,7909 0,0153 0,000038 0,000091 apresentados na Tabela 12.
266
XIII Brazilian Symposium on Information Systems, Lavras, Minas Gerais, June 5-8, 2017
267
XIII Brazilian Symposium on Information Systems, Lavras, Minas Gerais, June 5-8, 2017
para classificação similar ou até mesmo maior que o original, por [14] Fernández, A., López, V., del Jesus, M. J. and Herrera, F.
eliminar redundâncias e ruídos, contribuindo significativamente 2015. Revisiting Evolutionary Fuzzy Systems: Taxonomy,
na redução do tempo de execução, dos requisitos de memória e da applications, new trends and challenges. Knowledge-Based
sensibilidade a ruídos do classificador. Systems, vol.80, 109-121.
[15] García-Pedrajas, N., Haro-García, A., and Pérez-Rodríguez,
7. REFERÊNCIAS J. 2013. A scalable approach to simultaneous evolutionary
[1] Aha, D., Kibler, D. and Albert, M. 1991. Instance-based instance and feature selection. Information Sciences, vol.
learning algorithms. Machine Learning, vol.6, n.1, 37-66. 228, 150-174.
[2] Alcala-Fdez, J., Fernandez, A., Luengo, J., Derrac, J., [16] García-Pedrajas, N. and J. Pérez-Rodríguez 2012. "Multi-
Garcia, S., Sánchez, L. e Herrera, F. 2011. KEEL Data- selection of instances: A straightforward way to improve
Mining Software Tool: Data Set Repository, Integration of evolutionary instance selection." Applied Soft Computing,
Algorithms and Experimental Analysis Framework. Journal vol. 12, n.11, 3590-3602.
of Multiple-Valued Logic and Soft Computing, vol.17, n.2-3, [17] Goldberg, D. E. 1989. Genetic Algorithms in Search,
255-287. Optimization and Machine Learning, Addison-Wesley.
[3] Antonelli, M., Ducange, P. and Marcelloni, F. 2012. Genetic [18] Ho, S.-Y., Liu, C.-C., Liu, S. and Jou, J.-W. 2002. Design of
Training Instance Selection in Multiobjective Evolutionary an optimal nearest neighbor classifier using an intelligent
Fuzzy Systems: A Coevolutionary Approach. IEEE genetic algorithm. Pattern Recognition Letters, vol.23, n.13,
Transactions on Fuzzy Systems, vol.20, n.2, 276-290. 1495–1503.
[4] Baluja, S. 1994. Population-Based Incremental Learning: A [19] Liu, H. and H. Motoda 2002. On Issues of Instance
Method for Integrating Genetic Search Based Function Selection. Data Mining and Knowledge Discovery, vol. 6, n.
Optimization and Competitive Learning, Carnegie Mellon 2, 115-130.
University, Pittsburgh - PA - USA.
[20] Miller, B. and D. Goldberg 1995. Genetic Algorithms,
[5] Brighton, H. and Mellish, C. 2002. Advances in Instance Tournament Selection, and the Effects of Noise. Complex
Selection for Instance-Based Learning Algorithms. Data Systems, vol. 9, 193–212.
Mining and Knowledge Discovery, vol.6, n.2, 153-172.
[21] Tsai, C.-F. and Chen, Z.-Y. 2014. Towards high dimensional
[6] Cano, J. R., Herrera, F. and Lozano, M. 2003. Using instance selection: An evolutionary approach. Decision
evolutionary algorithms as instance selection for data Support Systems, vol. 61, 79-92.
reduction in KDD: an experimental study. IEEE
Transactions on Evolutionary Computation, vol.7, n.6, 561- [22] Tsai, C.-F., Chen, Z.-Y., and Ke, S.-W. 2014. Evolutionary
575. instance selection for text classification. The Journal of
Systems and Software, vol. 90, 104-113.
[7] Chen, J.-H., Chen, H.-M. and Ho, S.-Y. 2005. Design of
nearest neighbor classifiers: multi-objective approach. [23] Whitley, D. 1989. The GENITOR algorithm and selection
International Journal of Approximate Reasoning, vol.40, pressure: why rank-based allocation of reproductive trials is
n.1–2, 3-22. best. In Proceedings of the Third International Conference
on Genetic Algorithms. George Mason University, USA,
[8] Coello, C. A. C. 2001. A Short Tutorial on Evolutionary Morgan Kaufmann Publishers Inc., 116-121.
Multiobjective Optimization. In Proceedings of the First
International Conference on Evolutionary Multi-Criterion [24] Wilson, D. R. and T. Martinez 2000. Reduction Techniques
Optimization, Springer-Verlag, 21-40. for Instance-Based Learning Algorithms. Machine Learning,
vol. 38, n. 3, 257-286.
[9] Coello, C. A. C., Lamont, G. B. and Veldhuizen, D. A. V.
2007. Evolutionary Algorithms for Solving Multi-Objective [25] Wu, X., Kumar, V., Quinlan, J. R., Ghosh, J., Yang, Q.,
Problems, 2. ed., Springer, New York. Motoda, H., McLachlan, G. J., Ng, A., Liu, B., Yu, P. S.,
Zhou, Z.-H., Steinbach, M., Hand, D. J. and Steinberg, D.
[10] Deb, K. 2001. Multi-Objective Optimization Using 2008. Top 10 algorithms in data mining. Knowledge and
Evolutionary Algorithms. New York, John Wiley & Sons. Information Systems, vol. 14, n. 1, 1-37.
[11] Deb, K., Pratap, A., Agarwal, S. and Meyarivan, T. 2002. A [26] Zitzler, E. and L. Thiele 1999. Multiobjective evolutionary
Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II. algorithms: a comparative case study and the Strength Pareto
IEEE Transactions on Evolutionary Computation, vol.6, n.2, approach. IEEE Transactions on Evolutionary Computation,
182-197. vol. 3, n. 4, 257-271.
[12] Eshelman, L. J. 1991. The CHC Adaptive Search Algorithm: [27] Zitzler, E., Laumanns, M. and Thiele, L. 2001. SPEA2:
How to Have Safe Search When Engaging in Nontraditional Improving the Strength Pareto Evolutionary Algorithm,
Genetic Recombination. Foundations of Genetic Algorithms. Technical Report, Swiss Federal Institute of Technology,
G. J. E. Rawlings, Morgan Kaufmann, 265-283. Department of Electrical Engineering.
[13] Fazzolari, M., Giglio, B., Alcalá, R., Marcelloni, F. and
Herrera, F. 2013. A study on the application of instance
selection techniques in genetic fuzzy rule-based
classification systems: Accuracy-complexity trade-off.
Knowledge-Based Systems, vol.54, 32-41.
268