• Nenhum resultado encontrado

Abordagem heurística baseada em busca em vizinhança variável para o agrupamento balanceado de dados pelo critério da soma mínima das distâncias quadráticas

N/A
N/A
Protected

Academic year: 2021

Share "Abordagem heurística baseada em busca em vizinhança variável para o agrupamento balanceado de dados pelo critério da soma mínima das distâncias quadráticas"

Copied!
55
0
0

Texto

(1)UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE. U NIVERSIDADE F EDERAL DO R IO G RANDE DO N ORTE C ENTRO DE T ECNOLOGIA P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA E DE C OMPUTAÇÃO. Abordagem heurística baseada em Busca em Vizinhança Variável para o Agrupamento Balanceado de Dados pelo Critério da Soma Mínima das Distâncias Quadráticas. Leandro Rochink Costa. Orientador: Prof. Dr. Daniel Aloise. Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Engenharia Elétrica e de Computação da UFRN (área de concentração: Engenharia de Computação) como parte dos requisitos para obtenção do título de Mestre em Ciências.. Número de ordem PPgEEC: M472 Natal, RN, Agosto de 2016.

(2)

(3)

(4) Resumo Após vários avanços na tecnologia de captação e armazenamento de dados e do crescimento de aplicações que provêm novas informações, o número de elementos informacionais disponíveis é enorme tanto em volume quanto em variedade. Com esse aumento na quantidade de informações, a necessidade de entendê-los e resumi-los se tornou cada vez mais urgente. O Agrupamento Balanceado de Dados, do inglês Balanced Clustering, visa encontrar grupos de entidades similares que possuam aproximadamente o mesmo tamanho. Neste trabalho, é proposta uma nova abordagem heurística baseada na metaheurística Busca em Vizinhança Variável, do inglês Variable Neighborhood Search (VNS), e na metodologia Menos é mais, do inglês Less is more approach, para o problema de agrupamento de dados usando o critério da soma mínima das distâncias quadráticas com restrição de balanceamento dos grupos. Os algoritmos encontrados na literatura não são escaláveis ao passo que aumentamos o tamanho do problema para além de 5000 elementos de acordo com experimentos realizados nesta pesquisa. Os experimentos computacionais mostram que o método proposto supera o atual estado da arte neste problema. Palavras-chave: Agrupamento de dados, Otimização, Mineração de dados..

(5) Abstract After advances in collecting and storing data and the growth in applications that provide new information, the number of data elements available is huge in both volume and variety. With this increase in the quantity of information, the need to understand them and summarize them has become increasingly urgent. The Balanced Clustering seeks to find groups of similar entities that have approximately the same size. In this dissertation, we propose a new heuristic approach based on metaheuristic Variable Neighborhood Search (VNS) and methodology "Less is More Approach"(LIMA) to data clustering problem using the criterion of the minimum sum-of-squared distances applying balancing restriction for the groups. The algorithms found in the literature are not scalable, while the problem of increased size in addition to elements 5000 in accordance with experiments performed in this study. The computational experiments show that the proposed method outperforms the current state of the art for the problem. Keywords: Clustering, Optimization, Data mining..

(6) Sumário. Sumário. i. Lista de Figuras. iii. Lista de Tabelas. iv. Lista de Algoritmos. v. Lista de Abreviaturas e Siglas. vi. 1. Introdução 1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Organização e Estrutura do Texto . . . . . . . . . . . . . . . . . . . . . .. 1 4 4 4. 2. Revisão da Literatura 2.1 Minimum Sum-of-squares Clustering - MSSC . . . . . . . . . . . . . . . 2.2 k-Means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Modelos Matemáticos para o Agrupamento Balanceado de Dados . . . . 2.4 Algoritmos de Agrupamento Balanceado de Dados baseados no k-Means 2.5 Problemas de Otimização Combinatória . . . . . . . . . . . . . . . . . . 2.6 Algoritmos de Busca Local . . . . . . . . . . . . . . . . . . . . . . . . . 2.7 Variable Neighborhood Search - VNS . . . . . . . . . . . . . . . . . . . 2.8 Metodologia Less is more approach - LIMA . . . . . . . . . . . . . . . .. 5 5 7 8 10 14 15 16 18. 3. Método de Pesquisa 3.1 Formulação Matemática . . . . . . . . 3.2 Solução Inicial . . . . . . . . . . . . . 3.3 Vizinhança de Troca de Pares de Pontos 3.4 Pertubação . . . . . . . . . . . . . . . . 3.5 Busca local . . . . . . . . . . . . . . .. 19 19 20 22 22 23. i. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . ..

(7) 4. 5. Resultados 4.1 Experimentos Computacionais . . . . . . . . 4.2 Melhor Aprimorante vs Primeiro Aprimorante 4.3 Influência de kmax . . . . . . . . . . . . . . . 4.4 Comparação com o Estado da Arte . . . . . . 4.5 Justificativa do Uso da Metodologia LIMA . . Considerações Finais. Bibliografia. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 28 28 29 30 31 36 40 42.

(8) Lista de Figuras 1.1. Exemplo de agrupamento balanceado de dados. . . . . . . . . . . . . . .. 3. 2.1. Ilustração da estratégia VNS [Hansen & Mladenovi´c 2009]. . . . . . . . .. 17. 3.1 3.2. Criação de uma solução inicial. . . . . . . . . . . . . . . . . . . . . . . . Exemplo de vizinhos de uma solução na vizinhança de troca de um par de pontos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procedimento de pertubação através da troca de pares de pontos. . . . . .. 21. 3.3 4.1 4.2 4.3 4.4 4.5. Gráfico de tempo em segundos até o alvo dos algoritmos Balanced kmeans e VNS LIMA para a instância Water treatment plant. . . . . . . . Gráfico de tempo em segundos até o alvo dos algoritmos Balanced kmeans e VNS LIMA para a instância Vehicle. . . . . . . . . . . . . . . . Gráfico de tempo em segundos até o alvo dos algoritmos Balanced kmeans e VNS LIMA para a instância Vowel recognition. . . . . . . . . . Gráfico de tempo em segundos até o alvo dos algoritmos Balanced kmeans e VNS LIMA usando as instâncias Multiple features. . . . . . . . Funcionamento da pertubação por problema de alocação. . . . . . . . . .. iii. 22 23. 33 33 34 34 37.

(9) Lista de Tabelas 2.1. Variação nos tempos médios de execução do Balanced k-means. . . . . .. 12. 3.1. Nomenclatura usada nos Algoritmos 8 e 9. . . . . . . . . . . . . . . . . .. 26. 4.1 4.2 4.3. Instâncias usadas no experimentos computacionais. . . . . . . . . . . . . Plataforma utilizada nos experimentos. . . . . . . . . . . . . . . . . . . . Desvio percentual da melhor solução encontrada quando as estratégias melhor aprimorante e primeiro aprimorante são usadas. . . . . . . . . . . Desvio percentual da melhor solução encontrada quando kmax = 5; 10; 15; 20; 25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Desvio percentual da melhor solução encontrada pelos métodos Balanced k-means e VNS LIMA. . . . . . . . . . . . . . . . . . . . . . . . . . . . Percentual médio da melhora feita pelo VNS LIMA a partir das soluções do Balanced k-means. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Desvio percentual a partir do valor da melhor solução conhecida obtidos pelos algoritmos Balanced k-means, VNS LIMA e VNS com s = {10; 25; 50; 100} para cada instância. . . . . . . . . . . . . . . . . . . . .. 28 29. 4.4 4.5 4.6 4.7. iv. 30 30 32 36. 38.

(10) Lista de Algoritmos 1 2 3 4 5 6 7 8 9. k-Means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Constrained k-means . . . . . . . . . . . . . . . . . . . . . . . . Algoritmo Húngaro. . . . . . . . . . . . . . . . . . . . . . . . . . Balanced k-means . . . . . . . . . . . . . . . . . . . . . . . . . . Algoritmo da Busca Local com a estratégia melhor aprimorante. . Algoritmo da Busca Local com a estratégia primeiro aprimorante. Metaheurística Variable Neighborhood Search . . . . . . . . . . . Algoritmo da Busca Local com a estratégia melhor aprimorante. . Algoritmo da Busca Local com a estratégia primeiro aprimorante.. v. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. 8 10 13 14 16 16 18 26 27.

(11) Lista de Abreviaturas e Siglas LIMA. Less is more approach. LNS. Large Neighborhood Search. MSSC. Minimum Sum-of-Squares Clustering. TTTPlots Time-to-target Plots VNS. Variable Neighborhood Search. vi.

