• Nenhum resultado encontrado

Considerando o conjunto de soluções S como sendo o conjunto de todas as possíveis soluções e f como sendo a função de custo, o algoritmo objetiva encontrar a solução global s, tal que f (s) ≤ f (s0), ∀s, s0∈ S. O algoritmo pára após I iterações definidas pelo usuário, ou até que algum outro critério de parada seja satisfeito, e retorna a melhor solução obtida durante a execução sbest.

Algorithm 3 Pseudo-código do Tabu Search

1: s0: solução inicial 2: sbest: melhor solução

3: I: número de iterações

4: V: conjunto de soluções vizinhas

5: Insira s0na lista tabu 6: for i = 0 to i = I − 1 do 7: Gere V soluções vizinhas

8: Encontre o melhor s0∈ V

9: if s0não estiver na lista tabu then

10: si+1← s0

11: Atualize a lista tabu

12: Atualize sbest 13: end if

14: i= i + 1

15: end for 16: Retorne sbest

O pseudo-código do Tabu Search é descrito no Algoritmo 3. O 8opasso do algoritmo se refere a encontrar a melhor solução na vizinhança. Neste passo, o custo de cada solução gerada é avaliada por um classificador. Nesta dissertação, o classificador utilizado foi o k-Vizinhos mais próximos, como será detalhado mais adiante. Então, a solução cujo número de padrões classificados corretamente é maior, é a escolhida como solução atual, neste trabalho.

A atualização da lista tabu, como explicado anteriormente, visa impedir que o algoritmo "ande em círculos", re-visitando soluções recentemente percorridas. A definição do tamanho desta lista é, geralmente, feita de modo empírico e tende a crescer ou diminuir de acordo com o problema. Listas muito pequenas não evitam ciclos na trajetória, enquanto as de tamanho muito grande podem aumentar bastante o custo computacional da execução.

3.4

Simulated Annealing versus Tabu Search

Algumas considerações finais podem ser feitas quando da comparação entre o SA e o TS. Sobre a fuga de máximos locais, o SA faz isso por meio da aceitação de soluções que pioram o custo de acordo com uma probabilidade e o TS consegue escapar porque gera diversas soluções a cada iteração, aceitando sempre a melhor delas.

3.5. SUMÁRIO 36 Uma diferença entre os métodos é que o TS mantém na memória a melhor solução e, portanto, não corre o risco de deixá-la para trás como faz o SA. Do ponto de vista de custo computacional, o TS gera e avalia muitas soluções por iteração, o que, a princípio, consome mais recursos tais como mémoria e tempo de processamento. Porém, uma vez que mais soluções são visitadas por iteração, há uma forte tendência da convergência ser mais rápida (precise de menos iterações) que o SA.

Um outro fator de custo para o TS é a manutenção da lista tabu. Nela uma certa quantidade de soluções são armazenadas com a intenção de evitar ciclos na trajetória de busca. Além da memória consumida com a lista propriamente dita, mais recursos são exigidos quando cada uma das muitas soluções geradas por iteração for comparada com as soluções proibidas.

3.5

Sumário

Este capítulo apresentou o conceito de otimização e como esta pode ser realizada através de técnicas relacionadas tais como Tabu Search e Simulated Annealing. Foi visto que algoritmos de busca global são eficientes para a fuga de pontos de máximos locais. Eles buscam pela região na qual mais provavelmente se encontra o máximo global. Por outro lado, algoritmos de busca local, são especialmente bons em caminhar de um ponto no espaço iterativamente para o máximo local daquela região.

Foram citados como exemplos de algoritmos de busca local o Backpropagation e o Relief, sendo este último bastante conhecido na tarefa de selecionar características. Os algoritmos de busca global vistos aqui foram o Tabu Search e o Simulated Annealing. Ambos algoritmos possuem a habilidade de fugir de máximos locais através de heurísticas de busca.

Ainda foi feita uma breve comparação entre os algoritmos SA e TS, buscando esclarecer suas principais diferenças, semelhanças, vantagens e desvantagens.

O ponto chave deste trabalho de dissertação está na integração de algoritmos de busca global e local, em um único modelo híbrido. A idéia é que os algoritmos de busca encontrem a região do espaço onde existe o ponto de máximo da função e o algoritmo de convergência local realize um ajuste mais refinado nos parâmetros do modelo de forma a se aproximar ainda mais do ponto de máximo da região. Maiores detalhes sobre a construção deste modelo híbrido serão apresentados no Capítulo 4.

O capítulo seguinte especifica como a tarefa de Seleção e Ponderação de características pode ser formulada por meio de otimização global. Mais precisamente serão discutidos aspectos como: representação da solução, função de custo, geração de vizinhança e critérios de parada, entre outros.

