algoritmo de classificação -...
TRANSCRIPT
Otimização por colônia de formigas Ant Colony Optimization – ACO - Algoritmo de classificação
Gissely de Souza Universidade Federal do Paraná Disc. Aprendizagem de Máquina Prof. David Menotti
Otimização por colônia de formigas
• Aplicação
• TSP - Caixeiro Viajante
• Escalonamento
• Classificação Estrutural de Proteínas
• VRP - Problema de roteamento de veículos
• Rede de Telecomunicações
• Graficos de Coloração
• Rede de Distribuição de Água
Otimização por colônia de formigas
• Um dos principais algoritmos inspirado no comportamento social é a otimização por colônia de formigas (do inglês Ant Colony Optimization – ACO) que tem como fonte de inspiração biológica, ou natural, o comportamento social das formigas na tarefa na busca por alimentos:
Um algoritmo simples de otimização por colônia de formigas, a busca de alimentos é feita inicialmente por caminhos aleatórios
em um espaço.
Formigueiro Comida
O algoritmo das formigas foi inspirado na observação colônias de formigas reais.
Formigueiro
Formiga encontrou a comida e vai voltar para o formigueiro
Comida
Otimização por colônia de formigas
• Quando encontram o alimento, as formigas, voltam para o ninho e depositam no solo uma substância química chamada feromônio, em uma quantidade proporcional a quantidade de alimento formando uma trilha.
• Quando outra formiga percebe o feromônio é atraída para a trilha e realiza todo o percurso também liberando feromônio.
Formigueiro
Formiga voltando
Comida
No momento que a formiga encontra o alimento ela volta para o ninho depositando uma quantidade de feromônios proporcional a quantidade de alimento.
Assim outras formigas se juntam a ela para ajudar na coleta de alimento.
Formigueiro
Achou a comida e vai voltar para o formigueiro
Comida
Achou a comida e vai voltar para o formigueiro
Caminho mais curto por colónias de formigas (biológicas)
Formigueiro Comida
Tem maior probabilidade de ir por baixo (trilha onde passaram mais formigas - mais feromônio)
Esse feromônio evapora constantemente mais cada vez que a formiga volta ao ninho com o alimento, a trilha é reforçada e ao
mesmo tempo ocorre a otimização natural da trilha de feromônio.
Formigueiro Comida
Quando todas as formigas começam a seguir o mesmo percurso. Isto ocorre devido ao excessivo crescimento de depósito de feromônio no caminho por onde elas passam. A formiga que encontrou o circuito com menor custo fará que todas as outras comecem a utilizar o mesmo. Assim de modo probabilístico, as formigas preferem o caminho mais proximo.
Técnica probabilística para solução de problemas computacionais, proposta por Dorigo (1992), que podem ser reduzidos em “encontrar
bons caminhos ao longo de um grafo”;
Probabilidade de Transição A probabilidade da formiga k que está em i de escolher a
um ponto j é dada pela regra
onde:
Temos ij é valor o feromônio associado à aresta (i, j)
Njk O valor da distância da vizinhança da formiga K
e são parâmetros para determinar a influência do feromônio, dividido pelo termo que normaliza o produto do feromônio pelo termo heurístico entre 0 e 1 considerando todas as arestas incidentes no nó em que a formiga se encontra.
k
i
Nl
jlil
ijijk
ij Njquandop
kj
,
Algoritmo AS (Ant System)
• ACO (Ant Colony Optimization) executa iterativamente
um loop contendo dois procedimentos básicos, que são:
• Um procedimento especificando como as formigas constroem ou modificam as soluções do problema a ser resolvido; e
• Um procedimento para a atualização das trilhas de feromônio.
Enquanto (criterio de parada)
Para cada formiga k
Percorrer_caminho()
fim_para
Atualizar_feromonio()
Decorar_melhor_solucao_atual()
Fim_enquanto
Algoritmo AS (Ant System)
só depois de todas a formigas terem feito seus caminhos
Classificação usando ACO
• Introduzido por Parpinelli et al. (2002), o Ant-Miner é
embasado na meta-heurística de Otimização por Colônia de Formigas Artificiais (ACO – Ant Colony Optimization).
• Porém, ao invés de ser aplicado a problemas de otimização combinatória, o Ant-Miner é um algoritmo de mineração de dados que tem o objetivo de descobrir regras e padrões (regras de classificação) a partir de um conjunto de dados.
Ant-Miner(Ant Colony-based Data Miner)
• Tarefa de classificação pega conjunto de exemplos de treinamento descobre uma relação entre os atributos previsores e o meta, de forma que, dado um novo exemplo, ele possa predizer a classe.
• As regras descobertas são do tipo SE <termo1 E termo2 E ...> ENTÃO <classe>.
• Cada termo é composto por uma tupla
• <atributo, operador, valor> por exemplo,
• <gênero=feminino>
AntMiner algoritmo para a descoberta de regras de classificação
• Algoritmo consiste em várias etapas:
• Construção regra;
• Regra poda;
• Atualização de feromônio;
• Formigas incrementalmente constrói/modifica uma solução para determinado problema alvo, neste caso, o problema alvo é a descoberta das regras de classificação.
Construção da Regra
• Uma Formiga começa com regra vazia e
adiciona um termo de cada vez
• A melhor regra (melhor formiga) é selecionada e adicionada a ListaDeRegras
Regra de poda
• Esta poda auxilia a remoção de termos irrelevantes que podem ter sido adicionados desnecessariamente na regra.
Atualização do feromônio
• Aumenta o feromônio na trilha seguida pela formiga atual de acordo com a qualidade da regra encontrada.
• Diminui feromônio em outras trilhas que simula a evaporação do feromônio.
Critérios de paranda
• Num. de regras> = Num. de formigas
• Convergência é cumprida
Lista de regras descobertas é atualizada e feromônios redefinido para todas as trilhas