(12) Capítulo 1 Introdução. Após vários avanços na tecnologia de captação e armazenamento de dados e do crescimento de aplicações que provêm novas informações, o número de elementos informacionais disponíveis é enorme tanto em volume quanto em variedade. Com esse aumento na quantidade de informações, a necessidade de entendê-los e resumi-los se tornou cada vez mais urgente. A melhoria nas técnicas aplicadas na análise de clusters, do inglês cluster analysis, se tornou imprescindível [Jain 2010]. A análise de clusters atua no processamento desses dados com o fim de extrair características. Em outras palavras, ela têm como objetivo descobrir grupos naturais dentre um conjunto de entidades. De acordo com Jain (2010), esse processo de classificar pode ser operacionalmente definido da seguinte forma: dada a representação de n entidades deve-se encontrar K grupos baseados na medida de similaridade entre eles de modo que elementos de um mesmo grupo tenham similaridade alta entre si e baixa para elementos de grupos diferentes. Existe na literatura uma distinção entre as classes de modelos de aprendizagem. Os modelos de classificação fazem uso de técnicas de processamento de dados supervisionado. Essas técnicas são definidas assim devido ao fato de precisar que nós as ensinemos, através de um conjunto de dados de treinamento, como devem decidir a respeito de qual grupo um elemento deve pertencer. Este conjunto é formado por entidades já rotuladas com os grupos aos quais devem ser designadas. Através disso, os outros conjuntos de dados são processados. Os modelos de agrupamento de dados usam técnicas não supervisionadas e semi supervisionadas para realizar as suas tarefas. Quando são utilizadas técnicas não supervisionadas, só é fornecido o conjunto de dados que deve ser agrupado e então o algoritmo reúne esses dados seguindo somente o critério de semelhança entre entidades escolhido. Pode-se encontrar na literatura várias aplicações de agrupamento de dados, mas geralmente todas o usam com um dos três propósitos[Jain 2010]: conhecimento implícito;.

(13) CAPÍTULO 1. INTRODUÇÃO. 2. classificação natural; e compressão. Em aplicações com o propósito de conhecimento implícito, os dados são agrupados em clusters com o objetivo de os compreender, gerar hipóteses, detectar anomalias e identificar características relevantes que não são facilmente percebidas. As aplicações que buscam a classificação natural agrupam os dados com o fim de determinar o grau de similaridade entre formas e organismos. Quando aplicações tem como objetivo a compressão dos dados, eles são organizados e resumidos através da formação de clusters. Há situações nas quais precisa-se não somente agrupar dados mas fazê-lo de modo equilibrado quanto ao número de elementos por cluster. O agrupamento balanceado de dados, do inglês Balanced Clustering, visa encontrar grupos de entidades que possuam aproximadamente o mesmo tamanho. A Figura 1.1 é um exemplo de agrupamento balanceado de dados. Neste trabalho, definimos agrupamento balanceado de dados como o problema de formar subconjuntos de entidades em que o número de elementos entre eles seja igual ou que difira no máximo em uma unidade. Métodos restringidos pelo balanceamento são necessários quando para um problema é importante agrupar elementos semelhantes em um mesmo cluster e manter a quantidade de elementos por cluster igual. Por exemplo, agrupar dados de modo balanceado é importante para algumas aplicações como protocolos de comunicação entre sensores wireless [Gong et al. 2008, Liao et al. 2013, Xiaoyan et al. 2015, Shin et al. 2015], problemas de roteamento de veículos[He et al. 2009, Nallusamy et al. 2010], criação de equipes de estudantes[Desrosiers et al. 2005] e sistemas de distribuição dinâmica de recursos em aplicações SaaS(Software as a Service) com multiusuários[Su et al. 2015]. Em protocolos de comunicação entre sensores wireless e uma base que prolongam a vida útil energética dos dispositivos de sua rede, o agrupamento balanceado de dados é usado para dividir os sensores em grupos de tamanho iguais e dessa forma, juntamente com a metodologia do protocolo, equilibrar o tráfego de dados e o consumo de energia em cada dispositivo. Algumas soluções para o problema de roteamento de veículos tomam a decisão tática de dividir os clientes a serem visitados em grupos de tamanho iguais. Dessa forma para cada cluster, existe um problema de roteamento de veículos reduzido. Essa decomposição do problema visa resolver de forma rápida, e com qualidade satisfatória, até mesmo instâncias com grandes conjuntos de clientes. Podemos também usar o agrupamento balanceado de dados para criar equipes equilibradas de estudantes. Esse problema tem como objetivo formar grupos de estudantes levando em consideração uma série critérios para que todas as equipes sejam semelhantes quanto às características e às habilidades de seus integrantes..

(14) CAPÍTULO 1. INTRODUÇÃO. 3. Uma aplicação mais específica do agrupamento balanceado de dados é feita em sistemas de distribuição dinâmica de recursos em aplicações SaaS (Software as a service) com multiusuários. Nela os usuários são agrupados de acordo com a similaridade na quantidade de recursos necessários para garantir o nível mínimo de serviço por eles contratados. Dessa forma, os custos de transferir um usuário de uma instância do sistema de servidores para outra e os custos de ativar novas máquinas virtuais para satisfazer a demanda de recursos são minimizados. A quantidade de clientes em cada grupo deve ser balanceada, pois o sistema processa as requisições dos usuários em fila, logo, se uma fila fica muito grande o tempo de resposta ao cliente também fica podendo, inclusive, levar ao sistema não atender os requisitos contratados pelos usuários.. Figura 1.1: Exemplo de agrupamento balanceado de dados. Neste trabalho, é proposto um método heurístico baseado na metaheurística Variable Neighborhood Search (VNS) e na metodologia Less is more approach - LIMA [Mladenovic et al. 2016] para realizar o agrupamento balanceado de dados restringido pelo balanceamento. Esse método usa o critério da soma mínima das distâncias quadráticas, do inglês minimum sum-of-squares clustering (MSSC), para agrupar os dados de forma balanceada. A tarefa de agrupar dados com o critério da soma mínima dos quadrados é um problema NP-árduo [Aloise et al. 2009]..

(15) CAPÍTULO 1. INTRODUÇÃO. 4. A nova abordagem proposta (VNS LIMA) se enquadra na categoria dos algoritmos restringidos pelo balanceamento. Os experimentos computacionais mostram que a heurística VNS LIMA supera o atual estado da arte tanto em qualidade das soluções quanto em velocidade de processamento.. 1.1. Objetivos. O objetivo principal deste trabalho consiste em criar um novo método heurístico baseado na metaheurística VNS e na metodologia LIMA que se enquadre na categoria dos algoritmos restringidos pelo balanceamento e que seja capaz de obter rapidamente boas soluções.. 1.1.1. Objetivos Específicos. Os seguintes objetivos específicos desta pesquisa são listados: 1. 2. 3. 4.. identificar formas simples e eficientes de se perturbar uma solução; identificar maneiras simples e precisas de se realizar a busca local; projetar e implementar o método heurístico proposto; testar empiricamente quais estratégias de funcionamento da busca local geram melhores soluções; e 5. analisar experimentalmente e justificar o potencial da metodologia LIMA;. 1.2. Organização e Estrutura do Texto. Este trabalho segue a seguinte organização: no Capítulo 2, é feita a revisão da literatura; no Capítulo 3, o método heurístico baseado na metaheurística VNS e na metodologia LIMA e as diferentes estratégias que vão ser adotadas para melhorar o seu desempenho são expostas; no Capítulo 4, os experimentos computacionais são apresentados; e no Capítulo 5, as considerações finais e conclusões são expostas..

(16) Capítulo 2 Revisão da Literatura 2.1. Minimum Sum-of-squares Clustering - MSSC. O agrupamento de dados é uma ferramenta fundamental quando queremos extrair informações úteis mas não óbvias de um conjunto de dados (ver §1). Os clusters são formados de acordo com critério de homogeneidade e/ou separação adotado. Vários são os critérios existentes e um dos mais usados é o critério da soma mínima das distâncias euclidianas quadráticas. O problema de agrupar dados através desse critério é conhecido na literatura por minimum sum-of-squares clustering e é um problema NP-árduo [Aloise et al. 2009], ou seja, não é conhecido um algoritmo que consiga dar a resposta ótima para estes problema em tempo polinomial. Dado n pontos, ele tem como objetivo encontrar K clusters de modo que o somatório das distancias quadráticas de cada um dos pontos com o centro do cluster em que foi designada seja minimizado. O problema do MSSC pode ser expresso pelo seguinte modelo matemático: n. min ∑ x,y. K. ∑ xi j �pi − y j �2. (2.1). i=1 j=1. Sujeito a: K. ∑ xi j = 1. ∀ i = 1, 2, ..., n. (2.2). xi j ∈ {0, 1}. ∀i = 1, 2, ..., n; ∀ j = 1, 2, ..., K. (2.3). j=1. Neste modelo temos n pontos pertencentes a P = {p1 , p2 , ..., pn }, todos descritos no espaço Rs , para serem agrupados em K < n clusters. Todo cluster j possui um centro localizado em um ponto desconhecido y j ∈ Rs para j = 1, 2, ..., K. A função objetivo.

