Técnica de Busca Local para Melhorar a Meta-heurística de Otimização por Colônia de Formigas no Agrupamento de Instâncias em Bases de Dados

Documentos relacionados
Otimização por Colônia de Formigas e Busca Local na Segmentação de Imagens

Otimização por Colônia de Formigas (Ant Colony Optimization - ACO)

Ant Colony Optimization

Inteligência de enxame e o algoritmo das abelhas

ARTIFICIAL FISH SWARM ALGORITHM APPLIED TO THE TRAVELING SALEMAN PROBLEM

Otimização em Colônias de Formigas. Prof. Eduardo R. Hruschka (Slides adaptados dos originais elaborados pelo Prof. André C. P. L. F.

4 Métodos Existentes. 4.1 Algoritmo Genético

Reconhecimento de Padrões

Otimização com Algoritmos Evolutivos

ALOCAÇÃO DE CAPACITORES USANDO COLÔNIA DE FORMIGAS E O GRADIENTE

Colônia Evolucionária de Formigas: Uma Proposta Inicial Aplicada ao Problema do Caixeiro Viajante

Aprendizagem de Máquina

OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS PARA O ROTEAMENTO EM REDES DE COMPUTADORES.

Resolução Para o Problema n-rainhas Utilizando ACO

Resumo. Como um agente busca de seqüência de ações para alcançar seus objetivos.

Inteligência Computacional Aplicada a Engenharia de Software

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 04 Prof. Vitor Hugo Ferreira

ALGORITMO HÍBRIDO DE OTIMIZAÇÃO GLOWWORM-BOIDS. {oliveira,

A Tarefa de Clusterização por meio do Método de Lógica Fuzzy no Processo de Data Mining

Buscas Informadas ou Heurísticas - Parte II

Otimização por Colônia de Formigas (Ant Colony Optimization - ACO)

Implementação de Otimização Colônia de Formigas

Aula 8 - Reconhecimento e Interpretação. Prof. Adilson Gonzaga

Aplicando o Algoritmo Ant-Q na Priorização de Requisitos de Software com Precedência

Metaheurísticas de Otimização Bio-Inspiradas

Otimização de Sistemas Hidrotérmicos por Enxame de Partículas: Uma Abordagem Orientada a Objetos

RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ

Definição de sequências de estudo com base no Ant System e em informações presentes em objetos de aprendizagem

Conceito de Estatística

Otimização por Enxame de Partículas (PSO) e Otimização por Colônias de Formigas (ASO) aplicadas ao Problema do Caixeiro Viajante (TSP)

Estrutura comum dos AEs

Probabilidade e Estatística (Aula Prática - 23/05/16 e 24/05/16)

Uso da Rede Neural Artificial Self Organizing Maps (SOM) na clusterização de dados meteorológicos

Agentes de Procura Procura Estocástica. Capítulo 3: Costa, E. e Simões, A. (2008). Inteligência Artificial Fundamentos e Aplicações, 2.ª edição, FCA.

Níveis descritivos de testes estatísticos de variabilidade como medidas de similaridade entre objetos em análises de agrupamento

UMA PROPOSTA DE DECOMPOSIÇÃO DE SISTEMAS LINEARES PARA DMPC

Análise de Clusters. Aplicações da formação de Grupos (Clustering)

Inteligência de Enxame

INF 1771 Inteligência Artificial

Resolução de Problemas. Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial

Algoritmos Genéticos e Evolucionários

Clusterização de uma Base de Dados Médica pelo Algoritmo Gustafson-Kessel

3 Aprendizado por reforço

INTERPOLAÇÃO LINEAR E BILINEAR: APLICAÇÃO EM TRANSFORMAÇÕES GEOMÉTRICAS DE IMAGEM INTRODUÇÃO

1 - A capacidade de fluxo que corresponde a capacidade máxima que pode passar pelo arco.

Otimização em Grafos

2 Modelos Baseados no Comportamento de Formigas

Inteligência Artificial

Universidade Federal do Paraná Seminário de Bioestatistica. Teste de Wilcoxon. Danielle Pierin Olivia Cleto

Introdução à Redes Neurais. Prof. Matheus Giovanni Pires EXA 868 Inteligência Artificial Não-Simbólica B Universidade Estadual de Feira de Santana

Aperfeiçoamento do método Clause-Column Table para a geração eficiente de implicantes primos para minimização de funções booleanas.

TÍTULO: ANÁLISE DA SEMELHANÇA ESTRUTURAL ENTRE PROTEÍNAS ATRAVÉS DE MÉTODOS MATEMÁTICOS

Mineração de dados utilizando sistemas adaptativos de inferência neuro-fuzzy


Metaheurísticas de Otimização Bio-Inspiradas

Aprendizado de Máquina

Especialização em Engenharia de Processos e de Sistemas de Produção

Otimização da Paleta de Cores

Sensibilidade do método de adaptabilidade e estabilidade de Lin & Binns: um estudo via simulação

Considere a função f(x). Para algum x a f (x) pode não existir. Suponha que. Max f(x) s. a a x b

Inteligência Computacional

Orientação de Bordas em Imagens Digitais: Abordagem por Análise de Vizinhança Local

Redes Neurais não Supervisionadas: SOM

6.2 Análise da Viabilidade do Lançamento de um Produto 27

Estratégias de Busca: Métodos Informados. March 9, 2015

Inteligência Artificial

Inteligência Coletiva. Prof. Eduardo R. Hruschka (Slides adaptados dos originais elaborados pelo Prof. André C. P. L. F.

Protótipo de um Simulador de um Aspirador de Pó, Utilizando Algoritmo de Busca e Agentes Inteligentes, em Ambientes com Barreiras

Análise Sintática de Frases utilizando Gramáticas Livres de Contexto Probabilísticas

Mineração de Dados e Aprendizado de Máquinas. Rodrigo Leite Durães.

Aluno: Chidambaram Chidambaram Prof. Heitor Silvério Lopes

Classificação de dados em modelos com resposta binária via algoritmo boosting e regressão logística

4 Cálculo de Equivalentes Dinâmicos

Aula 3 Representação do Conhecimento

O uso da Inteligência Articial no auxílio à tomada de decisões para alocação dinâmica de recursos. F. C. Xavier

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo

Estudo sobre o Tamanho dos Clusters e seus Efeitos no Cálculo do MQ

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS

Seleção de Atributos 1

Introdução à Mineração de Dados com Aplicações em Ciências Espaciais

$QWyQLR-RVp%DWHO$QMR 0DULD5RViOLD'LQLV5RGULJXHV 'HSDUWDPHQWRGH0DWHPiWLFD'HSDUWDPHQWRGH0DWHPiWLFD 8QLYHUVLGDGHGH$YHLUR 8QLYHUVLGDGHGH&RLPEUD

Análise da Variância. Prof. Dr. Alberto Franke (48)

INTELIGÊNCIA ARTIFICIAL

INF 1771 Inteligência Artificial

Comparação de métodos para tratamento de parcelas perdidas em delineamento em blocos casualizados via simulação Monte Carlo

PÓS-GRADUAÇÃO ANÁLISE DE DATA MINING

CONSTRUÇÃO AUTOMÁTICA DE OPERADORES MORFOLÓGICOS UTILIZANDO PROGRAMAÇÃO GENÉTICA.

Uso de Algoritmo Genético para a otimização do ponto de corte da probabilidade de sucesso estimada do modelo de Regressão Logística

Busca com informação e exploração. Capítulo 4 Russell & Norvig Seção 4.2 e 4.3

Comparação entre Algoritmos para a Solução do Controle Just-in-Time em Sistemas Max-Plus Lineares

TG: Tecnologia de Grupo (Group Technology)

Gerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global

4 Testes e experimentos realizados 4.1. Implementação e banco de dados

Tópicos em Mineração de Dados

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho

Rede RBF (Radial Basis Function)

Descritores de Imagens

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Gerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global

8 Conclusões e Sugestões para Trabalhos Futuros

Transcrição:

Técnica de Busca Local para Melhorar a Meta-heurística de Otimização por Colônia de Formigas no Agrupamento de Instâncias em Bases de Dados Ana Cristina B. Kochem Vendramin 1,2, Diogo Augusto B. Pereira 1, Aurora Pozo 3 1 Programa de Pós-graduação em Engenharia Elétrica e Informática Industrial (CPGEI) Universidade Tecnológica Federal do Paraná (UTFPR) Curitiba PR Brasil 2 Departamento Acadêmico de Informática (DAINF) Universidade Tecnológica Federal do Paraná (UTFPR) Curitiba PR Brasil 3 Departamento de Informática Universidade Federal do Paraná (UFPR) Curitiba, PR Brasil cristina@dainf.ct.utfpr.edu.br, diogoutfpr@gmail.com, aurora@inf.ufpr.br Abstract. This paper proposes a clustering algorithm based on the ant colony optimization metaheuristic and on a local search technique. Based on the solutions constructed by artificial ants, the distances between clusters centers and their current data objects, and the stochastic search process, the ant population is guide to group data objects more efficiently. A local search technique is applied at the end of each ant solution to improve its quality and reduce the search convergence time. Experimental results on data bases show the performance of the metaheuristic alone and with the local search technique in terms of the quality of solution found and the average number of function evaluations. Keywords: Artificial Intelligence, Ant Colony Optimization, Data Clustering Resumo. Este artigo propõe um algoritmo de agrupamento baseado na metaheurística de otimização por colônia de formigas. Com base nas soluções construídas pelas formigas artificiais, nas distâncias entre os centros dos clusters e suas instâncias, e na busca estocástica do algoritmo, a população de formigas é guiada no agrupamento de instâncias de forma mais eficiente. Uma técnica de busca local é aplicada no final de cada solução obtida por uma formiga na tentativa de melhorar a qualidade desta e reduzir o tempo de convergência da busca. Experimentos em bases de dados mostram a eficiência da meta-heurística pura e com o uso da técnica de busca local em termos da qualidade da solução e do número médio de avaliações da função objetivo. Palavras-chave: Inteligência Artificial, Otimização por Colônia de Formigas, Agrupamento de Dados 1. Introdução O problema de agrupamento consiste em encontrar uma organização de objetos em um determinado conjunto de dados através da identificação e quantificação de similaridades entre esses objetos [Shelokar, Jayaraman e KulKarni 2004].

Muitos métodos têm sido aplicados para o problema de agrupamento tais como os métodos de particionamento [Han e Kamber 2001]. Um método bem conhecido de particionamento é o k-means. Embora uma qualidade boa de agrupamento possa ser obtida, tal algoritmo tem uma desvantagem [Penã, Lozano e Larrañaga 1999] [Huang, Gou e Wu 2006]: é suscetível a um ótimo local. Algoritmos probabilísticos e baseados em população de indivíduos tais como a meta-heurística de Otimização por Colônia de Formigas (ACO - Ant Colony Optimization) [Shelokar, Jayaraman e KulKarni 2004] [Kao e Chen 2006] [Huang, Gou e Wu 2006] têm sido empregados com sucesso em problemas de agrupamento na tentativa de evitar tal desvantagem. O objetivo do presente artigo é demonstrar o desempenho do algoritmo de agrupamento por particionamento proposto por Kao e Chen (2006) executando-o com dezesseis configurações diferentes para os parâmetros do ACO e demonstrar como a qualidade desse algoritmo pode ser melhorada, em termos do valor da função objetivo e do custo computacional, se for aplicada uma técnica de busca local simples e eficaz ao final de cada solução construída. O algoritmo de Kao e Cheng é chamado ACOC (Ant Colony Optmization Clustering) e este se inspira no comportamento coletivo de formigas para agrupar objetos de dados (instâncias) em clusters com base não apenas em concentrações de feromônio como proposto em [Shelokar, Jayaraman e KulKarni 2004], mas considerando também informações heurísticas. O restante deste artigo está organizado da seguinte forma. A Seção 2 apresenta uma breve descrição da meta-heurística de ACO. A Seção 3 descreve a formulação matemática para o problema de agrupamento. A Seção 4 provê detalhes do algoritmo ACOC proposto por Kao e Chen (2006) para o problema de agrupamento e a técnica de busca local proposta no presente artigo. A Seção 5 apresenta os experimentos realizados e os resultados obtidos. Finalmente, conclusões são providas na Seção 6. 2. Meta-heurística ACO A meta-heurística de Otimização por Colônia de Formigas (ACO) foi proposta por [Dorigo 1992] [Dorigo, Maniezzo e Colorni 1996] como uma técnica baseado em população de soluções que se inspira no comportamento coletivo de insetos sociais para solucionar inúmeros problemas de otimização discretos. A técnica imita a maneira como as formigas reais encontram o caminho mais curto entre seu ninho e uma fonte de alimentos. Tarefas são atribuídas a uma colônia de formigas sem que haja uma unidade central de gerenciamento. O meio que as formigas utilizam para comunicar os melhores caminhos encontrados e decidir para onde ir, consiste de trilhas compostas por uma substância química chamada feromônio. Enquanto uma formiga isolada se move aleatoriamente no espaço, outra que encontre uma trilha de feromônio no seu ambiente local tende a segui-la com maior probabilidade, reforçando ainda mais a trilha com seu próprio feromônio [Dorigo 1994] [Dorigo, Maniezzo e Colorni 1996]. Através do comportamento cooperativo e auto-adaptativo das formigas artificiais, que representam um problema específico, emerge um sistema de busca inteligente. Nesse sistema, as formigas coletam de forma concorrente as informações necessárias sobre a estrutura de um problema, estocasticamente tomam suas decisões e constroem um conjunto de soluções de forma sucessiva. As informações necessárias em cada passo para a tomada de decisões podem incluir a concentração de feromônio, informações específicas sobre o problema e valores de funções heurísticas.

3. Formulação Matemática do Problema de Agrupamento O problema de agrupamento é modelado como um problema de otimização cujo objetivo é encontrar uma atribuição de m instâncias com n atributos para um dos g clusters disponíveis de tal forma que a raiz quadrada da soma dos quadrados das diferenças entre cada instância e o centro do cluster para o qual ele foi atribuído (Distância Euclidiana) seja minimizada (ver Equação (1)) e que as seguintes restrições sejam respeitadas [Shelokar, Jayaraman e KulKarni 2004] [Kao e Chen 2006]: (1) Cada instância pertença a um único cluster; (2) Cada cluster possua pelo menos um membro. Sendo que: x i é o vetor da instância i e ; c j é o vetor do centro do cluster j e ; x iv é o valor do atributo v da instância i; c jv é o valor do atributo v do centro do cluster j, de modo que este valor seja a média dos valores dos atributos v das instâncias inseridas no cluster j; w ij é o peso associado ao valor de x i com c j, sendo que w ij receberá o valor 1 se a instância i estiver agrupada no cluster j e 0 caso contrário. 4. ACO e Busca Local aplicados ao Problema de Agrupamento O primeiro algoritmo de ACO para o problema de agrupamento foi introduzido por Shelokar, Jayaraman e Kulkarni (2004). Esse algoritmo confia apenas nas trilhas de feromônio para guiar as formigas no agrupamento de instâncias e em uma busca local que aleatoriamente tenta melhorar a melhor solução de cada iteração antes de atualizar o feromônio. A busca local funciona da seguinte forma: altera-se o número do cluster de cada instância com probabilidade definida a priori (p ls =0,01); Gera-se um número aleatório (r) para cada instância; Se r p ls, altera-se o valor do cluster da instância. Após a busca local, a qualidade da nova solução é calculada e ela é aceita se for melhor. O algoritmo ACOC de Kao e Chen (2006) apresenta uma melhora no algoritmo de Shelokar, Jayaraman e Kulkarni (2004) através da introdução do conceito de centros de cluster dinâmicos no processo de agrupamento executado pelas formigas artificiais além de considerar o feromônio e informações heurísticas em cada fase da busca. O presente trabalho propõe utilizar o ACOC juntamente com uma técnica de busca local com o intuito de melhorar a qualidade das soluções. Diferente da busca local utilizada por Shelokar, Jayaraman e Kulkarni (2004) que altera de forma aleatória o cluster de uma instância e apenas na melhor solução de cada iteração, a busca local apresentada no presente artigo é aplicada após cada formiga construir uma solução e a troca do número de cluster de cada instância é efetuada somente quando necessária, isto é, quando existir outro centro de cluster mais semelhante. Essa semelhança é calculada pela distância euclidiana entre a instância e cada um dos centros de clusters existentes. No ACOC, o espaço de soluções é modelado como um grafo e representado por uma matriz de nós instância-cluster com m linhas (instâncias) e g colunas (clusters). As formigas artificiais podem atribuir apenas um dos g clusters para cada instância m. Um vetor (S) de tamanho m é utilizado para representar cada solução construída. Cada (1)

elemento do vetor corresponde a uma das m instâncias e o valor atribuído a cada elemento representa o número do cluster para o qual a instância será atribuída. A formiga se move de um nó a outro, deposita feromônio nos nós e constrói uma solução passo a passo. A cada passo, a formiga seleciona uma instância ainda não agrupada e a adiciona a uma solução parcial considerando a intensidade de feromônio e a heurística. Então, nós com uma quantidade maior de feromônio e valores de heurística serão mais atrativos para as formigas. A informação heurística indica o desejo de atribuir uma instância a um cluster em particular e seu valor é obtido calculando o inverso da distância euclidiana entre uma instância a ser agrupada e cada centro de cluster. Cada formiga transporta uma matriz de centros de cluster (C k ) e a atualiza após cada passo de agrupamento. O procedimento do ACOC está descrito a seguir [Kao e Chen 2006]: 1. Inicialize a matriz de feromônio MF com valores pequenos ( ); 2. Inicialize todas as formigas k: matriz de centros de clusters (C k ); e matriz de peso (W k ) que associa cada instância a um centro; 3. Selecione uma instância i: cada formiga seleciona uma instância i; 4. Selecione um cluster j: para determinar um cluster j para uma instância i, uma dentre duas estratégias podem ser adotadas dependendo do resultado da Equação (2): (a) Intensificação: permite que as formigas se movam de forma gulosa para um centro cujo produto do nível de feromônio e valor de heurística seja mais alto (ver Equação (2)); (b) Exploração: atribui uma probabilidade de selecionar centros e, então, permite que uma formiga escolha um centro de forma estocástica (ver Equação (3)). Quanto mais promissor um centro for, maior será a probabilidade de ele ser escolhido. (2) Onde: (a) é uma prioridade atribuída a priori; (b) é uma probabilidade gerada aleatoriamente; (c) N i é o conjunto de g clusters disponíveis; (d) S é escolhido de acordo com: (3) Onde: (a) representa a probabilidade de atribuir uma instância i ao cluster j; (b) representa uma eficácia a posteriori de atribuir uma instância i ao cluster j. Este valor é expresso como a intensidade de feromônio na ligação (i,j) que indica o quão útil essa atribuição foi no passado servindo como um histórico das melhores movimentações anteriores; (c) representa uma eficácia a priori de atribuir uma instância i ao cluster j. Este valor é calculado utilizando uma heurística e indica uma influência explícita em direção a soluções mais atrativas e convenientes. O valor da heurística de para a formiga k é calculada por onde representa a distância euclidiana entre a instância i e o centro j de uma formiga k e é dado por. e são constantes

positivas utilizadas para indicar a influência do feromônio e da heurística empregada, respectivamente. Diferente do algoritmo de Kao e Cheng (2006), onde a constante não foi utilizada, o presente trabalho propõe utilizar a constante para analisar a influência do feromônio no processo de busca; 5. Atualiza as informações das formigas: atualiza a matriz de peso (W k ) e recalcula a matriz de centros de clusters (C k ) como média dos valores dos atributos das instâncias em cada cluster; 6. Verifica a solução de cada formiga: se o vetor solução de cada formiga (S k ) estiver completo, o algoritmo vai para o passo 7, caso contrário, se a solução ainda não estiver completamente construída, volta para o passo 3; 7. Calcula os valores da função objetivo (FO) de cada formiga J k (ver Equação (1)). Depois, ordena as formigas (soluções) através dos valores de suas funções objetivos J k. A melhor solução é considerada a melhor solução da iteração corrente. Esta solução é comparada à melhor solução encontrada até o momento e a melhor delas será a nova solução melhor; 8. Atualiza a matriz de feromônio MF: a regra de atualização global é aplicada e somente as formigas elites (melhores soluções) podem adicionar feromônio no final de cada iteração. O feromônio é atualizado da seguinte forma:. Onde: (a) é a taxa de evaporação de feromônio dada por: 0 < < 1; (b) t é o número da iteração; (c) K é o número de formigas elites; (d), diferente do trabalho de Kao e Cheng (2006) é determinado pelo inverso da função objetivo J k dividido pelo número de instâncias existentes (m): (4) 9. Verifica a condição de término: se o algoritmo exceder o número máximo de iterações pré-definido, ele é finalizado e a melhor solução encontrada é retornada. Caso contrário, o algoritmo ACOC retorna para o passo 2. A busca local proposta neste trabalho visa incluir após o passo 6 do ACOC, os seguintes passos: (6a) Percorrem-se todas as instâncias m do vetor S k contendo a solução final da formiga k; (6b) Compara-se a instância m com cada um dos centros de clusters finais (C k ) para verificar com qual dos centros a instância é mais semelhante; (6c) Se a instância m for mais semelhante ao centro para o qual não foi atribuída pela formiga k, realiza-se a troca para o novo centro. Após a troca, atualiza-se o vetor de solução S k e a matriz W k ; (6d) Se a busca local já percorreu todas as instâncias do vetor S k, o algoritmo vai para o passo (6e), senão volta para o passo (6b); (6e) Após realizar todas as trocas necessárias, calcula-se a FO (ver Equação (1)); Se a nova solução encontrada pela busca local for melhor que a solução da formiga (J k ), a nova solução será aceita e as variáveis do ACOC serão substituídas pelas novas variáveis da busca local: C k, W k, S k e J k. O algoritmo volta para o passo 7 do ACOC descrito acima. 5. Experimentos Numéricos O desempenho do algoritmo ACOC com e sem busca local foi avaliado testando-o em cinco bases de dados obtidas do repositório UCI [Frank e Asuncion 2010]: (1) Breast:

683 instâncias e 10 atributos; (2) Bupa: 345 instâncias e 7 atributos; (3) Ecoli: 336 instâncias e 8 atributos; (4) Glass: 214 instâncias e 10 atributos; (5) Ionosphere: 351 instâncias e 34 atributos. As cinco bases foram normalizadas e elas são compostas por dois clusters que representam as classes positiva e negativa. A base de dados Breast foi escolhida para variar os parâmetros que influenciam nos resultados do ACOC e escolher a melhor configuração para se aplicar, posteriormente, nas outras bases de dados e testar o desempenho do ACOC puro e com a busca local proposta: (1) Influência das concentrações de feromônio: fator (A) assume valor 0,5 e 2; (2) Influência da heurística: fator (B) assume valor 1 e 5; (3) Influência do fator de evaporação das concentrações de feromônio: fator (R) assume valor 0,1 e 0,7; (4) Probabilidade de Intensificação: variável q o (Q0) assume valor 0,4 e 0,8. Os seguintes parâmetros são mantidos fixos em todas as execuções: (a) Número de Iterações: 100; (b) Número de Formigas: 10; (c) Número de Formigas Elites: 1; (d) Número de Repetições: 10. 5.1 Resultados do ACOC sem Busca Local para a Base de Dados Breast A presente seção apresenta os resultados de dezesseis variações de parâmetros do ACOC sem busca local, em termos da função objetivo (FO) quando aplicado no agrupamento de instâncias da base de dados Breast. A análise desses resultados servirá para encontrar a melhor configuração de parâmetros de modo que esta possa ser utilizada para avaliar o desempenho de outras quatro bases. Nos experimentos iniciais os seguintes dados são analisados variando a influência da concentração de feromônio, a influência da heurística, a taxa de evaporação de feromônio e a probabilidade de intensificação (ver Tabela 1): (1) Melhor solução em termos da FO; (2) Pior solução; (3) Médias das melhores soluções; (4) Desvio Padrão dos valores das soluções. Tabela 1. Resultados do ACOC sem Busca Local para a Base de dados Breast Parâmetros Melhor Solução (FO) Pior Solução Média Soluções Desvio Padrão B 1 A 0,5 R 0,1 Q0 0,4 398,163 412,035 404,263 5,741 B 1 A 0,5 R 0,1 Q0 0,8 342,711 354,233 345,771 4,787 B 1 A 0,5 R 0,7 Q0 0,4 390,605 404,261 396,359 5,470 B 1 A 0,5 R 0,7 Q0 0,8 343,103 351,569 346,188 3,504 B 1 A 2 R 0,1 Q0 0,4 392,169 425,376 405,783 12,927 B 1 A 2 R 0,1 Q0 0,8 335,815 356,089 343,499 8,034 B 1 A 2 R 0,7 Q0 0.4 351,115 360,392 354,954 3,700 B 1 A 2 R 0,7 Q0 0.8 334,729 336,316 335,294 0,670 B 5 A 0,5 R 0,1 Q0 0,8 331,907 334,270 332,692 0,950 B 5 A 0,5 R 0,7 Q0 0,8 331,884 333,417 332,450 0,607 B 5 A 0,5 R 0,7 Q0 0,4 331,940 333,764 332,760 0,733 B 5 A 0,5 R 0,1 Q0 0,4 332,406 333,634 333,122 0,530 B 5 A 2 R 0,1 Q0 0,4 331,614 333,992 332,459 1,118 B 5 A 2 R 0,7 Q0 0,4 331,563 331,563 331,563 0,000 B 5 A 2 R 0,1 Q0 0,8 331,626 331,845 331,733 0,093 B 5 A 2 R 0,7 Q0 0,8 331,563 331,563 331,563 0,000 Conforme pode ser visto na Tabela 1, as configurações que apresentaram os melhores resultados em relação à melhor solução, à pior solução, à média das melhores soluções e ao desvio padrão foram: (a) B 5 A 2 R 0,7 Q0 0,4; e (b) B 5 A 2 R 0,7 Q0

0,8. Como essas duas configurações convergiram para os mesmos resultados (331,563) em todas as 10 repetições, constata-se que a função heurística está atuando de forma positiva no processo de agrupamento. O feromônio depositado por cada formiga elite ao final de cada iteração também está atuando de forma positiva no processo, auxiliando as futuras formigas a encontrar o caminho das melhores soluções. Quanto à influência da probabilidade de intensificação versus diversificação (parâmetro Q0), os dois melhores resultados foram um deles utilizando probabilidade maior de intensificação (Q0=0,8) e o outro uma probabilidade maior de diversificação (Q0=0,4). Em relação às piores soluções encontradas, as configurações que apresentaram os piores resultados foram as que tiverem menor influência da heurística (B=1); taxa menor de evaporação (R=0,1); e probabilidade menor de intensificação (Q0=0,4). Por esse motivo, será adotado Q0=0,8 como melhor configuração. Logo, definiu-se a seguinte configuração para dar continuidade aos experimentos: (1) B=5: influência alta da heurística; (2) A=2: influência alta da concentração de feromônio; (3) R=0,7: evaporação alta das concentrações de feromônio; (4) Q0=0,8: probabilidade maior de intensificação. Quanto maior a probabilidade de intensificação, menor será a probabilidade de o algoritmo encontrar soluções diferentes (diversificação) para problema de agrupamento, pois com a intensificação o algoritmo tende a seguir as melhores soluções já encontradas. 5.2 Resultados das Cinco Bases com ACOC puro e ACOC com Busca Local Esta seção apresenta os resultados das execuções do ACOC puro e do ACOC com busca local. Todas as execuções utilizam a melhor configuração de parâmetros encontrada ao executar o ACOC puro para a base de dados Breast (B 5; A 2; R 0,7; Q0 0,8). Nesses experimentos os seguintes dados são analisados (ver Tabela 2): (1) Melhor solução; (2) Pior solução; (3) Médias das melhores soluções; (4) Desvio Padrão; (5) Número médio da iteração que obteve a melhor solução; (6) Número médio de avaliações da função objetivo. Com esses últimos dados pode-se analisar o aspecto de diversidade versus convergência e o custo computacional em termos do cálculo da função objetivo. Tabela 2. Resultados do ACOC puro e ACOC com Busca Local Bases de Dados Melhor Solução (FO) Pior Solução (FO) Média das Soluções (FO) Desvio Padrão Número Médio Melhor Iteração Número Médio de Avaliações da FO Breast - ACOC Puro 331,56 331,56 331,56 0,00 22,4 222,40 Breast - ACOC e Busca Local 331,05 331,44 331,26 0,11 12 240 Bupa - ACOC puro 90,69 91,59 91,12 0,35 65,4 650,40 Bupa - ACOC e Busca Local 90,53 90,61 90,56 0,03 30 600 Ecoli - ACOC puro 113,84 113,88 113,86 0,02 57 570 Ecoli - ACOC e Busca Local 113,75 113,84 113,79 0,04 14,4 288 Ionosphere - ACOC puro 404,93 405,24 405,00 0,114212 66 660 Ionosphere - ACOC e Busca Local 404,82 404,90 404,86 0,034597 23,6 472 Glass - ACOC puro 84,96 85,11 85,01 0,06 54,2 540,20 Glass - ACOC e Busca Local 84,78 84,87 84,82 0,03 26,4 528 Conforme pode ser visto na penúltima coluna da Tabela 2, quando aplicada à busca local no final da solução de cada formiga, a convergência do algoritmo é melhorada. O ACOC puro precisou de mais iterações para convergir. Observa-se na

última coluna da Tabela 2 que o algoritmo ACOC com busca local apresentou o menor número de avaliações da FO para as seguintes bases de dados: Bupa (600); Ecoli (288); Ionosphere (472); e Glass (528). A exceção ficou por conta da base Breast cujo número de avaliações foi menor com o ACOC puro (222,40) contra 240 avaliações no ACOC com busca local. Ainda na Tabela 2 pode-se ver que o ACOC com busca local apresentou as melhores soluções em relação à FO para todas as bases de dados: Breast (331,05); Bupa (90,53); Ecoli (113,75); Ionosphere (404,82); e Glass (84,78). Em relação às piores soluções e às médias das soluções, o ACOC puro apresentou os piores valores para todas as bases de dados. Quando o requisito analisado foi o desvio-padrão em relação à média das soluções, os dois algoritmos apresentaram valores próximos. Por fim, conclui-se que para todas as bases a utilização do ACOC com Busca Local foi vantajosa na qualidade da solução. Quanto ao número médio de avaliações da FO o ACOC com Busca Local apenas não foi melhor para a base Breast. A fim de comparar os resultados obtidos, foi utilizado o teste Wilcoxon [Gárcia et al. 2009] através do software R [R-PROJECT 2010]. O teste recebeu como entrada os valores obtidos na saída das 10 repetições de cada algoritmo e retornou o valor p. No presente estudo, foi considerado um nível de significância (=0,05) de modo que um valor p maior que indicará que os experimentos comparados são estatisticamente iguais. Caso contrário, considera-se a existência de diferença no desempenho entre os algoritmos. Dois testes foram realizados para cada uma das cinco bases: (1) Variável alg1 contendo os 10 resultados obtidos pelo ACOC puro versus variável alg2 contendo os 10 resultados do ACOC com Busca Local. Os valores de p obtidos foram: Breast (6,386e-05), Bupa (0,0001766), Ecoli (0,001427), Glass (0,0001494) e Ionosphere (0,0001575). Para todas as bases, os algoritmos ACOC puro e ACOC com Busca Local foram considerados estatisticamente diferentes sendo necessário analisar o gráfico Box- Plot (ver Figura 1) para verificar qual das técnicas fornece um desempenho melhor. (a) (b) (c) (d) (e) Figura 1. Gráfico do Box-Plot: ACOC puro versus ACOC com Busca Local para as bases de dados (a) Breast, (b) Bupa, (c) Ecoli, (d) Glass e (d) Ionosphere.

É fácil verificar pela Figura 1 que para todas as bases de dados, o ACOC com Busca Local obteve o melhor desempenho apresentando os menores valores em termos da FO (traço mais inferior) e o menor valor da mediana (traço em destaque) conforme já havia sido analisado pelos resultados apresentados na Tabela 2. 6. Conclusões O presente artigo analisou o uso da meta-heurística ACO para solucionar o problema de agrupamento de instâncias em clusters. O espaço de soluções foi modelado de modo que as formigas artificiais percorram uma instância de cada vez e determinem seu cluster. Para cada atribuição consideram-se tanto as informações sobre níveis de feromônio quanto os valores da função heurística para os centros de clusters candidatos. O uso dessas informações no processo de busca favorece as soluções que foram encontradas no passado e que provaram ser eficientes. É importante também recordar que o processo de busca é capaz de investigar soluções ainda não encontradas de modo a explorar melhor o espaço de soluções permitindo que várias formigas concorrentemente e estocasticamente escolham o melhor caminho a seguir em tempos menores: intensificando as soluções já encontradas ou explorando novas soluções. Com isso diminui-se a possibilidade de o algoritmo cair em um ótimo local. O algoritmo ACOC apresentado por Kao e Cheng (2006) se baseia em iterações que encontram soluções para o problema de agrupamento e calcula o quão boas estas são considerando a seguinte função objetivo: minimizar a raiz quadrada da soma dos quadrados das diferenças entre cada instância e o seu centro do cluster (Distância Euclidiana). Ao final de cada iteração apenas a melhor das soluções é selecionada para influenciar a nova geração de formigas. O processo se repete até um número prédefinido de iterações. Experimentos foram executados para analisar a eficiência do ACOC no agrupamento de instâncias. Parâmetros que influenciam na qualidade das soluções, no tempo e na complexidade computacional do algoritmo foram variados: influência da concentração de feromônio; influência da função heurística; taxa de evaporação de feromônio; e probabilidade de intensificação. Através desses experimentos em uma base de dados foi possível encontrar a melhor configuração de parâmetros para se aplicar, posteriormente, em outras quatro bases de dados distintas. Logo, novos experimentos foram realizados com a melhor configuração analisada: influência alta da função heurística, influência alta das concentrações de feromônio, alta evaporação de concentrações de feromônio e probabilidade maior de intensificação. Desses experimentos pôde-se observar que o uso do ACOC proposto por Kao e Cheng (2006) aliado a uma técnica de busca local simples, que realiza a troca de instâncias para um centro mais próximo, obteve soluções de qualidade superior em termos da função objetivo a um custo computacional menor (número menor de avaliações da função objetivo). Isso só foi possível porque o ACOC com busca local convergiu mais rápido em relação ao número de iterações executadas se comparado ao ACOC puro. Como trabalho futuro pretende-se utilizar e comparar outras medidas, além da distância euclidiana, que possam medir a similaridade entre uma instância e cada centro de cluster e detectar quais são mais eficientes no agrupamento de instâncias de base de dados.

7. Referências Dorigo, Marco. (1992) Optimization, Learning and Natural Algorithms. PhD thesis, Politecnico di Milano. Dorigo, Marco. (1994) Learning by Probabilistic Boolean Networks. Proceedings of the IEEE International Conference on Neural Networks, p. 887-891. Dorigo, Marco; Maniezzo, Vittorio e Colorni, Alberto. (1996) The Ant System: Optimization by a Colony of Cooperating Agents. IEEE Transactions on Systems, Man, and Cybernetics-Part B, vol. 26, n. 1, p. 1-13. Frank, A. e Asuncion, A. (2010) UCI Machine Learning Repository. [http://archive.ics.uci.edu/ml]. Irvine, CA: University of California, School of Information and Computer Science. Gárcia, Salvador; Molina, Daniel; Lozano, Manuel e Herrera, Francisco. (2009) A Study on the Use of Non-parametric Tests for Analyzing the Evolutionary Algorithms Behaviour: a case study on the CEC 2005 Special Session on Real Parameter Optimization. Journal of Heuristics, vol. 15, no. 6, p. 617 644. Han, J. e Kamber, M. (2001) Data mining: Concepts and Techniques. Morgan Kaufmann Publisher, San Francisco. Huang, Wenliang; Gou, Jin e Wu, Huifeng. (2006) An ACO-based Approach to Improve C-means Clustering Algorithm. Proceedings of International Conference on Computational Intelligence for Modelling, Control and Automation, 2006 and International Conference on Intelligent Agents, Web Technologies and Internet Commerce, p. 12-16. Kao, Yucheng e Cheng, Kevin. (2006) An ACO-Based Clustering Algorithm. Lecture Notes in Computer Science, vol. 4150, p. 340-347, Springer. Peña, J. M.; Lozano, J. A. e Larrañaga, P. (1999) An empirical comparison of four initialization methods for the K-Means algorithm. Pattern Recognition Letters, p. 1027-1040, vol. 20, no. 10. R-Project. (2010) The R Project for Statistical Computing. Disponivel em: <http://www.r-project.org/>. Acesso em: 11 Jun. 2010. Shelokar, P. S.; Jayaraman, V. K. e Kulkarni, B. D. (2004) An Ant Colony Approach for Clustering. Analytica Chimica Acta 509, p. 187 195.