37 37 37

4

Metodologia para Seleção e Ponderação de

Características Através de Otimização Global

Este capítulo apresenta a metodologia utilizada para aplicar algoritmos de busca global a conjuntos de características e seus pesos. A Seção 4.1 demonstra a metodologia proposta por Tahir et al. TAHIR; BOURIDANE; KORUGOLLU(2007) que possibilita a aplicação de métodos de busca (especificamente o Tabu Search) em problemas de Seleção e Ponderação. Na Seção 4.2 são mostrados detalhes acerca da metodologia quando da utilização do Tabu Searchcomo algoritmo de busca global. A Seção 4.3 traz a adaptação desta metodologia para o algoritmo Simulated Annealing. Por fim, a Seção 4.4 discute sobre a metodologia e a pertinência de seu uso neste trabalho.

4.1

Introdução

Como mencionado no capítulo anterior (Capítulo 3), esta dissertação propõe um modelo híbrido para Seleção e Ponderação de características com base na integração de métodos de otimização globais e locais. A Figura 4.1 é um modelo visual de como procede esta junção. Através de sua observação, pode-se perceber mais claramente as duas etapas integradas no processo de treinamento. A figura ainda traz quais algoritmos foram experimentados em cada uma destas etapas. Dessa forma, têm-se 2 configurações de hibridização: (1) TS/k-NN + Relief e (2) SA/k-NN + Relief. Maiores considerações sobre estas configurações serão feitas no decorrer deste capítulo.

O estágio global, de onde as soluções otimizadas são obtidas, foi baseado na metodologia presente em Tahir et al. TAHIR; BOURIDANE; KORUGOLLU(2007). Vale ressaltar que, na proposta original, sua metodologia foi aplicada apenas ao Tabu Search como método de otimiza- ção do algoritmo denominado TS/k-NN. Em trabalhos anterioresBARROS; CAVALCANTI

4.1. INTRODUÇÃO 38 Conjunto de Características Otimização Global Novo Conjunto de Características Otimização Local TS/k-NN SA/k-NN Relief

Figure 4.1: Treinamento do modelo proposto para Seleção e Ponderação

(2008a)BARROS; CAVALCANTI(2008b), também o Simulated Annealing foi utilizado com

base numa adaptação da metodologia originalmente criada para o TS, o que consolidou ainda mais sua aplicabilidade em métodos de otimização. Nestes últimos trabalhos mencionados, o algoritmo foi similiarmente chamado de SA/k-NN.

O TS/k-NN realiza Seleção e Ponderação e tem como objetivo melhorar a acurácia de classificação. Como será detalhado na Seção 4.2.1, este método usa dois vetores para a representação da solução: um vetor de pesos e outro binário. O vetor de pesos é formado por valores reais, enquanto o binário possui valores 0 ou 1 como elementos. Além disto, um classificador k-NN é utilizado para avaliar o vetor de características selecionado e ponderado. O valor k do classificador também compõe a representação da solução. A distância Euclidiana foi utilizada como métrica de dissimiliaridade pelo k-NN. Por ser uma métrica bastante conhecida na literatura, dispensa maiores explicações. Sua descrição é apresentada na Equação 4.1.

d(~x,~xi) = D

j=1 |xj− xij| !12  4.1

sabendo que, ~x e ~xisão os vetores de entrada, e D é o número de características ou dimensão do

vetor.

Na abordagem de k-NN ponderado, tanto as características do conjunto de entrada quanto as do padrão a ser classificado são multiplicadas pelos valores de peso correspondentes e, só então, submetidas ao classificador k-NN tradicional. A ponderação de características tem uma importante implicação: o espaço de características é expandido nas dimensões associadas àquelas características que obtiveram maiores valores de peso, ao mesmo tempo que é comprimido nas dimensões cujas características foram ponderadas com valores baixos. Isto permite ao k-NN ser mais eficiente na diferenciação dos padrões em dimensões com pesos maiores associados

RAYMER et al.(2000).

A Figura 4.2 traz um maior detalhamento sobre a etapa de otimização global, que neste trabalho, é a etapa que fornece insumos para o algoritmo de refinamento local. Uma solução ótima é encontrada no espaço de características e, então, tem seus valores de pesos ajustados na tentativa de encontrar respostas mais próximas do máximo global da região. Em outra palavras, a solução fornecida pela etapa global é ponto de partida para a busca local.

4.2. SELEÇÃO E PONDERAÇÃO ATRAVÉS DE TABU SEARCH/K-NN 39