(17) CAPÍTULO 2. REVISÃO DA LITERATURA. 6. (2.1) determina que deve-se minimizar as distâncias euclidianas quadráticas (|| · ||) entre pontos e os centros dos clusters em que eles foram associados. A restrição (2.2) garante que todo ponto p ∈ P seja designado a somente um cluster. Finalmente, a restrição (2.3) determina que as variáveis xi j sejam binárias. Desse modo, as variáveis de decisão xi j assumem o valor 1, xi j = 1, se o ponto pi está designado ao cluster j, caso contrário, xi j assume o valor 0. O agrupamento de dados pelo MSSC possui a propriedade de minimizar as distancias intra-cluster ao mesmo tempo que maximiza as distancias inter-clusters. Dado P¯ = 1 n s n ∑i=1 pi , um vetor constante ρ ∈ R e S j = ∑i∈ j xi j . Segundo Späth (1980), n. n. i=1. i=1. ∑ � pi − ρ �2 = ∑ � pi − P¯ �2 + n � P¯ − ρ �2. (2.4). Ao restringir o problema a um único cluster � com os seus respectivos S� pontos, notamos que P¯ corresponde a y� em (2.4):. ∑ � pi − ρ �2 = ∑ � pi − y� �2 + S� � y� − ρ �2 i∈�. (2.5). i∈�. Se somarmos a Equação (2.5) de todos os K clusters teremos como resultado: n. ∑ � p i − ρ �2 =. i=1. K. K. ∑ ∑ � pi − y j �2 + ∑ S j � y j − ρ �2. j=1 i∈ j. (2.6). j=1. ¯ A Equação2.6 considera todos os n pontos e P¯ é constante, então, pode-se atribuir ρ = P. n. ∑ � pi − P¯ �2 =. i=1. K. K. ∑ ∑ � pi − y j �2 + ∑ S j � y j − P¯ �2. j=1 i∈ j. (2.7). j=1. Uma vez que ∑ni=1 � pi − P¯ �2 é constante, se a distância intra-cluster é minimizada consequentemente a distância inter-clusters associada ao somatório ∑Kj=1 S j � y j − P¯ �2 é maximizada. Além disso, o agrupamento de dados pelo MSSC possui outras propriedades. Dado a alocação dos pontos, os centros dos clusters ficam localizados exatamente nos seus centroides. Desse modo, os clusters tendem a ser esféricos. Dado a localização dos centroides, os pontos serão designados ao cluster com centroide mais próximo. Existem vários métodos, exatos e heurísticos, para se agrupar dados pelo critério do MSSC. Contudo, o mais popular dentre eles é o algoritmo heurístico k-Means[MacQueen & et al 1967]..

(18) CAPÍTULO 2. REVISÃO DA LITERATURA. 2.2. 7. k-Means. O algoritmo k-means foi proposto MacQueen & et al (1967). Apesar de estar presente na literatura por tanto tempo, ele continua sendo importante. A sua simplicidade, eficiência e facilidade de implementação são os motivos de ser o algoritmo mais usado para resolver problemas de agrupamento de dados pelo MSSC. O k-means requer algumas parâmetros iniciais especificados pelo usuário: número de clusters K; posição inicial do centroide dos K clusters; e o conjunto de n pontos P = {p1 , p2 , ..., pn } a ser processado. Este algoritmo possui as etapas de alocação e de atualização como os procedimentos principais. O passo de alocação é responsável por atribuir todos os n pontos pertencentes a P ao cluster de centroide mais próximo de acordo com a distância euclidiana quadrática. O passo de atualização tem a tarefa de determinar a nova localização dos centroides dos clusters. Uma vez que os dados iniciais forem definidos, o k-means irá vai executar sucessivas iterações, composta pelo passo de alocação seguido do passo de atualização, até que a localização dos centroides dos clusters não mude mais. Quando os centroides não mudarem, os algoritmo termina o seu funcionamento. O k-means é determinístico e gera soluções em passos finitos. Só é possível atingir soluções diferentes se for fornecido parâmetros diferentes, pois as soluções por ele geradas são sempre ótimos locais. Devido a no passo alocação um ponto ser atribuído sempre ao cluster de centroide mais próximo, a solução não pode piorar a cada iteração. Se o algoritmo não melhora a solução, a configuração dos clusters não muda, consequentemente, os centroides também não irão alterar e assim ele terá atingido um ótimo local. Isso também explica o porquê do critério de parada usado. O k-means pode ser representado pelo Algoritmo 1..

(19) CAPÍTULO 2. REVISÃO DA LITERATURA. 8. Algoritmo 1 k-Means 1: escolher as posições iniciais dos centroides yi ∀i ∈ [1, K] 2: repetir 3: Passo de alocação: 4: para i=1,...,n faça 5: alocar pi ao centroide mais próximo 6: fim para 7: 8: 9: 10: 11: 12:. Passo de atualização: para i=1,...,n faça calcular a posição do centroide yi fim para até que centroides não mudem. 2.3. Modelos Matemáticos para o Agrupamento Balanceado de Dados. O agrupamento balanceado de dados se preocupa em agrupar um conjunto P = {p1 , p2 , ..., pn } de n pontos em K clusters de acordo com as suas similaridades e de forma que cada cluster tenha aproximadamente a mesma quantidade de pontos. Contudo, diferentes modelos matemáticos que descrevem essa tarefa foram propostos na literatura. O modelo matemático usado por Bradley et al. (2000) realiza esse procedimento de modo que cada um dos clusters tenha no mínimo τ elementos. A ideia é fazer com que não existam clusters muito pequenos na partição. Esse modelo é conhecido como agrupamento de dados restrito e é expresso da seguinte forma:. Min:. n. K. ∑ ∑ xi j �pi − y j �2. (2.8). i=1 j=1. Sujeito a: K. ∑ xi j = 1. ∀ i = 1, 2, ..., n. ∑ xi j ≥ τ j. ∀ j = 1, 2, ..., K. (2.10). i=1. xi j ∈ {0, 1}. ∀ i = 1, 2, ..., n, ∀ j = 1, 2, ..., K. (2.11). j=1 n. (2.9). A outra formulação matemática existente foi usada por Zhu et al. (2010). Este autor considerou que todo cluster devia ter um tamanho específico τ. Esses valores são estabe-.

(20) CAPÍTULO 2. REVISÃO DA LITERATURA. 9. lecidos de acordo com o conhecimento prévio das boas soluções da instância de dados a ser processada. O seguinte modelo representa o problema de agrupamento de dados por restrições de tamanho tratado por Zhu et al. (2010).. Min:. n. K. ∑ ∑ xi j �pi − y j �2. (2.12). i=1 j=1. Sujeito a: K. ∑ xi j = 1. ∀ i = 1, 2, ..., n. (2.13). ∑ xi j = τ j. ∀ j = 1, 2, ..., K. (2.14). i=1. xi j ∈ {0, 1}. ∀ i = 1, 2, ..., n, ∀ j = 1, 2, ..., K. (2.15). j=1 n. Finalmente, o modelo de agrupamento balanceado de dados considerado por Malinen & Franti (2014) tem como objetivo agrupar n pontos em K clusters de modo que as quantidades de pontos em cada um dos clusters difiram em no máximo uma unidade.. Min:. n. K. ∑ ∑ xi j �pi − y j �2. (2.16). i=1 j=1. Sujeito a: K. ∑ xi j = 1. ∀ i = 1, 2, ..., n. (2.17). ∑ xi j = K. ∀ j = 1, 2, ..., K. (2.18). i=1. xi j ∈ {0, 1}. ∀ i = 1, 2, ..., n, ∀ j = 1, 2, ..., K. (2.19). j=1 n. n. O número de pontos em cada cluster é determinado pela divisão n/K. Se n/K = �n/K� = �n/K� então todo cluster terá n/K pontos. Caso contrário teremos n mod K clusters com �n/K� pontos e K − (n mod K) clusters com �n/K�. Isso garante que os clusters tenham tamanhos iguais ou que difiram em no máximo uma unidade. Nota-se que este modelo é um caso específico do usado por Zhu et al. (2010). Além disso, o modelo matemático considerado por Malinen & Franti (2014), expressado por (2.16)-(2.19), é o modelo tratado neste trabalho e serviu de base para o modelo equivalente apresentado no Capitulo 3..

