Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Introdução
Algoritmos de aprendizado de máquinas visam melhorar com experiências alguma tarefa
[Mitchell 1997], comumente são representados por duas classes, os supervisionados e os
não supervisionados. Para este trabalho atentaremos apenas aos algoritmos supervisio-
nados, que são algoritmos para classificação de novas instancias de hipóteses com base
em instancias previamente classificadas, tendo seu uso mais adequados para problemas
de regressão e classificação
O algoritmo supervisionado apresentado neste artigo é o k-Nearest Neighbor
(KNN), apresentado por [Fix and Hodges 1989], é um dos mais populares algoritmos de
classificação supervisionados conhecidos, que provou ser uma ferramenta simples e po-
derosa, diante de problemas de classificação mostrou que a regra de decisão tem um bom
desempenho [Cover and Hart 1967], considerando que nenhum conhecimento explı́cito
dos dados está disponı́vel.
Apesar de dispor de toda simplicidade o algoritmo KNN apresenta três limitações
[Wang and Wang 2007a]:
1. Alta complexidade de cálculo: Para encontrar os K vizinhos mais próximos de
uma amostra, deve calcular a similaridade da amostra para com todos os dados
da base de treinamento. Quando a quantidade de amostras de treinamento é
pequena, o classificador tem um bom funcionamento, mas se o número amostras
for relativamente grande, o classificador dependerá de um pouco mais de tempo
para calcular todas similaridades. Existem algumas técnicas para diminuir esse
tempo [Wang and Wang 2007a];
Neste trabalho, o Algoritmo Genético (AG) é combinado com o KNN com a fi-
nalidade de suprir as limitações apresentada acima. No algoritmo KNN tradicional, ini-
cialmente a similaridade entre todas as amostras de teste e treinamento é calculada e os
k-vizinhos com maiores similaridade são selecionados para classificação. O método pro-
posto usa o GA para selecionar os k-vizinhos mais semelhantes, não sendo necessário
calcular a similaridades à todas amostras de treinamento.
Para melhor exposição do conteúdo o artigo está desenvolvido da seguinte ma-
neira: na seção seguinte está uma analise de trabalhos relacionados, seguindo na seção 3
do desenvolvimento proposto, sendo que a seção 4 é apresentado os resultados obtidos,
encerrando com uma conclusão para a abordagem realizada neste artigo.
2. Trabalhos relacionados
Desde de sua publicação [Fix and Hodges 1989], tem-se estudado o KNN com vários ob-
jetivos. Como demonstrado por [Duda and Hart 1973], que realizou o uso do KNN para
obter boas estimativas do erro de Bayes e sua probabilidade de erro assintóticamente.
Além de estudos de uso prático do KNN foram realizadas pesquisas para o aprimoramento
do KNN sem alterar suas propriedades [Suguna and Thanushkodi 2010, Ghosh 2006,
Zhou and Chen 2006, Davis 1991].
[Lindenbaum et al. 2004] propõe um algoritmo loolmhead, por exemplo seleção
e aborda o problema da aprendizagem ativa no contexto dos classificadores vizinhos mais
próximos. A abordagem proposta baseia-se no uso de um modelo de campo aleatório para
a rotulagem de exemplo, que implica uma mudança dinâmica das estimativas do rótulo
durante o processo de amostragem. O algoritmo proposto foi avaliado empiricamente em
conjuntos de dados artificiais e reais. o experimentos mostram que o método proposto
supera outros métodos na maioria dos casos.
[Muni et al. 2006] Este artigo apresenta uma seleção de caracterı́sticas on-line al-
goritmo usando programação genética (GP). O GP proposto seleciona simultaneamente
um bom subconjunto de caracterı́sticas e constrói um classificador usando as carac-
terı́sticas selecionadas. Para uma classe de problema, ele fornece um classificador com
árvores. Neste contexto, introduziu-se duas novas operações de crossover para se ade-
quar as caracterı́sticas do processo de seleção. Como subproduto, o algoritmo produz um
esquema de classificação de caracterı́sticas.
[Wang and Wang 2007b] apresenta um método chamado TFKNN (Tree-Fast-
K-Nearest-Neighbor-Neighbor), que pode pesquisar exatamente os k vizinhos mais
próximos rapidamente. No método, uma árvore é usada para pesquisar K vizinhos mais
próximos é criado, no qual todos os nós filho de cada nó não-folha são classificados de
acordo com a distâncias entre seus pontos centrais e o ponto central da seus pais. Em
seguida, o escopo da pesquisa é reduzido com base no árvore. Posteriormente, o tempo
de computação por similaridade é diminuı́do drasticamente.
[Chen 2018] apresenta um método de otimização representativa da amostra. Com
base nisso, apresentando um algoritmo rápido QKNN (Vizinho k-mais próximo rápido)
para encontrar as amostras de k vizinho mais próximo, reduzindo o cálculo da similari-
dade. Os resultados experimentais mostram que esse algoritmo pode efetivamente reduzir
o número de amostras e acelerar a busca pelo k mais próximo amostras vizinhas para me-
lhorar o desempenho do algoritmo.
2.1. Aprimoramento do KNN baseado em Algoritmo Genético
O algoritmo genético (AG) é uma técnica de busca a otimização não-determinı́stica guiada
pelos princı́pios da evolução e da genética natural [Goldberg 1989]. Os AGs realizam
pesquisas em panoramas complexos, com grande volumes de dados e vários atributos
além de fornecerem soluções quase ideais para a função objetiva ou de adequação de um
problema de otimização.
No AG, os parâmetros do espaço de pesquisa são codificados na maneira que me-
lhor se adeque ao problemas, comumente são representados por um vetor (chamado cro-
mossomo). Uma coleção desses vetores têm o nome de população. Inicialmente cria-se
uma população com valeres aleatórios que representa diferentes soluções para o problema.
Uma função de aptidão está relacionada a cada cromossomo da população, essa função
mede o quão bom aquele indivı́duo é para o objetivo da busca. Com base no prı́ncipio
de sobrevivência do mais apto, algumas das sequências são selecionadas para realizar o
cruzamento entre elas. Para o cruzamento, operações de princı́pios biológicos como o
crossover e mutação, são aplicado nesses cromossomos, para produzir uma nova geração
de cromossomos. O processo de seleção, cruzamento e mutação continua por um número
fixo de gerações ou até que uma condição de aptidão seja satisfeita.
Para o melhoramento do KNN o AG foi manipulado da seguinte maneira:
1. Representação do cromossomo: O cromossomo foi codificado da seguinte
maneira; o número de gene no cromossomo representa a quantidade de amostras
da base de teste a considerar, ou seja, o tamanho do cromossomo é igual ao
número de k-vizinhos. Por exemplo se k for igual a 5 um cromossomo deve
seguir a seguinte representação:
[00100, 10010, 00256, 01875, 00098]
Onde o gene 00100 representa o 100o elemento da base de teste, analogamente
essa representação se estende aos demais genes.
3. Testes e Resultados
Os testes foram realizados com as seguintes amostras de testes, Poker1 , CovType2 e Skin3 ,
para isso diferentes configurações para o AG e KNN foram testadas.
A Tabela 1 representa a configuração do AG para o teste de variança de vizinhos.
Para as três bases de teste, o valor que K que alcançou a maior precisão, foi para um K
valendo 5 (Tabela 2), sendo que em negrito está o melhor resultado para cada uma das
bases.
1
https://bit.ly/34bu68P
2
https://bit.ly/2YGj76n
3
https://bit.ly/2EagfFg
Base de Dados Variação de K Acurácia Tempo Total Desvio Médio Distância Média
Poker 5 0.48 95488.00 1.26 9.87
10 0.32 200103.00 1.05 10.55
15 0.37 283491.00 1.14 10.84
20 0.44 392788.00 1.11 10.98
CoverType 5 0.34 73702.00 9.06 5.58
10 0.32 142857.00 1.03 6.49
15 0.25 192953.00 1.04 6.58
20 0.24 242387.00 1.03 6.61
Skin 5 0.75 13258.00 15.18 53.38
10 0.65 25352.00 13.43 79.04
15 0.64 35340.00 12.00 84.34
20 0.66 44926.00 12.49 88.17
Tabela 2. Variação de k-vizinhos
4. Conclusão
Com base nos testes realizados, identifica-se uma maior precisão em casos que a base
de dados de treinamento é menor, isto é, com um número de amostras e de atributos
relativamente pequeno. Além disso, a utilização do Algoritmo Genético apresentou uma
a acurácia melhor em relação ao KNN puro. Portanto, para casos maiores, deve-se partir
para abordagens mais complexas e robustas, a saber, clusterização, algoritmo genético
baseado em ilhas, técnicas de indexação dentre outras.
Referências
Chen, S. (2018). K-nearest neighbor algorithm optimization in text categorization. IOP
Conference Series: Earth and Environmental Science, 108:052074.
Cover, T. and Hart, P. (1967). Nearest neighbor pattern classification. IEEE Transactions
on Information Theory, 13(1):21–27.
Davis, L. (1991). Handbook of genetic algorithms.
Duda, R. O. and Hart, P. E. (1973). Pattern Classification and Scene Analysis. John
Willey & Sons, New Yotk.
Fix, E. and Hodges, J. L. (1989). Discriminatory analysis. nonparametric discrimina-
tion: Consistency properties. International Statistical Review / Revue Internationale
de Statistique, 57(3):238–247.
Gen, M. and Cheng, R. (1997). Genetic Algorithms and Engineering Design. Engineering
Design and Automation. Wiley.
Ghosh, A. K. (2006). On optimum choice of k in nearest neighbor classification. Compu-
tational Statistics Data Analysis, 50(11):3113 – 3123.
Goldberg, D. E. (1989). Genetic Algorithms in Search, Optimization and Machine Lear-
ning. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1st edition.
Lindenbaum, M., Markovitch, S., and Rusakov, D. (2004). Selective sampling for nearest
neighbor classifiers. Machine Learning, 54:125–152.
Mitchell, T. M. (1997). Machine Learning. McGraw-Hill, Inc., New York, NY, USA, 1
edition.
Muni, D. P., Pal, N. R., and Das, J. (2006). Genetic programming for simultaneous feature
selection and classifier design. IEEE Transactions on Systems, Man, and Cybernetics,
Part B (Cybernetics), 36(1):106–117.
Suguna, N. and Thanushkodi, K. (2010). A novel rough set reduct algorithm for medical
domain based on bee colony optimization. CoRR, abs/1006.4540.
Wang, Y. and Wang, Z. (2007a). A fast knn algorithm for text categorization. In 2007 In-
ternational Conference on Machine Learning and Cybernetics, volume 6, pages 3436–
3441.
Wang, Y. and Wang, Z. (2007b). A fast knn algorithm for text categorization. In 2007 In-
ternational Conference on Machine Learning and Cybernetics, volume 6, pages 3436–
3441.
Zhou, C. and Chen, Y. (2006). Improving nearest neighbor classification with cam weigh-
ted distance. Pattern Recognition, 39:635–645.
Base de Dados Número de gerações Acurácia Tempo Total Desvio Médio Distância Média
Poker 50 0.48 95488.00 1.26 9.87
100 0.4 100757.00 1.21 9.83
200 0.4 96567.00 1.29 9.96
300 0.46 96096.00 1.22 9.86
400 0.33 94551.00 1.17 9.79
500 0.38 99836.00 1.1 9.86
600 0.32 97514.00 1.17 9.90
700 0.41 103312.00 1.27 9.82
800 0.39 95206.00 1.19 9.80
900 0.44 95728.00 1.32 9.94
1000 0.39 100487.00 1.21 9.77
CoverType 50 0.38 73702.00 9.06 5.58
100 0.26 74183.00 9.22 5.73
200 0.27 68037.00 9.31 5.77
300 0.3 66286.00 9.35 5.82
400 0.34 70927.00 9.55 5.95
500 0.26 70793.00 9.46 5.91
600 0.27 69361.00 9.46 5.89
700 0.27 68864.00 9.53 5.95
800 0.28 73027.00 9.61 6.04
900 0.26 73853.00 9.41 5.89
1000 0.32 81257.00 9.14 5.65
Skin 50 0.75 13258.00 15.18 63.38
100 0.69 14859.00 15.74 64.73
200 0.7 14297.00 15.52 65.13
300 0.76 13926.00 16.03 66.11
400 0.69 16149.00 15.18 63.55
500 0.72 15614.00 14.51 66.4
600 0.7 16063.00 15.66 65.25
700 0.77 14341.00 15.44 63.35
800 0.75 14437.00 13.96 62.68
900 0.75 14182.00 15.66 65.4
1000 0.74 14951.00 14.89 64.06
Tabela 4. Variação de gerações