(21) CAPÍTULO 2. REVISÃO DA LITERATURA. 2.4. 10. Algoritmos de Agrupamento Balanceado de Dados baseados no k-Means. Devido a sua popularidade o k-Means serve como base para muitos algoritmos de agrupamento de dados. Não diferentemente, os principais algoritmos para os modelos da seção anterior também tem como base o k-Means: Constraint k-Means[Bradley et al. 2000]; Size Constraint Clustering[Zhu et al. 2010]; e Balanced k-Means[Malinen & Franti 2014]. O constrained k-means é capaz de usar qualquer um dos três modelos matemáticos da Seção 2.3: expressões (2.8)-(2.11); (2.12)-(2.15); e (2.16)-(2.19). Este algoritmo se concentra em dois passos: alocação, do inglês assignment; e atualização, do inglês update. O passo de alocação adotado no constrained k-means consiste em resolver um problema linear de otimização. Quando proposto, o problema adotado foi o descrito pelas expressões (2.8)-(2.11). Uma vez que os centroides estão fixos no passo de alocação, o modelo (2.8)(2.11) é linear. Neste modelo matemático K restrições são dedicadas a garantir o número mínimo de τ j pontos em cada um dos j clusters ( j = 1, ..., K). O passo de atualização é responsável por atualizar os valores dos centroides de todos os K clusters. O Algoritmo 2 descreve o funcionamento do constrained k-means: Algoritmo 2 Constrained k-means 1: escolher as posições iniciais dos centros yi ∀i ∈ [1, K] 2: repetir 3: Passo de alocação: 4: Resolver o modelo (2.8 - 2.11) com centroides fixos 5: 6: 7: 8: 9: 10:. Passo de atualização: para i=1,...,n faça calcular a posição do centroide yi fim para até que centroides não mudam. O size constraint clustering, desenvolvido por Zhu et al. (2010), também é capaz de trabalhar com os modelos matemáticos representados pelas expressões (2.8)-(2.11), (2.12)-(2.15) e (2.16)-(2.19). No entanto, este algoritmo foi proposto para usar o modelo representado pelas expressões (2.12)-(2.15). Essa heurística consiste em primeiro encontrar uma solução Z através do k-Means, que não garante clusters com balanceamento de tamanho, para então resolver o problema de programação não-linear:.

(22) CAPÍTULO 2. REVISÃO DA LITERATURA. min�ZZ T − XX T �. 11. (2.20). Sujeito a:. K. ∑ xi j = 1. ∀i = 1, 2, ..., n. (2.21). ∑ xi j = τ j. ∀ j = 1, 2, ..., K. (2.22). i=1. xi j ∈ {0, 1}. ∀i = 1, 2, ..., n; ∀ j = 1, 2, ..., K. (2.23). j=1 n. Em seu trabalho, Zhu et al. (2010) tornou esse modelo linear para então resolvê-lo e mais detalhes desse procedimento podem ser nele conferidos. Note que para utilizar algum outro modelo de agrupamento de dados apresentado na Seção 2.3 basta substituir as expressões (2.22) pelas (2.10) ou (2.18). A função objetivo, Equação (2.20), faz uso do fato dos elementos da matriz n × n resultante da multiplicação ZZ T serem iguais a um se dois pontos pi e p j estão no mesmo cluster em Z:  1 (ZZ T )i j = 0. se pi e p j estão no mesmo cluster em Z caso contrário.. De mesmo modo, isso também é válido para a multiplicação XX T . Dessa forma, a função objetivo (2.20) busca maximizar, ou seja priorizar, a concordância entre a solução não balanceada já existente Z, obtida pelo k-means, com a solução balanceada X através da minimização do valor na norma de Frobenius � · �. O Balanced k-Means, proposto por Malinen & Franti (2014), é o estado da arte dos algoritmos para os modelos (2.12)-(2.15) e (2.16)-(2.19) e está disponível em http: //www2.uef.fi/en/sipu/data-and-software. Quando proposto, ele obteve boas soluções para o agrupamento balanceado de dados, mas não se mostrou escalável para conjuntos de dados com mais de 5000 pontos conforme pode ser verificado na Tabela 2.1. Nela vemos que o balanced k-means precisa de várias horas para processar um conjunto de dados com 5000 pontos. Apesar do Balanced k-means ter sido desenvolvido para resolver o agrupamento balanceado de dados seguindo o modelo composto pelas expressões (2.16)-(2.19), ele também pode agrupar os pontos de acordo com o modelo matemático (2.12)-(2.15). Isso é possível devido ao modelo (2.16)-(2.19) ser um caso específico do modelo (2.12)-(2.15). 1 Apenas. o item 4.mfeat-pix..

(23) CAPÍTULO 2. REVISÃO DA LITERATURA. 12. Tabela 2.1: Variação nos tempos médios de execução do Balanced k-means. Instância(Elementos, Atributos ) Iris(150, 4) Wine(178, 13) Glass(214, 10) Thyroid(215, 5) Ionosphere(351, 34) Libra(360, 90) User Knowledge(403, 5) Body Measurements(507, 5) Water Treatment Plant(527, 38) Breast Cancer(569, 30) Synthetic Control(600, 60) Vehicle(846, 18) Vowel Recognition(990, 10) Yeast(1484, 8) Multiple Features(2000, 2401 ) Image Segmentation(2310, 19) Waveform(5000, 40). Tempo de CPU 0.42s 0.6s 2.54s 1.45s 3.65s 8.36s 12.35s 10.51s 24.04s 22.12s 16.98s 45.66s 2min e 28.36s 6min e 34.09s 37min e 13.19s 30min e 27.98s >24h. Este algoritmo também se concentra em dois passos: alocação e atualização. A fase de alocação é responsável por alocar os pontos nos clusters de acordo com a localização dos seus centroides de modo que diminua ao máximo o valor da função objetivo. O passo de atualização é responsável por atualizar as posições dos centroides. O passo de alocação é o quê diferencia o balanced k-means do k-means tradicional. Enquanto que o k-means atribui cada ponto ao cluster com o centroide mais próximo, o balanced k-means resolve neste passo um problema de alocação para determinar a melhor configuração dos elementos nos grupos de acordo com a localização dos centroides no momento e com as vagas disponíveis em cada cluster. O problema de alocação usado pelo balanced k-means pode ser descrito da seguinte forma. Dado dois conjuntos, A e S, de tamanhos iguais e uma função de pesos W : A × S → R. O seu objetivo é encontrar uma função bijetiva f : A → S tal que a função de custo ∑a∈A W (a, f (a)) seja mínima. No contexto desse algoritmo, A e S correspondem, respectivamente, às vagas disponíveis nos clusters e aos pontos. O número de vagas em cada cluster é determinado pela divisão n/K. Teremos n mod K clusters com �n/K� vagas e K − (n mod K) clusters com �n/K�. Dessa forma, o número de pontos entre quaisquer dois clusters se diferenciará no máximo em uma unidade. O problema de alocação deste passo é resolvido com complexidade O(n3 ) [Burkard et al. 2009] através do algoritmo Húngaro. Dado uma matriz de pesos D que contêm os valores de W (i, j)∀i, j ∈ [1, n] ∈ Z, a implementação do algoritmo húngaro.

(24) CAPÍTULO 2. REVISÃO DA LITERATURA. 13. [Kuhn 1955] possui 4 passos: Passo A - subtrair todos os elementos da matriz D pelo valor do menor elemento (h) de D. Essa operação gera uma matriz D1 ; Passo B - encontrar o menor conjunto de linhas L em D1 que englobe todos os zeros de D1 . Se o número de linhas em L, n� , for igual a n então a solução foi encontrada; Passo C - Se n� < n, então encontre o valor do menor elemento (h1 ) de D1 que não esteja contido em L. Somar h1 a todos os elementos das linhas L e subtrair de h1 de todos os elementos de D1 ; e Passo D - repetir os passos A, B e C com D ← D1 . Esses procedimentos são apresentados no Algoritmo 3. Algoritmo 3 Algoritmo Húngaro. 1: repetir 2: h ← valor do menor elemento de D 3: D1 (i, j) ← D(i, j) − h ∀i, j ∈ [1, n] ∈ Z 4: L ← menor conjunto de linhas de D1 que contêm todos os zeros de D1 5: se n� < n então 6: h1 ← valor do menor elemento de {D1 − L} 7: D1 (i, j) ← D1 (i, j) + h1 ∀D1 (i, j) ∈ {D1 − L} 8: D1 (i, j) ← D(i, j) − h1 ∀i, j ∈ [1, n] ∈ Z 9: D ← D1 10: fim se 11: até que n� = n A função de pesos W usa a distância euclidiana quadrática entre um elemento e um centroide da seguinte forma. Sendo g o índice que identifica uma vaga, i o índice do elemento na instância e t a iteração do algoritmo.. W (g, i) = �pi − y(gt mod k)+1 �2. ∀g ∈ [1, n]. ∀i ∈ [1, n]. (2.24). O passo de atualização tem como função atualizar a localização dos centroides dos clusters após o passo de alocação. Isso é necessário, pois os elementos mudam de cluster, no passo anterior, logo os centroides também mudam. Quando após a atualização nenhum centroide mudar, o algoritmo termina a sua execução, devido a não encontrar nenhuma melhoria. A atualização é feita seguindo a função: n. ysj =. ∑ xi j pi. i=1 n. ∑ xi j. i=1. ,∀ j. (2.25).

(25) CAPÍTULO 2. REVISÃO DA LITERATURA. 14. Além desses passos, o balanced k-means inicializa os seus centroides de modo aleatório. Isso é feito com o uso de um gerador de números uniformemente aleatórios da seguinte forma. Ao iniciar o algoritmo, os valores iniciais de cada uma das coordenadas de cada um dos centroides são atribuídos à valores randômicos. O algoritmo balanced k-means pode ser descrito pelo Algoritmo 4. Algoritmo 4 Balanced k-means 1: inicializar os centroides aleatoriamente 2: t ← 0 3: repetir 4: Passo alocação: 5: Calcular W (a, i) ∀a ∈ [1, n] ∀i ∈ [1, n] 6: Resolver o problema de alocação de acordo com W 7: Passo atualização: 8: Calcular centroides y t+1 9: t ← t +1 10: até que centroides não mudem. 2.5. Problemas de Otimização Combinatória. A classe de problemas de otimização combinatória está presente em várias aplicações. Uma dessas aplicações é o agrupamento balanceado de dados uma vez que estamos interessados em analisar qual combinação de pontos reunidos em clusters gera a solução de menor custo. A otimização combinatória é usada quando precisa-se tomar decisões no espaço discreto através da busca de uma solução ótima dentre de um conjunto finito ou contavelmente infinito de alternativas. A otimalidade está associada a um critério de custo que prove uma medida quantitativa da qualidade de cada solução. Muitos desses problemas são classificados como NP-árduos[Garey & Johnson 1979] não sendo conhecido algoritmo capaz de encontrar a solução exata em tempo polinomial, consequentemente, existe muito interesse em meios de se encontrar boas soluções para esses problemas de modo aproximado [Lenstra 1997]. Um problema de otimização combinatória é especificado por um conjunto de instâncias de um problema. Essas instâncias são definidas como um par (X, f ) sendo X o conjunto das soluções viáveis existentes; f a função de custo que mapeia f : X → R. O seu objetivo é encontrar o ótimo global X ∗ ∈ X de modo que f (X ∗ ) ≤ f (i)∀i ∈ X sendo f ∗ = f (X ∗ ) o custo ótimo global, X∗ = {X ∈ X| f (X) = f ∗ } o conjunto das soluções globalmente ótimas e X o conjunto das variáveis de decisão que compõem uma solução..

(26) CAPÍTULO 2. REVISÃO DA LITERATURA. 15. Segundo Lenstra (1997) a vizinhança de uma solução pode ser definida da seguinte maneira. Seja (X, f ) uma instância de um problema de otimização combinatória. Uma vizinhança N é uma função que define para cada solução X ∈ X um conjunto N(X) ⊆ X de soluções ditas próximas a X. O conjunto N(X) é denominado vizinhança de X e cada solução pertencente a N(X) é chamado de vizinho de X. A vizinhança de uma solução depende do problema que está sendo abordado e nenhuma regra geral pode ser adotada. Além disso, até para um mesmo problema várias vizinhanças podem ser aplicadas e encontrar uma que eficientemente leve um algoritmo a uma bom ótimo local é um dos desafios da matemática discreta. Um ótimo local pode � ≤ f (X)∀X ∈ N(X). � ser definido como uma solução X� ∈ X de uma vizinhança N se f (X). 2.6. Algoritmos de Busca Local. Métodos de busca local são muito usados para resolver problemas de otimização combinatória NP-difíceis (§ver 2.5) através de uma abordagem genérica. O objetivo desses métodos é encontrar uma solução ótima uma vez que ela apresenta o menor valor considerando um problema de minimização de custos. Para usar esses métodos deve-se escolher qual estrutura de vizinhança e de solução serão usadas. No geral, um método de busca local começa a sua busca a partir de uma solução inicial X criada por um outro algoritmo ou gerada randomicamente. A partir de X, ele busca nos seus vizinhos N(X) uma solução melhor X � . Uma vez encontrada, a busca continua agora � na vizinhança de N(X � ) e assim por diante até que seja encontrado X � = X. Essa metodologia tem sido aplicada com sucesso em muitos problemas e muitas estratégias de busca podem ser usadas. Por exemplo: a estratégia melhor aprimorante, do inglês best improvement, sempre busca a melhor solução da vizinhança investigada; e a estratégia primeiro aprimorante, do inglês first improvement, busca a primeira solução da vizinhança investigada que melhore o valor da função objetivo. Os Algoritmos 5 e 6 descrevem de modo geral o funcionamento das estratégias melhor e primeiro aprimorante respectivamente. Sendo argmin( f (X � )) a função que retorna a solução X � que minimiza o valor da função objetivo f (); uma vizinhança N(X) igual ao conjunto de soluções {X1 , X2 , ..., X|N(X)| }; e |N(X)| o número de soluções contidas na vizinhança N(X)..

(27) CAPÍTULO 2. REVISÃO DA LITERATURA. 16. Algoritmo 5 Algoritmo da Busca Local com a estratégia melhor aprimorante. 1: função Melhor(X) � faça 2: enquanto X �= X 3: i←1 4: X� ← X 5: para i ≤ |N(X)| faça 6: se f (Xi ) < f (X � )) então 7: X � ← Xi 8: fim se 9: fim para 10: X ← X� 11: fim enquanto 12: fim função. Algoritmo 6 Algoritmo da Busca Local com a estratégia primeiro aprimorante. 1: função Primeiro(X) � faça 2: enquanto X �= X 3: i←1 4: enquanto f (Xi ) ≥ f (X) ou i < |N(X)| faça 5: i ← i+1 6: fim enquanto 7: X ← Xi 8: fim enquanto 9: fim função. 2.7. Variable Neighborhood Search - VNS. Metaheurística é um algoritmo criado para resolver de forma aproximada problemas de otimização de forma genérica, ou seja, sem se adaptar para um problema específico. Ela pode ser vista como um algoritmo heurístico de alto nível [Boussaïd et al. 2013]. A principal ideia da metaheurística Variable Neighborhood Search [Mladenovi´c & Hansen 1997] é explorar diferentes vizinhanças sucessivas de forma que seja mais difícil para o método ficar preso a um ótimo local. Quando usamos métodos de busca local em problemas de otimização combinatória, ela é capaz de melhorar uma solução inicial a cada iteração até que um ótimo local seja atingido. A grande contribuição da metaheurística VNS foi criar um procedimento simples e sistêmico de busca em vizinhanças variáveis para contornar o problema da busca local atingir um ótimo local de qualidade ruim. A metaheurística VNS não segue uma trajetória específica, mas explora vizinhanças gradualmente distantes da melhor solução encontrada até o momento. Dessa maneira características favoráveis da solução atual tendem a ser mantidas e usadas para se obter novas vizinhanças promissoras. Esse procedimento é o que permite encontrar novos.

(28) CAPÍTULO 2. REVISÃO DA LITERATURA. 17. ótimos locais de qualidade superior mais facilmente. Esta metaheurística tem o seguinte funcionamento. Primeiramente, o conjunto de vizinhanças a serem utilizadas Nk deve ser definido, uma solução inicial deve ser gerada e o algoritmo inicializado. Em seguida, deve-se perturbar a solução atual de acordo com o parâmetro k que determina qual vizinhança de Nk será usada. Logo após, devemos realizar a busca local para melhorar a solução originada a partir da pertubação. Se a busca local melhorar a solução então ela deve ser atualizada e o parâmetro k reiniciado, caso contrário, k deve ser atualizado. Esses procedimentos são repetidos até que k atinja o valor de um máximo kmax . Após isso, se o critério de parada não for atingido, então, k é reiniciado e esse procedimento começa a partir da etapa de pertubação da solução atual.. Figura 2.1: Ilustração da estratégia VNS [Hansen & Mladenovi´c 2009]. A Figura 2.1 ilustra o funcionamento da metaheurística VNS. Após as vizinhanças e a condição de parada serem definidas, a solução inicial x é criada. A pertubação com a primeira vizinhança N1 é feita em x e uma nova solução x� é selecionada dentro do espaço pertencente a N1 . Em seguida, a busca local é feita a partir de x� e uma nova solução x�� é obtida. Uma vez que x�� é melhor que x, a metaheuristica atualiza x, ou seja, x�� é atribuída a x. Com um novo melhor ótimo local combinatório x, o algoritmo aplica a pertubação de acordo com Nk e consecutivamente a busca local é feita afim de encontrar uma nova melhor solução. Verificamos nesse exemplo que esses dois passos, pertubação mais busca local, são realizados três vezes e três vizinhanças - N1 , N2 e N3 - são usadas até que uma nova melhor solução seja encontrada. Com um novo x, a metaheurística volta a usar a vizinhança N1 na pertubação. O algoritmo segue o seu funcionamento até que a condição.

(29) CAPÍTULO 2. REVISÃO DA LITERATURA. 18. de parada seja alcançada. O Algoritmo 7 descreve o funcionamento da metaheurística VNS. Algoritmo 7 Metaheurística Variable Neighborhood Search 1: Selecionar o conjunto de vizinhanças a serem usadas Nk com k = 1, ..., kmax 2: x ← soluçãoInicial() 3: repetir 4: k←1 5: repetir 6: x� ← pertubarSolução(Nk , x) 7: x�� ← buscaLocal(x� ) 8: se x�� < x então 9: x ← x�� 10: k←1 11: senão 12: k ← k+1 13: fim se 14: até que k > kmax 15: até que critério de parada. 2.8. Metodologia Less is more approach - LIMA. A metodologia "Menos é mais", do inglês Less is more approach (LIMA), foi recentemente proposta por Mladenovic et al. (2016) e vai de encontro com a crescente tendência na literatura de metaheurísticas híbridas. Estes algoritmos híbridos combinam várias estratégias e paradigmas metaheurísticos em um único método para resolver um problema específico. Ao combinar vários paradigmas de metaheurísticas diferentes em um único método, pode-se perder o controle do quê está atuando melhor ao procurar uma solução e desperdiçar tempo de processamento em estratégias não eficientes. A metodologia LIMA se concentra em usar o menor conjunto possível de estratégias e metaheurísticas simples para obter a melhor solução. Ao prezar pela simplicidade, esta metodologia também ganha em facilidade de implementação. Isso pode ser verificado para o problema da mínima dispersão diferencial, do inglês Minimum differential dispertion problem,[Mladenovic et al. 2016] onde uma heurística baseada na metaheurística VNS, usando tanto na pertubação quanto na busca local trocas de elementos, superou o antigo estado da arte[Duarte et al. 2015] que combinava as metaheurísticas GRASP, VNS e Exterior path relinking..

(30) Capítulo 3 Método de Pesquisa Os novos métodos heurísticos propostos neste trabalho adaptam a metaheurística VNS (ver §2.7) seguindo a metodologia LIMA (ver §2.8) para resolver instâncias de agrupamento balanceado de dados. Tendo o Algoritmo 7 como base, o seguintes procedimentos são propostos.. 3.1. Formulação Matemática. O modelo matemático base do agrupamento balanceado de dados para este trabalho foi exposto na seção 2.3 e é exibido abaixo:. Min:. n. K. ∑ ∑ xi j �pi − y j �2. (3.1). i=1 j=1. Sujeito a: K. ∑ xi j = 1. ∀ i = 1, 2, ..., n. (3.2). ∑ xi j = K. ∀ j = 1, 2, ..., K. (3.3). i=1. xi j ∈ {0, 1}. ∀ i = 1, 2, ..., n, ∀ j = 1, 2, ..., K. (3.4). j=1 n. n. Do teorema de Huygens [Edwards & Cavalli-Sforza 1965] podemos definir matematicamente o agrupamento balanceado de dados através de um problema não-linear inteiro. O teorema de Huygens prova que a soma das distâncias quadráticas de todos os pontos de um dado cluster para o seu centroide é igual a soma das distâncias quadráticas entre os pares de pontos desse cluster dividido pela sua cardinalidade:.

(31) CAPÍTULO 3. MÉTODO DE PESQUISA. n−1 n. ∑ xi j �pi − y j �2 =. n. ∑ ∑. i=1 l=i+1. i=1. 20. �pi − pl �2 xi j xl j n. ∑ xi j. ∀ j = 1, ..., K.. (3.5). i=1. Definimos C como o conjunto dos índices dos n mod K clusters com �n/K� pontos e F como o conjunto dos índices dos K − (n mod K) clusters com �n/K�. Dessa forma, temos o seguinte problema equivalente:. Min:. n−1 n n−1 n 1 1 · ∑ ∑ ∑ �pi − pl �2 xi j xl j + · ∑ ∑ ∑ �pi − pl �2 xi j xl j �n/K� j∈C i=1 l=i+1 �n/K� j∈F i=1 l=i+1. (3.6). Sujeito a: K. ∑ xi j = 1. j=1 n. ∀ i = 1, 2, ..., n. (3.7). ∑ xi j = �n/K�. ∀ j ∈C. (3.8). ∑ xi j = �n/K�. ∀ j∈F. (3.9). i=1 n i=1. xi j ∈ {0, 1}. ∀ i = 1, 2, ..., n, ∀ j = 1, 2, ..., K. (3.10). A equação (3.6) realiza o calculo da função objetivo respeitando o teorema de Huygens. A garantia de que todo ponto estará em um único cluster é assegurada pelas equações (3.7). As expressões (3.8) e (3.9) restringem os tamanhos dos clusters a serem iguais a �n/K� e �n/K� respectivamente. Finalmente, (3.10) definem as variáveis de decisão como binárias.. 3.2. Solução Inicial. O procedimento adotado para gerar uma solução inicial foi o aleatório. Cada um dos pontos do conjunto de dados é selecionado Aleatóriamente através de uma distribuição uniforme e alocada em um cluster. No entanto, tomamos precauções para que os tamanhos dos clusters não violem as restrições que limitam estes números..

(32) CAPÍTULO 3. MÉTODO DE PESQUISA. 21. Sempre escolhemos o cluster inicial de um ponto de acordo com o a expressão i mod K, sendo i o contador do número de pontos já inseridos e K o número de clusters. Dessa forma, os clusters selecionado são preenchidos de modo alternado. Por exemplo, se temos 3 clusters, então, eles serão preenchidos na ordem: cluster 1 - cluster 2 - cluster - 3 - cluster 1 - cluster 2 e assim por diante até que todos os pontos sejam alocados. Esse procedimento pode ser verificado na Figura 3.1 em que pontos escolhidos aleatoriamente são vinculados a um cluster por vez. Primeiramente, um ponto é designado ao cluster vermelho. Feito isso, outro ponto, selecionado randomicamente, é atribuído ao cluster verde. Da mesma forma, outro ponto é designado ao grupo azul. Finalmente, volta-se a alocar um ponto ao cluster vermelho e assim se segue até que todos os pontos sejam designados a um cluster.. Figura 3.1: Criação de uma solução inicial..

(33) CAPÍTULO 3. MÉTODO DE PESQUISA. 3.3. 22. Vizinhança de Troca de Pares de Pontos. Como visto na Seção 2.5 definir uma vizinhança é fundamental para as técnicas usadas nos métodos propostos. A vizinhança de troca de pares de pontos Ni pode ser definida como todas as soluções que podemos encontrar a partir de uma solução X através da troca entre si dos clusters de i pares de pontos.. Figura 3.2: Exemplo de vizinhos de uma solução na vizinhança de troca de um par de pontos. Na Figura 3.2 podemos verificar exemplos de vizinhos encontrados a partir de uma solução X usando a vizinhança de troca de um par de pontos N1 (X). Os clusters podem ser diferenciados por cor (vermelho e verde) e forma (círculos e losangos).. 3.4. Pertubação. A pertubação na solução atual é feita através da troca de pares de pontos escolhidos aleatoriamente de forma uniforme e depende da vizinhança ativa no momento. Esta é regida pela variável k que indica à heurística qual vizinhança deve ser usada e é limitada pelo parâmetro kmax . Dessa forma o número de vizinhanças disponíveis depende do parâmetro kmax uma vez que k ∈ [2, kmax ]. Consideramos esse intervalo, pois se k = 1 trocaríamos somente um par de pontos, logo, a busca local poderia vir a somente desfazer a alteração feita pela perturbação não contribuindo na busca de novas boas soluções. Como prega a simplicidade da metodologia LIMA, uma vizinhança só difere de outra.

(34) CAPÍTULO 3. MÉTODO DE PESQUISA. 23. quanto ao número de trocas de pares de pontos feitas. Quanto maior a ordem de uma vizinhança, ou seja, quanto maior o valor de k mais trocas ela faz. Por exemplo, para k = 2 devemos realizar duas trocas de pares, para k = 3, três trocas e assim por diante. A Figura 3.3 exemplifica o funcionamento do procedimento de pertubação da solução. Partindo de uma solução, pares de pontos de clusters diferentes são selecionados aleatoriamente, representados pelos losangos vazados, para terem os seus clusters trocados entre si, procedimento identificado pelos losangos preenchidos. Nessa figura, a pertubação é executada seguindo a segunda vizinhança (k = 2), logo, dois pares de pontos tem os seus clusters trocados entre si.. Figura 3.3: Procedimento de pertubação através da troca de pares de pontos.. 3.5. Busca local. A busca local segue a ideia simples de procurar por pares de pontos de clusters diferentes em que a troca de clusters entre elas resulte em melhoria na função objetivo, isto é, que o movimento seja aprimorante. Duas estratégias foram empregadas nesse procedimento: melhor aprimorante; e primeiro aprimorante. Na estratégia melhor aprimorante, todas as possibilidades de trocas entre pares de pontos são verificadas e o melhor movimento aprimorante é feito. Na estratégia primeiro aprimorante, o primeiro movimento.

(35) CAPÍTULO 3. MÉTODO DE PESQUISA. 24. aprimorante encontrado é realizado. Independente da estratégia em vigor, após uma troca ser feita a busca local é reiniciada partindo dessa nova solução. A busca local só é concluída quando não existe mais nenhuma troca entre um par de pontos que aperfeiçoe a função objetivo, em outras palavras, que um ótimo local tenha sido alcançado. Para o problema de agrupamento de dados pelo critério da soma mínima das distâncias quadráticas, a atualização dos centroides e do valor de uma solução, após a alteração do cluster de um ponto, pode ser feita usando formulas matemáticas [Späth 1980]. Considerando que o ponto pi pertence ao cluster � e será designada ao cluster m, as Equações (3.11), (3.12) e (3.13) podem ser usadas para definir a mudança no valor da função objetivo vi,�m e corrigir as coordenadas dos centroides y� e ym respectivamente. Note que S representa a cardinalidade de um cluster. Por exemplo, S� é a quantidade de pontos do cluster �. vi,�m =. Sm S� ||pi − y� ||2 ||pi − y j ||2 − Sm + 1 S� + 1. (3.11). y� =. S� y� − pi S� − 1. (3.12). ym =. S� y� + pi S� + 1. (3.13). Essas fórmulas podem ser aplicadas ao problema de agrupamento balanceado de dados se esse procedimento for realizado duas vezes. Se trocarmos os clusters de um par de pontos pi e p j entre si, esses cálculos devem ser feitos para os dois pontos e tem complexidade O(d) sendo d a dimensão dos pontos e dos centroides. No entanto, já temos a solução atualizada e nenhuma outra alteração necessita ser executada. Na busca local, toda vez que se é necessário conferir se um movimento é aprimorante precisa-se de O(d) operações, logo, esse procedimento pode se tornar desvantajoso já que é computacionalmente custoso. Por exemplo, ao usar a estratégia melhor aprimorante temos a ordem de O(n2 ) operações para verificar todos de pares de pontos, então, esse método terá complexidade O(n2 d). Uma vez que transformamos a formulação matemática do problema alvo usando o teorema de Huygens (ver seção § 3.1) e calculamos previamente as distâncias euclidianas quadrádicas entre todos os pontos pi ∈ P e p j ∈ P, podemos acelerar a busca local aplicando uma estrutura de dados, β, já utilizada por Fiduccia & Mattheyses (1982). Com esta estrutura, somos capazes de identificar um movimento aprimorante com complexi-.

(36) CAPÍTULO 3. MÉTODO DE PESQUISA. 25. dade O(1) ao invés de O(d). Considerando a solução representada por X t = (a1 , a2 , ..., an ) em que ai indica o cluster no qual o ponto pi está designado, β será uma matriz n × K. Um elemento bi j ∈ β será a soma das distâncias quadráticas entre o ponto pi e todos os pontos pertencentes ao cluster j:. bi j =. ∑. �:a� = j. �pi − p� �2. (3.14). Essa matriz β necessita de O(n2 ) operações para ser construída. No entanto, isso só precisa ser feito uma única vez durante a execução da heurística, pois é possível atualizála em cada alteração da solução com complexidade O(n) conforme veremos a seguir. Dado um par de pontos pi e p j com os seus clusters identificados respectivamente em ai e a j , a variação na função objetivo com as atribuições de pi ao cluster a j e de p j ao cluster ai pode ser calculada pela expressão: Δi j =. �. bia j biai − Sa j Sai. �. �. b jai b ja j + − Sai Sa j. �. −. �pi − p j �2 �pi − p j �2 − Sai Sa j. (3.15). Se pi é removido do cluster ai então as distâncias quadráticas entre pi e todas os outros pontos pertencentes ao cluster ai devem ser removidas, ou seja, subtrair biai da função objetivo, e as distâncias quadráticas entre pi e todos os pontos de a j devem ser adicionadas, em outras palavras, adicionar à função objetivo bia j . Similarmente, o mesmo deve ser feito para p j . As adições de bia j e b jai na função objetivo fazem com que a distância quadrática entre pi e p j seja adicionada duas vezes, contudo, pi e p j não estão no mesmo cluster, logo, deve ser subtraído duas vezes da função objetivo esta distância. As divisões pelas cardinalidades dos clusters são feitas com o intuito de respeitar o teorema de Huygens. Toda vez que alteramos a configuração dos clusters através de uma troca, devemos atualizar alguns elementos da matriz β referentes a esses clusters. Com esse objetivo, dado m = 1, ..., n e assumindo que ai e a j possuem os valores anteriores a troca entre si de clusters entre os pontos pi e p j basta adicionar a distância euclidiana quadrática entre pm e p j e subtrair aquela entre pm e pi nas colunas bmai e adicionar a distância euclidiana quadrática entre pm e pi e subtrair a entre pm e p j nas colunas bma j . Isso é expresso pelas Equações (3.16) e (3.17)..

(37) CAPÍTULO 3. MÉTODO DE PESQUISA. 26. bmai ← bmai + �pm − p j �2 − �pm − pi �2 2. ∀ m = 1, ..., n. 2. bma j ← bma j + �pm − pi � − �pm − p j �. ∀ m = 1, ..., n. (3.16) (3.17). O Algoritmo 8 resume como funciona a busca local usando a política do melhor aprimorante e a estrutura β. A tabela 3.1 lista a nomenclatura usada pelos Algoritmos 8 e 9. Tabela 3.1: Nomenclatura usada nos Algoritmos 8 e 9. Termo. Significado. X X� ai Δi j δ ι ϕ. solução. ótimo local. indica o cluster em que i está designado. variação no valor da função objetivo causada pela troca de clusters do par i e j. valor do menor Δi j . valor i para se obter δ. valor j para se obter δ.. Algoritmo 8 Algoritmo da Busca Local com a estratégia melhor aprimorante. 1: função BLMelhor(X,β) � faça 2: enquanto X �= X 3: δ←0 4: para i ← 1 to n − 1 faça 5: para j ← i + 1 to n faça 6: se ai �= a � j então � � � bia j b ja j biai b jai �p −p �2 �p −p �2 7: Δi j ← Sa − Sa + Sa − Sa − i Sa j − i Sa j j. 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:. se Δi j < δ então δ ← Δi j ι←i ϕ← j fim se fim se fim para fim para trocar(X, β, ι, ϕ) fim enquanto fim função. i. i. j. i. j. O Algoritmo 9 descreve o funcionamento da busca local com a estratégia primeiro aprimorante e utilizando a estrutura β..

(38) CAPÍTULO 3. MÉTODO DE PESQUISA. 27. Algoritmo 9 Algoritmo da Busca Local com a estratégia primeiro aprimorante. 1: função BLPrimeiro(X,β) � faça 2: enquanto X �= X 3: para i ← 1 to n − 1 faça 4: para j ← i + 1 to n faça 5: se ai �= a � j então � � � bia j b ja j biai b jai �p −p �2 �p −p �2 6: Δi j ← Sa − Sa + Sa − Sa − i Sa j − i Sa j j. 7: 8: 9: 10: 11: 12: 13: 14:. i. i. j. se Δi j < 0 então trocar(X, β, i, j) e ir para linha 2 fim se fim se fim para fim para fim enquanto fim função. i. j.

(39) Capítulo 4 Resultados 4.1. Experimentos Computacionais. Foram escolhidas um total de 16 instâncias para compor o nosso benchmark. Todas elas foram retiradas do endereço http://archive.ics.uci.edu/ml/datasets.html. A Tabela 4.1 lista essas instâncias assim como as suas características. Tabela 4.1: Instâncias usadas no experimentos computacionais. Instância Elementos Iris 150 Wine 178 Glass 214 Thyroid 215 Ionosphere 351 Libra 360 User Knowledge 403 Body Measurements 507 Water treatment plant 527 Breast Cancer 569 Synthetic Control 600 Vehicle 846 Vowel Recognition 990 Yeast 1484 Multiple Features 2000 Image Segmentation 2310. Atributos clusters 4 3 13 3 10 7 5 3 34 2 90 15 5 4 5 2 38 13 30 2 60 6 18 6 10 11 8 10 1 240 7 19 7. As colunas da Tabela 4.1 fornecem as seguintes informações: • coluna "Instância": o nome da instância; • coluna "Elementos": o número de pontos da instância; 1 Apenas. o item 4.mfeat-pix..

(40) CAPÍTULO 4. RESULTADOS. 29. • coluna "Atributos": número de atributos (i.e. dimensão) de um ponto; e • coluna "clusters": número de clusters em que a instância deve ser agrupada. Todos os experimentos foram realizados na plataforma descrita na Tabela 4.2 e sempre usaram as mesmas soluções iniciais. Tabela 4.2: Plataforma utilizada nos experimentos. Arquitetura: 64 bits Processador: Intel i7 2.5Ghz x4 Memória RAM: 16 Gb Sistema Operacional Linux Mint 17.1 Cinnamon. 4.2. Melhor Aprimorante vs Primeiro Aprimorante. Com o intuito de determinar qual política de verificação dos pares de pontos gera os melhores resultados, experimentos usando as instâncias Glass, User Knowledge, Yeast e Multiple Features foram feitos. Para kmax = 20 e utilizado como critério de parada o tempo indicado em parenteses, obtemos os dados apresentados na Tabela 4.3. A Tabela 4.3 exibe os valores do desvio percentual entre uma solução e a melhor solução conhecida dentre os algoritmos da tabela para uma dada instância. Sendo fm o valor da melhor solução e fx o valor de uma outra solução, o desvio é calculado de acordo com a seguinte expressão. Desvio =. fx − fm · 100 fm. (4.1). As informações contidas na tabela 4.3 são: • coluna "Instância": o nome da instância com o tempo máximo de execução em parênteses; • coluna "Melhor encontrado": valor da função objetivo da melhor solução encontrada pelos algoritmos da tabela; • coluna "Melhor": valor do desvio percentual da melhor solução de um dado algoritmo em 10 execuções; • coluna "Média": valor médio do desvio percentual de um dado algoritmo em 10 execuções; e • coluna "Tempo de CPU": tempo de CPU médio gasto por um dado algoritmo..

(41) CAPÍTULO 4. RESULTADOS. 30. Tabela 4.3: Desvio percentual da melhor solução encontrada quando as estratégias melhor aprimorante e primeiro aprimorante são usadas. Instância N ome( C ondição. Desvio(%) de parada) Melhor encontrado. Glass(20s) User Knowledge(30s) Yeast(420s) Multiple Features(1800s). Tempo de CPU. M elhor A prim. P rimeiro A prim. M elhor M édia M elhor. M édia. 0.00 0.00 0.00 0.00. 1.22 0.37 0.21 0.08. 5.047503e+02 7.021806e+01 5.323385e+01 1.949141e+06. 0.74 0.00 0.21 0.05. 1.40 0.81 0.76 0.51. M elhor A prim. P rimeiro A prim.. 0.55 5.63 267.71 1283.78. 4.22 16.95 388.63 1759.56. Ao analisar a Tabela 4.3, observa-se que a estratégia primeiro aprimorante atingiu os melhores resultados em relação à estratégia melhor aprimorante em todas as instâncias que fazem parte do experimento. A estratégia primeiro aprimorante obteve os melhores resultados tanto na melhor solução encontrada quanto no valor médio das soluções, além de ser mais rápida para encontrar boas soluções. Esses resultados corroboram o trabalho de Hansen & Mladenovi´c (2006) para o problema de agrupamento balanceado de dados. Hansen & Mladenovi´c (2006) mostraram que para o problema do caixeiro viajante, do inglês Travel salesman problem, a estratégia primeiro aprimorante obtêm melhores resultados do quê a melhor aprimorante partindo de uma solução inicial aleatória.. 4.3. Influência de kmax. O valor ideal de kmax foi determinado executando o método VNS proposto utilizando as instâncias: Glass; Libra; User knowledge; Water treatment plant; Vowel Recognition; Yeast; Multiple Features; e Image Segmentation. Na busca local foi usada a estratégia primeiro aprimorante e as condições de parada para cada conjunto de dados foram os tempos máximo indicados em parênteses. Além disso, os valores do desvio percentual exidos na Tabela 4.4 seguem a Equação 4.1. Tabela 4.4: Desvio percentual da melhor solução encontrada quando kmax = 5; 10; 15; 20; 25. Instância. Desvio(%) kmax = 5 kmax = 10 kmax = 15 kmax = 20 kmax = 25 N ome( C ondição de parada) M elhor encontrado M elhor M édia M elhor M édia M elhor M édia M elhor M édia M elhor M édia. Glass(30s) Libra(30s) User Knowledge(30s) Water Treatment Plant(30s) Vowel Recognition(180s) Yeast(420s) Multiple Features(1800s) Image Segmentation(1500s). 5.047503e+02 6.384554e+07 7.020935e+01 7.746106e+09 1.965948e+03 5.323385e+01 1.949141e+06 2.107784e+07 Média. 0.00 0.01 0.02 0.00 0.13 0.02 0.00 0.00 0.02. 1.22 0.25 0.65 1.30 0.52 0.44 0.06 1.02 0.68. 0.00 0.01 0.02 0.00 0.00 0.05 0.00 0.00 0.01. 1.22 0.25 0.55 1.28 0.41 0.27 0.08 0.97 0.63. 0.00 0.00 0.01 0.00 0.10 0.03 0.00 0.00 0.02. 1.21 0.21 0.35 1.28 0.43 0.24 0.09 1.02 0.60. 0.00 0.12 0.02 0.00 0.16 0.00 0.00 0.00 0.04. 1.22 0.21 0.38 1.28 0.44 0.21 0.08 1.01 0.60. 0.00 0.08 0.00 0.00 0.00 0.03 0.00 0.00 0.01. 1.21 0.21 0.35 1.28 0.42 0.23 0.08 1.00 0.60.

(42) CAPÍTULO 4. RESULTADOS. 31. Os dados da Tabela 4.4 não indicam grandes diferenças nos resultados quando kmax assume os valores 15, 20 e 25. Ao analisar de forma mais criteriosa, pode-se concluir que o melhor desempenho foi alcançado quando kmax = 25, pois obteve melhores resultados nos quesitos melhor solução e média das soluções. Pode-se observar que esse valor de kmax só não gerou a melhor solução para as instâncias Libra e Yeast, entretanto, essas soluções só estão 0.08% e 0.03% distantes da melhor respectivamente. Quanto ao desvio percentual das médias das soluções, essa configuração obteve os melhores resultados para 4 das 8 instâncias. Para estas instâncias Vowel Recognition, Yeast, Multiple Features e Image Segmentation, os seus desvios não são mais distantes do quê 0.02% da melhor média dentre todos os valores usados de kmax .. 4.4. Comparação com o Estado da Arte. O código do Balanced k-means de Malinen & Franti (2014) encontra-se em http: //www2.uef.fi/en/sipu/data-and-software. Além disso, as instâncias listadas na Tabela 4.1 foram as usadas nos experimentos computacionais de comparação com o estado da arte. Com base nas Seções 4.2 e 4.3, o método proposto, VNS LIMA, faz uso da pertubação por troca de k pares de pontos com kmax = 25 e da busca local através da troca de pares de pontos usando a estratégia primeiro aprimorante. Nos experimentos computacionais de comparação com o estado da arte, foi usado como critério de parada do VNS LIMA o mesmo tempo de CPU gasto pelo Balanced kmeans em cada uma das 10 execuções de cada instância. Além disso, os dois algoritmos partiram das mesmas 10 soluções iniciais para cada instância do benchmark. Ao confrontar a heurística proposta frente ao estado da arte (Tabela 4.5), os valores dos desvios percentuais, que seguem a equação 4.1, evidenciam que o VNS LIMA detêm os melhores resultados nos quesitos melhor solução e média das melhores soluções em praticamente todas as instâncias. O Balanced k-means só atinge valores superiores em dois casos: na melhor solução de Vowel recognition; e na média das melhores soluções de Water treatment plant. Em ambos, eles não se distanciam mais do que 0, 2% dos resultados do método proposto. A rapidez com que os métodos heurísticos encontram boas soluções pode ser verificada pelos gráficos de tempo até um valor alvo, do inglês time-to-target plots[Aiex et al. 2007]. O valor alvo é determinado ao executar 200 vezes cada um dos métodos Balanced k-means e VNS LIMA para então selecionar o valor da pior de todas as soluções. Uma vez determinado o valor alvo, coletamos o tempo ti necessário para que cada.

Referências

Documentos relacionados

Para al´ em disso, quando se analisa a rentabilidade l´ıquida acumulada, ´ e preciso consid- erar adicionalmente o efeito das falˆ encias. Ou seja, quando o banco concede cr´ editos

Assim sendo, o espaço da estrada é determinante como facilitador de um exercício de uma sexualidade mais plena, aberta e satisfatória, pelo menos para Thelma, e ao

Não podendo mais descançar no poder central, o povo mineiro fez mais do que qualquer outro Estado irmão, e para demonstral-o ahi estão : a Faculdade de Direito, a Academ ia

O exemplo da exploração de quartzito em Pirenópolis possibilita o entendimento dos processos da atividade de mineração bem como o diagnóstico e prognóstico dos impactos inerentes

Sylvia L. F. Reis 1 , Arlene M. S. Freitas 2 * , Geraldo D. de Paula 3  Marcílio S. R.  Freitas 4    

Além da multiplicidade genotípica de Campylobacter spp., outro fator que pode desencadear resistência à desinfecção é a ineficiência dos processos de limpeza em si,

O abate ocorreu quando os animais atingiram peso médio de 325 kg (±20), entre 28 e 30 meses de idade, sendo avaliados os parâme- tros comprimento de carcaça fria, peso dos