• Nenhum resultado encontrado

Novas estratégias para conserto de soluções degeneradas no algoritmo k-means

N/A
N/A
Protected

Academic year: 2021

Share "Novas estratégias para conserto de soluções degeneradas no algoritmo k-means"

Copied!
63
0
0

Texto

(1)UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E COMPUTAÇÃO. Novas estratégias para conserto de soluções degeneradas no algoritmo k-means. Nielsen Castelo Damasceno. Orientador: Prof. Dr. Daniel Aloise. Número de ordem do PPgEEC: D183 Natal – RN, outubro de 2016..

(2) Universidade Federal do Rio Grande do Norte - UFRN Sistema de Bibliotecas - SISBI Catalogação de Publicação na Fonte. UFRN - Biblioteca Central Zila Mamede Damasceno, Nielsen Castelo. Novas estratégias para conserto de soluções degeneradas no algoritmo k-means / Nielsen Castelo Damasceno. - 2016. 64 f.: il. Universidade Federal do Rio Grande do Norte, Centro de Tecnologia, Programa de Pós-Graduação em Engenharia Elétrica e Computação. Natal, RN, 2016. Orientador: Prof. Dr. Daniel Aloise.. 1. Algoritmos - Tese. 2. Heuristica - Linguagem de programação - Tese. 3. Rede de computadores - Tese. 4. Agrupamento - Tese. 5. K-means - Tese. I. Aloise, Daniel. II. Título. RN/UF/BCZM. CDU 004.421.

(3) Novas estratégias para conserto de soluções degeneradas no algoritmo k-means. Nielsen Castelo Damasceno. Tese de Doutorado aprovada em 05 de outubro de 2016 pela banca examinadora formada pelos seguintes membros:. Natal – RN, outubro de 2016..

(4) Agradecimentos Primeiramente, agradecer a Deus por ter me dado sabedoria e amparo para chegar aonde estou. Ao meu orientador, Professor Dr. Daniel Aloise, por fazer do aprendizado um bom trabalho. Obrigado pelos puxões de orelha (“no bom sentido”), pois sem eles não poderia chegar até aqui. E principalmente pela paciência multiplicada por setenta vezes sete na doação sem limite e sem restrições. Muito obrigado! Ao professor Nenad Mladenovi , pela sua valiosa contribuição em nossa pesquisa. Ao admirável Professor Dr. Allan de Medeiros Martins. E aos colegas Daniel Pinheiro e Tales Wilson pelo suporte nos algoritmos. Aos meus pais, pelo amor incondicional, permitindo-me chegar bem mais longe do que um dia acreditei. Aos meus irmãos, familiares e à família Dantas pelo apoio moral e espiritual. Muito Obrigado! E, finalmente, um agradecimento especial à minha esposa, visto que desde o primeiro instante me apoiou e caminhou ao meu lado, com sua paciência ao ouvir explicar os detalhes da pesquisa e por permitir compartilhar meu entusiasmo por aquilo que faço..

(5) Resumo O k-means é um algoritmo benchmark bastante utilizado na análise de cluster. Ele pertence a grande categoria de heurísticas com base em etapas de localização-alocação que, alternadamente, localiza centros de cluster e atribui registros de dados até que nenhuma melhoria seja possível. Tais heurísticas são conhecidas por sofrer um fenômeno chamado de degeneração, na qual alguns dos clusters estão vazios e, portanto, em desuso. Nesta tese são propostas várias comparações e uma série de estratégias para consertar soluções degeneradas durante a execução do algoritmo k-means. Os experimentos computacionais demonstram que essas estratégias são eficientemente levadas a melhores soluções na clusterização, na grande maioria dos casos, em que a degeneração aparece no algoritmo k- means. Palavras-chave: k-means, minimização da soma dos quadrados, Degeneração, Agrupamentos, Heuristicas..

(6) Abstract The k-means is a benchmark algorithm used in cluster analysis. It belongs to the large category of heuristics based on location-allocation steps that alternately locate cluster centers and allocate data points to them until no further improvement is possible. Such heuristics are known to su er from a phenomenon called degeneracy in which some of the clusters are empty, and hence, out of use. In this thesis, we compare and propose a series of strategies to circumvent degenerate solutions during a k-means execution. Our computational experiments demonstrate that these strategies are e cient leading to better clustering solutions in the vast majority of the cases in which degeneracy appears in k-means. Keywords: k-means, Minimum Sum-of-Squares, Degeneracy, Clustering, Heuristics..

(7) Sumário. Sumário ........................................................................................................ 7 Lista de Figuras ............................................................................................ 9 Lista de Tabelas ........................................................................................... 10 Lista de Abreviaturas.................................................................................... 11 Lista de Símbolos ......................................................................................... 12 Lista de Algoritmos ....................................................................................... 13 Capítulo 1 – Introdução ................................................................................ 14 1.1. Objetivos ......................................................................................... 22. 1.2. Organização do trabalho ................................................................. 22. Capítulo 2 – Revisão da Literatura ............................................................... 23 2.1. Definições básicas........................................................................... 23. 2.2. Algoritmos Hierárquicos de agrupamento ....................................... 24. 2.2.1 Ligação Simples .............................................................................. 26 2.2.2 Ligação Completa............................................................................ 27 2.2.3 Ligação Média ................................................................................. 28 2.2.4 Ward ................................................................................................ 29 2.3. Algoritmos Particionais .................................................................... 30. 2.3.1 k-medoids ........................................................................................ 32 2.3.2 Variações do k-means ..................................................................... 32 2.4. Métodos de inicialização dos centros .............................................. 33. 2.4.1 Forgy ............................................................................................... 33 2.4.2 k-means++ ...................................................................................... 33 2.4.3 R-Ward ............................................................................................ 35 2.4.4 Algoritmo m_k-means...................................................................... 35 Capítulo 3 – Estratégias para remover a degeneração ................................ 37 3.1. Random ........................................................................................... 38. 3.2. Greedy............................................................................................. 39. 3.3. -Random ........................................................................................ 40. 3.4. -Greedy.......................................................................................... 41. 3.5. Mixed ............................................................................................... 43. 3.6. Discrete Bipartition (DB) .................................................................. 44.

(8) Capítulo 4 – Experimentos Computacionais................................................. 47 Capítulo 5 – Considerações Finais............................................................... 58 Referências Bibliográficas ............................................................................ 60.

(9) Lista de Figuras Figura 1.1 – Scatter representando o conjunto de registros dos peixes ....... 16 Figura 1.2 – Exemplo de degeneração na base sintética ............................. 18 Figura 2.1 – Agrupamento hierárquico aglomerativo e divisivo .................... 25 Figura 2.2 – Dendograma formado com um conjunto de cinco registros ..... 26 Figura 2.3 – Exemplo de mecanismo de inicialização do k-means++,. para. = 3 ....................................................................................... 34. Figura 3.1 – Ilustra o método Random ......................................................... 39 Figura 3.2 – Ilustra o método Greedy ........................................................... 40 Figura 3.3 – Ilustra o método -Random com. = 3 ..................................... 42. Figura 3.4 – Ilustra o método -Greedy ........................................................ 43 Figura 3.5 – Ilustra o método Mixed ............................................................. 44 Figura 3.6 – Ilustra o método DB.................................................................. 46.

(10) Lista de Tabelas. Tabela 1.1 – Coordenadas da base de dados sintética................................ 18 Tabela 1.2 – Número de. soluções degeneradas. encontradas. em 100. execuções do k-means ........................................................... 20 Tabela 1.3 – Distribuição do grau de degeneração obtida com 100 execuções do k-means aplicado ao problema de 50 registros ................. 21 Tabela 4.1 – Instâncias utilizadas para os experimentos ............................. 47 Tabela 4.2 – Resultado benchmark do k-means .......................................... 48 Tabela 4.3 – Comparação entre os seis métodos para remover a degeneração .............................................................................................. 49 Tabela 4.4 – Score entre os 84 experimentos .............................................. 55 Tabela 4.5 – Resumo dos melhores resultados obtidos pelos métodos de remoção de degeneração, o k-means++, R-Ward e m_k-means .............................................................................................. 57.

(11) Lista de Abreviaturas CPU. Central Processing Unit Custo MSSC. DB. Discrete Bipartition. MSSC. Minimum Sum-of-Square Clustering.

(12) Lista de Símbolos ,. Clusters í-ésimo centros Grau de degeneração Distância Grau máximo de degeneração Quantidade de registros Amostras ou complexidade Número de cluster ou centro Proporção de partições. ,. í-ésimo ou j-ésimo registros O registro mais distante em relação a y Atributos ou entidade Número de Stirling Dimensão das amostras. ,. Pertubação j-ésimo registros desconhecidos Coordenada do novo centro. y. Centro do cluster com maior MSSC Conjunto de solução Média do centro Variável de decisão binária Solução ótima Um registro Norma euclidiana.

(13) Lista de Algoritmos. Algoritmo 1.1 – k-means............................................................................... 16 Algoritmo 2.1 – Single Linkage ..................................................................... 26 Algoritmo 2.2 – Complete Linkage ............................................................... 28 Algoritmo 2.3 – Average Linkage ................................................................. 29 Algoritmo 2.4 – Ward .................................................................................... 29 Algoritmo 2.5 – k-means++ .......................................................................... 33 Algoritmo 2.6 – R-Ward ................................................................................ 35 Algoritmo 2.7 – m_k-means.......................................................................... 36 Algoritmo 3.1 – First Improving..................................................................... 37 Algoritmo 3.2 – Last Improving ..................................................................... 38 Algoritmo 3.4 – DB ....................................................................................... 45.

(14) Capítulo 1 – Introdução A computação e a comunicação têm produzido uma sociedade que se alimenta de informação. A maioria das informações é representada por dados, que são caracterizados como fatos registrados. A informação é um conjunto de padrões, ou expectativas, que fundamenta os dados (COSTA et al., 2014). Logo, há uma enorme quantidade de dados que são trocados em banco de dados de informações potencialmente importantes para a sociedade. No entanto, algumas dessas informações não foram descobertas ou analisadas. A mineração de dados é a competência da área de ciências que busca métodos apropriados para filtrarem dados de forma automática em busca de um padrão nas informações ou uma regularidade. Caso esses padrões sejam encontrados provavelmente generalizarão previsões precisas sobre eles. Na busca por informação, são requeridos métodos e ferramentas eficientes para a análise e a organização dos dados. A classificação é uma das técnicas de mineração de dados mais utilizadas (HANSEN et al., 2012), haja vista ser uma das mais realizadas tarefas humanas no auxilio à compreensão do ambiente em que se vive. O ser humano está sempre classificando, criando classes de relações humanas e dando a cada classe uma forma diferente de tratamento. Os. algoritmos. de. classificação. são. divididos. basicamente. em. supervisionados e não supervisionados. Nos métodos supervisionados têm-se a informação sobre que classe pertence cada registro do conjunto de dados. Em seguida, os métodos realizam um treinamento para que o classificador possa funcionar adequadamente, classificando de forma correta o conjunto de registros que não estejam no conjunto inicial de treinamento. Na literatura, os métodos paramétricos são classificados como algoritmos supervisionados (DUDA; HART, 1998). Os classificadores que utilizam estes métodos possuem funções discriminantes parametrizadas classificar um vetor de atributos. ( , ) para. em uma classe , representada pelo vetor de. parâmetros . O objetivo é encontrar que parâmetros de. melhor descrevem as. amostras dos registros. Outros métodos supervisionados utilizam apenas as. 14.

(15) informações das amostras para classificar um registro, chamados na literatura como não-paramétricos (DUDA; HART, 1998). No tocante aos métodos não supervisionados, exemplificamos as técnicas de agrupamento de dados, comumente chamadas na literatura de clustering (HANSEN; JAUMARD, 1997), cujo objetivo principal é classificar registros de acordo com algum critério. Outros métodos não supervisionados utilizam a estimação da máxima verossimilhança (EVERITT, 1993), em que parâmetros de uma função discriminante são estimados sem a presença da informação das classes das amostras. Para um maior aprofundamento sobre esses assuntos, sugerimos livros que foram escritos na década de 80, os quais incluem Spath (1980), Jain e Dubes (1988), Massart e Kaufman (1983) e Titterigton et al. (1985). Este último é dedicado aos métodos de mistura de densidade de probabilidade. Um exemplo tradicional de agrupamentos de dados é apresentado por Duda e Hart (1998) na clusterização de duas espécies de peixes. O objetivo é identificar cada um dos peixes presentes no conjunto de registros como pertencentes a uma das duas espécies, tendo como únicas informações disponíveis as medidas de largura e comprimento. Uma forma de visualizar o exemplo da classificação de peixes é através de uma matriz ou tabela. Cada peixe do conjunto a ser classificado pode ser representado por uma linha, e a coluna por uma dimensão física do peixe. O gráfico pode ser outra forma de representar esse conjunto de dados. A Figura 1.1 apresenta-os em forma de registros, denominado na literatura como Scatter. Nela, cada registro representa dois atributos - comprimento (ordenada) e largura (abscissa) - no exemplo dos peixes. Esse tipo de diagrama funciona devidamente apenas para 2 ou até 3 dimensões. No exemplo dos peixes, o conjunto de registros para treinamento é a tabela com os atributos das amostras (largura e comprimento) e a classe das amostras (salmão e sardinha). Já nas classificações não supervisionadas são dados apenas os atributos dos peixes. Os métodos de agrupamento podem ser utilizados quando nada ou pouco se sabe sobre os dados. Outro problema é a alta dimensão de dados. Alguns autores fizeram um estudo acerca dessa complexidade (BISHOP, 2002), cuja solução seria reduzir a dimensão de dados a serem classificados e posteriormente a utilização de uma técnica mais simples (JOLLIFFE, 1986), (FRALEY; RAFTERY, 2002). 15.

(16) Figura 1.1 – Scatter representando o conjunto de registros dos peixes.. Fonte: Própria.. O algoritmo k-means (MACQUEEN, 1967) é um dos mais conhecidos na literatura para agrupamento de dados, representando cada cluster pelo seu centro. Em linhas gerais, ele consiste em inicializar os centros (usando alguma heurística) e separar os registros de acordo com esses centros para, em seguida, calcular novos centros a partir das classes atualmente calculadas. Esse processo é repetido até que não haja mais nenhuma variação dos clusters. O algoritmo clássico do k-means é descrito a seguir.. Algoritmo 1.1: k-means Entradas: conjunto de registros x, número de clusters k é o i-ésimo cluster. 1. ( ,. ,…,. 2. Repete:. ) = partição inicial de x;. a. Calcule a distância entre os centros e os registros; b. Atribua cada registro ao seu respectivo centro; c. Atualize os novos centros. 3. Enquanto não houver variação dos clusters.. O algoritmo k-means é sensível à seleção de partição inicial e pode convergir para um mínimo local (CELEBI; KINGRAVI; VELA, 2013). Esse é um 16.

(17) ponto bastante relevante neste estudo, no qual veremos que uma indevida inicialização pode apresentar clusters degenerados. São basicamente dois tipos de possíveis soluções degeneradas na otimização do MSSC (Minimum sum-of-squares clustering) que surgem durante a execução do k-means (BRIMBERG; MLADENOVI , 1999): 1) Existir um ou mais centros de clusters que não têm registros (atribuídos) e; 2) Dois ou mais centros de clusters são idênticos. Dizemos que a solução degenerada tem grau se o número de cluster vazio na solução for igual a. (BRIMBERG;. MLADENOVI , 1999). A Figura 1.2 ilustra a ocorrência da degeneração do tipo 1. No exemplo, utilizou-se a base de dados sintética, que possui 20 registros com 2 dimensões, apresentada na Tabela 1.1. O algoritmo k-means foi inicializado com 4 centros ( = 4), sendo as coordenadas desses centros. ,. ,. e. (ver Tabela 1.1).. A Figura 1.2a apresenta os centros iniciais marcados com o símbolo ‘x’. em vermelho e cada registro atribuído ao seu centro mais próximo. Em seguida, eles são atualizados (Figura 1.2b). A Figura 1.2c apresenta a segunda etapa de alocação de registros. Nela há um centro isolado, ou seja, nenhum registro é atribuído a esse centro. Na 2ª iteração do k-means a degeneração (Figura 1.2d) resulta em apenas 3 clusters. Embora a Figura 1.2 apresente um exemplo em que uma solução degenerada de tipo 1 é encontrada, o k-means pode, eventualmente, reduzir a degeneração do tipo 1 automaticamente, atribuindo registros para os centros vazios nas iterações subsequentes.. 17.

(18) Figura 1.2 – Exemplo de degeneração na base sintética.. a) Inicialização dos centros (em vermelho),. = 4.. c) Atribuição dos registros aos centros.. b) Atualização dos centros (1ª iteração).. d) 2ª iteração com apenas 3 clusters.. Fonte: Própria.. Tabela 1.1 – Coordenadas da base de dados sintética. 24,6360. 22,0049. 21,2632. 20,9310. 20,0285 24,8459 29,9418 20,6629. 32,3832 28,2252 18,4504. 27,0567 18.

(19) 22,6288. 22,4438. 34,3566. 25,4818. 26,1121 25,5500. 30,9956 22,7709. 26,4791. 34,9847. 24,1023. 18,1681. 25,8400 22,8944 16,6116 30,2208 21,5143 22,5799 25,9688 26,8905. 28,4848 26,8152 22,1648. 29,4319 34,2010 33,1410 30,8689 27,0771. Fonte: Própria.. A base de dados sintética descrita na Tabela 1.1 será útil para melhor apresentar os métodos propostos nesta tese (discutido no Capítulo 3), uma vez que ela representa boa visualização da dispersão de dados contendo apenas 20 registros em 2 dimensões. A busca exaustiva pela partição ótima é proibitiva para um número relativamente pequeno de registros. O número de diferentes partições de n registros em k clusters não vazios é dado pelo número de Stirling do segundo tipo (ANDERBERG, 1973): ( , )=. em que. 1 !. 1). (. ) .. (1.1). representa a combinação de k tomados t a t. Sabe-se que ( , ). primeiramente aumenta para em seguida diminuir, isso no tocante a k. O número de partições de n registros em k clusters ou menos é dado por =. ( , ).. (1.2) 19.

(20) Assim, a proporção de partições não degeneradas de n registros em k clusters é igual a ( , )=. ( , ). .. A proporção de partições não degeneradas. (1.3) ( , ) é relativamente alta. para k pequenos, diminuindo rapidamente com maiores valores de k para aproximadamente 0%. A Tabela 1.2 mostra diferentes instâncias para o número de vezes que foram encontradas soluções degeneradas em 100 execuções distintas do algoritmo k-means. A última coluna apresenta os casos nos quais o algoritmo foi capaz de remover a degeneração automaticamente. As soluções iniciais foram obtidas a partir de partições aleatórias de n registros entre os k clusters.. Tabela 1.2: Número de soluções degeneradas encontradas em 100 execuções do k-means. Instâncias Eilon (EILON, 1971) Ruspini (RUSPINI, 1970) Iris (BACHE; LICHMAN, 2013) Wine (BACHE; LICHMAN, 2013) B-Câncer (BACHE; LICHMAN, 2013) Image Segmentation (BACHE; LICHMAN, 2013). Degeneração na solução 5 17 50 10 90 15 100 67 5 100 75 10 100 20 5 60 150 10 99 20 100 11 5 178 46 10 96 20 5 0 699 10 73 20 98 2 5 48 2312 10 99 20 Fonte: Própria.. Resolvido pelo k-means 17 83 2 66 3 0 60 34 0 11 46 16 0 73 98 2 48 99. Na Tabela 1.2 as soluções iniciais aleatórias levam, muitas vezes, à solução degenerada, especialmente quando a relação / é pequena. A última. 20.

(21) coluna mostra que o algoritmo tem mais dificuldade para remover a degeneração automaticamente na medida em que relação / diminui.. Como suposto pelas Equações 1.1, 1.2 e 1.3, observa-se na Tabela 1.3. que no conjunto de dados (usando a base de dados EILON) a distribuição de d para diferentes valores de k tende a ter forma de uma senóide, semelhante à distribuição normal. Cada linha representa o número de vezes que os valores individuais de degeneração foram obtidos com 100 execuções do k-means.. Tabela 1.3: Distribuição do grau de degeneração obtida com 100 execuções do k-means aplicado ao problema de 50 registros (EILON, 1971). Grau da degeneração ( ) k. 0. 1. 2. 4. 100. 8. 100. 12. 69. 25. 6. 16. 12. 34. 34. 18. 20. 2. 7. 22. 35. 26. 7. 1. 5. 23. 24. 22. 14. 28. 4. 17. 20. 32. 3. 14. 36. 1. 24. 40 44. 1. 1. 48. 18. 82. 3. 4. 5. 6. 7. 8. 9. 6. 5. 1. 24. 20. 12. 3. 16. 26. 22. 12. 6. 1. 3. 12. 22. 34. 18. 9. 1. 6. 13. 16. 36. 20. 8. 1. 12. 32. 47. 7. 2. Fonte: Própria.. Existem duas motivações relevantes para a realização desta pesquisa: 1ª) Vários trabalhos utilizam métodos alternativos de clusterização como, por exemplos, na logística (COOPER, 1964), na indústria de óleo (HAVERLY, 1978), na neurociência (MAIRAL; BACH; PONCE, 2012) (MAK; WOLPAW, 2009) e no marketing (BLANCHARD; ALOISE, 2012), sendo conhecidos por compartilhar a lacuna de degeneração (BRIMBERG; MLADENOVI , 1999); 2ª) A questão da degeneração poder ser considerada insignificante usando bons métodos de inicialização (veja o artigo (CELEBI; KINGRAVI; VELA, 2013) para uma pesquisa recente ou executar o k-means várias vezes. Muito dos melhores algoritmos 21.

(22) encontrados na literatura para o clustering usa o k-means como uma sub-rotina, que é parte de uma estrutura maior de otimização (HANSEN; MLADENOVI , 2001) (PACHECO; VALENCIA, 2003). Desse modo, ele pode ser iniciado com todos os tipos de soluções, incluindo as degeneradas. Nesse cenário, as soluções degeneradas podem levar a mínimos locais ruins ou até mesmo comportamento anômalo.. 1.1 Objetivos Diante do exposto, novos métodos são propostos para remover a degeneração na solução durante ou ao final da execução do algoritmo k-means. Propomos uma nova estratégia chamada de First Improving e quatro novos métodos com a finalidade de realizar uma extensa comparação das estratégias para eliminar a degeneração e comparar os quatro novos métodos com três métodos da literatura.. 1.2 Organização do trabalho Esta tese dividi-se em 5 Capítulos. O Capítulo 2 descreve a revisão da literatura. O Capítulo 3 apresenta uma série de estratégias para remover a degeneração no k-means, incluindo as quatro novas propostas. O Capítulo 4 apresenta os resultados experimentais que comparam as estratégias com relação a sua eficiência e eficácia. E o Capítulo 5 finaliza a tese apresentando as considerações finais acerca do desenvolvimento.. 22.

(23) Capítulo 2 – Revisão da Literatura. 2.1 Definições básicas As técnicas de agrupamento são usualmente classificadas em particional e hierárquica (JAIN et al, 1999). Antes de apresentá-las vamos definir alguns termos que serão usados posteriormente. Na literatura de agrupamento de dados palavras diferentes podem ser usadas para expressar sentidos semelhantes. Por exemplo, dado um banco de dados que contém muitos registros o termo ponto de dados, observação, objeto, item e entidade são todos utilizados para designar um único item. Nesta tese, usaremos o termo registro. Para um registro com alta dimensão, o termo atributo será usado para denotar um componente escalar individual (JAIN et al, 1999). Matematicamente, um determinado conjunto de registros não rotulados é dado por. ={ ,. ,. }, em que cada registro. (atributos ou características).. , = 1,. é descrito por. Na literatura, medidas de similaridade, medidas de dissimilaridade ou distâncias são usadas para descrever quantitativamente a similaridade ou dissimilaridade de dois registros. Considere dois registros de dados ( ,. ,…,. ). e. =( ,. ,…,. =. ) , por exemplo. A distância Euclidiana ao. quadrado entre x e y é calculada como:. ( , )=. (. ). .. Cada algoritmo de agrupamento é baseado no índice de similaridade ou diissimilaridade entre os registros de dados (JAIN et al, 1999). A similaridade Medidas. de. é geralmente simétrica, ou seja,. similaridade. assimétricas. também. foram. ( , ) = ( , ).. discutidas. em. (CONSTANTINE; GOWER, 1978). Uma métrica de distância é uma função de distância conjunto. definida em um. que satisfaz as seguintes propriedades (ANDERBERG; 1973):. 1. Não negatividade: ( ,. 0;. 23.

(24) 2. Reflexividade: ( , ) = 0. = ;. 3. Comutatividade: ( , ) = ( , ); 4. Desigualdade triangular: ( , ) registros arbitrários.. ( , ) + ( , ), em que ,. e. são. Geralmente, existem muitas outras estruturas de similaridade e de dissimilaridade. Hartigan (1967) enumera 12 tipos de estruturas.. 2.2 Algoritmos Hierárquicos de agrupamento Desenvolvida inicialmente no campo da biologia (SOKAL; SNEAD, 1973), essas técnicas ganharam popularidade devido sua versatilidade, simplicidade e noção intuitiva de que graus relativos de semelhança entre os registros poderiam ser visualizados em uma espécie de representação em árvore ou hierarquias. Esses métodos hierárquicos produzem uma sucessão de partições, cada qual correspondendo a uma diferente quantidade de clusters, sendo divididos em técnicas aglomerativas e divisórias. A Figura 2.1 ilustra a forma como esses dois métodos, o aglomerativo como um método de bottom/up e divisivos como top/bottom, podem ser vistos. Essas técnicas, por qualquer método de aglomeração ou de divisão, produzem um dendrograma representado por um diagrama bidimensional que ilustra as fusões ou divisões realizadas em cada nível. A Figura 2.2a mostra um dendrograma formado a partir de um conjunto de dados com cinco registros com duas dimensões (Figura 2.2b), e o eixo da ordenada representa a distância entre os registros. As técnicas aglomerativas operam, geralmente, sobre uma matriz de similaridades ou dissimilaridades produzindo uma sequência de partições. O que basicamente diferenciam os métodos é a escolha da métrica utilizada para a fusão de agrupamentos a ser adotada ou o critério de união entre os agrupamentos durante as sucessivas fusões, assim como são recalculadas as distâncias entre um agrupamento formado a todos os outros restantes. O procedimento geral pode ser descrito em poucos passos: 1. Cada cluster. ,. ,…,. contém um único objeto; 24.

(25) 2. Determine o par de cluster distinto. , com maior (menor) grau. de similaridade (dissimilaridade); 3. Forma-se um novo cluster. pela união dos clusters. e. , ou seja,. . 4. Calcula-se as novas medidas de similaridade (dissimilaridade) entre o novo cluster. e todos os outros restantes. Diminui-se o número total de. cluster em 1. 5. Os passos 2, 3 e 4 são executados registros estejam em um único cluster.. 1) vezes até que todos os. Figura 2.1: Agrupamento hierárquico aglomerativo e divisivo.. ,. ,. ,. ,. ,. ,. ,. Divisivo. Aglomerativo. ,. Fonte: Própria.. 25.

(26) Figura 2.2: Dendrograma formado com um conjunto de cinco registros.. a) Dendrograma.. b) conjunto de dados.. Fonte: Própria.. 2.2.1 Ligação Simples Conhecido como o método dos vizinhos mais próximos, ele é o mais simples dentre os algoritmos aglomerativos, sendo caracterizado por considerar a dissimilaridade entre dois clusters como a menor dissimilaridade entre cada par de registros formado por um registro pertencente a (FLOREK et al., 1951). Considere conjunto de dados. A distância entre. ,. e e. e outro pertencente a. serem três clusters em um pode ser obtida a partir da. fórmula de Lance Williams dada a seguir:. em que. (. ,. ) = min{ (. ,. ), (. , )},. (. , . ) é a distância entre dois clusters. O algoritmo Single-Linkage é. descrito a seguir.. Algoritmo 2.1: Single-Linkage Os agrupamentos são representados por número de sequências 0,1,2, ..., (. 1).. ( ) é o nível de agrupamento de ordem .. Um cluster com o número de sequência m é denotado ( ).. 1. Comece com diferentes agrupamentos com o nível (0) = 0 e o número de sequência. = 0;. 2. Encontre o par de registros mais próximo na matriz de distância.. 26.

(27) =. 3. Incremente cluster. + 1. Junte os clusters. e. para formar o próximo. . Defina o nível deste cluster para ( ) =. ( ,. ).. 4. Atualize a matriz de distância apagando as linhas e as colunas correspondentes aos clusters. e. e adicione uma nova linha e coluna. correspondentes ao cluster recém formado. A distância entre o novo cluster, denotado por min{ (. , ), (. , )}.. ,. e o velho. , é definido como (. ,. )=. 5. Caso todos os registros estejam atribuídos a um cluster pare. Do contrário, volte para o passo 2.. O Algoritmo 2.1 cria o primeiro grupo unindo os dois registros mais próximos. Na próxima fase, duas situações podem acontecer: ou um terceiro registro se unirá ao cluster já formado ou outros dois registros que agora estão mais próximos se unirão para formar o segundo cluster. Essa decisão é dita pelo critério de distância mínima entre os registros dos clusters. O processo se repete até que todos os registros pertençam a um só cluster.. 2.2.2 Ligação Completa O Complete Linkage segue a mesma forma do Single-Linkage, havendo uma única diferença: a escolha da distância. No algoritmo de Ligação Completa, a menor dissimilaridade entre dois registros quaisquer de dois clusters determina a dissimilaridade entre esses grupos. Considere distância entre. ,. e. e. serem três clusters em um conjunto de dados. A pode ser obtida a partir da fórmula de Lance Williams. dada a seguir: (. ,. ) = max{ (. , ), (. , )},. O algoritmo Complete Linkage é descrito a seguir.. 27.

(28) Algoritmo 2.2: Complete Linkage Os agrupamentos são representados por número de sequências 0,1,2, ..., (. 1).. ( ) é o nível de agrupamento de ordem .. Um cluster com o número de sequência m é denotado ( ).. 1. Comece com diferentes agrupamentos com o nível (0) = 0 e o número = 0;. de sequência. 2. Encontre o par de registros mais próximo na matriz de distância. 3. Incremente. =. + 1. Junte os clusters. e. para formar o próximo. . Defina o nível deste cluster para ( ) =. cluster. ( ,. ).. 4. Atualize a matriz de distância apagando as linhas e colunas correspondentes aos clusters. e. e adicione uma nova linha e coluna. correspondentes ao cluster recém formado. A distância entre o novo cluster, denotado por max{ (. , ), (. ,. e o velho. , )}.. , é definido como (. ,. )=. 5. Caso todos os registros estejam atribuídos a um cluster pare. Do contrário, volte para o passo 2.. 2.2.3 Ligação Média Também conhecido como Average Linkage, este algoritmo segue a mesma forma de união dos métodos descritos anteriormente. Na Ligação Média, a similaridade entre dois grupos é dada pela similaridade média entre todos os registros dos dois grupos. Considere. ,. conjunto de dados. A distância entre. e e. serem três grupos em um pode ser obtida a partir da. fórmula de Lance Williams dada a seguir:. em que. (. ,. )=. | | | |+. (. ,. )+. | |+. (. , ),. (. , . ) é a distância entre dois clusters. O algoritmo Average Linkage é. uma variação do Single e Complete Linkage e será descrito a seguir.. 28.

(29) Algoritmo 2.3: Average Linkage Os agrupamentos são representados por número de sequências 0,1,2, ..., (. 1).. ( ) é o nível de agrupamento de ordem .. Um cluster com o número de sequência m é denotado ( ).. 1. Comece com diferentes agrupamentos com o nível (0) = 0 e o número = 0;. de sequência. 2. Encontre o par de registros mais próximo na matriz de distância. =. 3. Incremente cluster. + 1. Junte o cluster. e. para formar o próximo. . Defina o nível deste cluster para ( ) =. ( ,. ).. 4. Atualize a matriz de distância apagando as linhas e colunas correspondentes aos clusters. e. e adicione uma nova linha e coluna. correspondentes ao cluster recém formado. A distância entre o novo cluster, denotado por (. ,. )=|. | | |. (. ,. ,. e o velho )+|. |. (. ,. , é definido como ).. 5. Caso todos os registros estejam atribuídos a um cluster pare. Do contrário, volte para o passo 2.. 2.2.4 Ward O método Ward propõe que os agrupamentos sejam formados com o objetivo de minimizar (WARD, 1963) a variância (perda da informação) ou a soma dos quadrados dos desvios (ou distâncias) em relação a média dentro dos grupos. Normalmente, a perda da informação é qualificada em termos da soma dos quadrados dos erros (SQE). O algoritmo Ward é dado a seguir.. Algoritmo 2.4: Ward 1. Atribui-se cada registro como um cluster; 2. Repita os seguintes passos até que a quantidade desejada de clusters seja obtida: 29.

(30) a. Junte os dois clusters mais próximos respeitando-se a variância; b. Calcule a distância deste novo cluster para todos os outros clusters seguindo a fórmula ( ( ,. ( ,. ,. )=. ), em que. clusters que acabaram de serem unidos, elementos do cluster e. .. ,e (. ,. e. ( ,. )+. são os dois. é o número de. ) a distância entre os clusters. 2.3 Algoritmos Particionais Esses métodos produzem uma partição de. registros em vários. agrupamentos. Em muitas situações, esses registros podem ser considerados como registros no espaço euclidiano. Muitos. são. os. critérios. usados. na. literatura. para. expressar. homogeneidade e/ou separação dos clusters procurados (HANSEN; BRIGITTE, 1997). Entre eles, um dos mais utilizados é a soma mínima das distâncias euclidianas quadráticas de cada registro para o centro do cluster ao qual pertence, também conhecido como Minimum sum-of-squares clustering (MSSC). Uma formulação matemática do MSSC é dada a seguir: min. sujeito a,. {0,1},. Os dados numéricos com (. , = 1, … , ) em. (2.1). ,. para. = 1,. = 1,2, … ,. = 1,2, … , ;. = 1,2, … , .. (2.2). registros são representados por registros = 1, … , ;. localizados em registros desconhecidos. =. centros de cluster devem estar , para = 1,2, … , . A norma. indica a distância euclidiana ao quadrado entre os dois registros em seu argumento considerando um espaço euclidiano com. -dimensão. As variáveis 30.

(31) de decisão binárias. expressam a atribuição do registro. conjunto de restrições (2.2) garante que cada registro a exatamente um cluster.. ao cluster , cujo. , = 1, … , seja atribuído = 2 (ALOISE. Em dimensões gerais, o MSSC é NP-hard, mesmo para. et al., 2009), e conhecido como o problema enfrentado pelo clássico k-means (MACQUEEN, 1967). A heuristica k-means faz uso do MSSC aproveitando as seguintes propriedades: i.. Se. é fixo, a condição. {0,1} pode ser modificada por. [0,1], uma vez que em uma solução ideal para o problema. resultante cada registro pertence ao cluster com o centro mais próximo; ii.. Para um. fixo, as condições de primeira ordem sobre o gradiente. da função objetivo requerem que em uma solução ótima os centros de cluster correspondam sempre aos centros dos clusters dados por: = 0, =. , , , .. , (2.3). A partir de uma partição inicial, o k-means procede através da readmissão de registros ao seu centro mais próximo e atualiza suas posições até que a estabilidade seja alcançada, ou seja, alternadamente o algoritmo aplica as propriedades (i) e (ii) até que um mínimo local seja atingido. O k-means faz parte dessa classe de técnicas e busca minimizar o erro quadrático de registros em relação aos centros de seus grupos, conforme exposto no Capítulo 1. Outro representante é o k-medoid (PARK; JUN, 2009), que utiliza a mediana dos elementos em um grupo como ponto de referência, denominado medóide. Esta estretégia será apresentada na próxima seção.. 31.

(32) 2.3.1 k-medoids Esta estratégia utiliza o conceito de medóide descrevendo-o da seguinte maneira: dado um conjunto de. registros com. de clusters deve-se selecionar, dentre os. atributos e fixando um número. registros,. registros denominados. medóides. Os demais registros serão alocados ao medóide correspondente mais próximo, segundo uma medida de distância. Dessa forma, busca-se a determinação dos. medóides de forma que a soma das distâncias dos demais. registros ao seu respectivo medóide seja a menor possível. Na pesquisa operacional, este problema é conhecido como p-mediana (REESE, 2006). Alguns autores propuseram estratégias para selecionar os medóides. Kaufman e Rousseeuw (1989) proporam o algoritmo PAM (Partitioning Around Medoids). Em linhas gerais, esta heurística efetua a construção de agrupamentos mediante a aplicação de dois procedimentos determinísticos, quais sejam: Build e Swap. O primeiro é responsável pela construção de uma solução viável. E o segundo tem caráter similar ao de uma busca local que atua sobre a solução produzida pelo procedimento Build. Em Park e Jun (2009), foi apresentado um algoritmo para o k-medoids que utiliza algumas ideias do algoritmo k-means.. 2.3.2 Variações do k-means Muitos dos algoritmos de agrupamento originários do algoritmo k-means são apresentados em (FABER, 1994), (BRADLEY; FAYYAD, 1998), (ALSABTI et al., 1998), e (BOTTOU; BENGIO, 1995). Estes algoritmos foram desenvolvidos para melhorar o desempenho do clássico algoritmo k-means. Faber (1994) propôs o contínuo k-means, que tem os seguintes aspectos: primeiramente, os registros de referência são escolhidos como uma amostra aleatória de toda a base de dados; em segundo lugar, os registros dos dados são tratados de forma diferente. Durante cada iteração, o contínuo k-means examina apenas uma amostra de registros dos dados, enquanto que o k-means padrão analisa todos.. 32.

(33) O algoritmo sort-means foi proposto por Phillips (2004). Nele, as médias são ordenadas por ordem de aumento da distância a partir de cada média a fim de obter um aumento de velocidade. Anteriormente, apresentamos alguns métodos objetivando melhorar o desempenho do algoritmo k-means. Além dos supramencionados, várias outras extensões do k-means padrão são propostas com o intuito de melhorar a velocidade e a qualidade do algoritmo. Na próxima seção, será apresentado outros métodos baseados na inicialização dos centros.. 2.4 Métodos de inicialização dos centros O algoritmo k-means apresenta alguns inconvenientes. Em particular, seu desempenho depende da inicialização dos centros. Como resultado, alguns métodos para a seleção de bons centros iniciais são propostos, conforme descritos a seguir.. 2.4.1 Forgy O método de Forgy (1965) atribui aleatoriamente cada registro para um dos. clusters. Os centros são dados pelos centróides destes grupos iniciais.. 2.4.2 k-means++ O algoritmo foi desenvolvido por Arthur e Vassilvitsskii (2007), tendo como ideia principal a implementação do método de inicialização dos centros, que é encontrar os melhores centros antes de aplicar o k-means tradicional. O método faz o seguinte procedimento: Algoritmo 2.5: k-means++ 1. Pega-se o primeiro centro,. , escolhido aleatoriamente do conjunto de. registros ; 2. Pega-se um novo centro ( ). ( ). , no qual. , escolhendo. com probabilidade. ( ) é a distância mais próxima do registro. para. os centros previamente selecionados;. 33.

(34) 3. Volta-se para 2 até que se tenha encontrado todos os centros; 4. Executa-se o k-means normalmente.. A Figura 2.3 ilustra o funcionamento do método de inicialização dos centros no k-means++. Nesse exemplo, considera-se apenas 9 registros, no qual o algoritmo tem que encontrar os três melhores centros ( = 3). O primeiro. centro,. , escolhido aleatoriamente, é o registro com coordenada (3,6). Em. seguida, calcula-se a distância dos 8 registros restantes em relação ao primeiro centro. O registro mais distante de. provavelmente será aquele com. coordenada (5,1), escolhido e chamado de. . O terceiro centro a ser escolhido. será selecionado de modo que os itens dos dados com valores das distâncias ao quadrado tenham baixa probabilidade de seleção e os registros de dados com grandes valores de distância ao quadrado tenham elevada probabilidade de serem selecionados. Portanto, provavelmente o. será o novo centro com a. coordenada (8,4).. Figura 2.3: Exemplo de mecanismo de inicialização do k-means++ para. = 3.. Provável centro. Fonte: Própria.. 34.

(35) 2.4.3 R-Ward Este método consiste nos seguites passos:. Algoritmo 2.6: R-Ward 1. Defina cada registro como um cluster; 2. Repita os seguintes passos até que a quantidade desejada de clusters seja obtida: a. Junte os dois clusters mais próximos; b. Calcule a distância deste novo cluster para todo os outros clusters seguindo. a. ,. fórmula:. ,. ,. , em que. clusters que acabaram de serem unidos, elementos do cluster e. .. e. (. ,. =. e. ( ,. )+. são os dois. é o número de. ) é a distância entre os clusters. Em (HELSEN; GREEN, 1991), os autores tomam uma amostra aleatória do conjunto de dados e aplicam o algoritmo R-Ward nesta amostra (por exemplo, 10%, 20% e 30% do total de registros). Eles fazem isso várias vezes com diferentes amostras objetivando obter diferentes resultados ao final do k-means. Dependendo da inicialização, o k-means pode levar a grupos vazios. Em outras palavras, uma melhor solução na próxima iteração do algoritmo pode ser encontrada, mas com um menor número de clusters. Essas soluções podem ser facilmente melhoradas pela adição de um novo centro na posição de qualquer registro existente, desde que não seja o centro de outro cluster. O próximo capítulo apresenta as nossas estratégias para a remoção da degeneração.. 2.4.4 Algoritmo m_k-means Esse algoritmo foi proposto por Pakhira (2009) e elimina clusters vazios. O algoritmo m_k-means utiliza a seguinte expressão para atualizar os centros: 35.

(36) (. em que. ). =. 1 +1. (. +. é o número de registros do cluster. (. ). ) ,. (2.4). . A equação 2.4 indica que cada. cluster deve conter sempre pelo menos um registro. As etapas de execução do algoritmo são descritas a seguir.. Algoritmo 2.7: m_k-means Entradas: conjunto de registros , número de clusters k. 1. Escolher aleatoriamente k registros. .. 2. Repete: a. Calcule a distância entre os centros e os registros; b. Calcule os novos centros. usando a equação 2.4;. c. Atribua cada registro ao seu respectivo centro; d. Calcule os novos centros dos clusters. 3. Enquanto não houver variação dos clusters.. 36.

(37) Capítulo 3 – Estratégias para remover a degeneração Neste capítulo são apresentados seis métodos para remover a degeneração na execução do algoritmo k-means. As duas primeiras são utilizadas na literatura e as demais propostas nesta tese. Duas estratégias são usadas para executar os métodos que removem a degeneração na execução do k-means, quais sejam: First Improving e Last Improving. A nova estratégia First Improving executa o método para remover a degeneração sempre que surgir. clusters vazios, ou seja, a cada iteração um. método é chamado para corrigi-la. Na estratégia Last Improving (BRIMBERG; MLADENOVI , 1999), o k-means é executado até o fim. Caso exista um cluster vazio, o método é chamado para corrigir e em seguida o algoritmo é novamente executado. Essas duas estratégias são descritas em detalhes no Algoritmo 3.1 e 3.2, respectivamente. Na linha 3.d do Algoritmo 3.1, a função Grau() verifica se houve alguma degeneração e retorna zero caso não encontre nenhuma. Do contrário, ela volta e em seguida chama o método para removê-lo (linha 3.e.i), e o procedimento é repetido.. Algoritmo 3.1: First Improving 1. Os centros são escolhidos aleatoriamente; 2. w = true; 3. Enquanto w faça: a. Calcule a distância entre os centros e os registros; b. Atribua cada registro ao seu respectivo centro; c. Calcule os novos centros; d. gr = Grau(); e. if (gr != 0); i. Chama o método para remover a degeneração de grau d; f. if (os grupos se estabilizaram); i. w = false. 4. Fim Enquanto.. 37.

(38) No Algoritmo 3.2, o k-means é executado normalmente até o final. Havendo degeneração ele é consertado, novamente executado e resumido em duas estruturas de repetição. Na linha f.i um Flag é utilizado para verificar se houve degeneração. A função Grau() (linha f) retorna o zero se não houver degeneração, caso contrário retorna o grau e modifica o Flag e, em seguida, um método é chamado para remover a degeneração.. Algoritmo 3.2: Last Improving 1. Os centros são escolhidos aleatoriamente; 2. Flag = true; 3. Enquanto Flag faça: a. Flag = false; b. w = true; c. Enquanto w faça: i. Calcule a distância entre os centros e os dados; ii. Atribua cada registro ao seu respectivo centro; iii. Calcule os novos centros; iv. if (os grupos se estabilizaram). 1. w = false. d. Fim Enquanto; e. gr = Grau(); f. if (gr != 0); i. Flag = true; ii. Chama o método para remover a degeneração de grau d. 4. Fim Enquanto.. 3.1 Random Esse método consiste em selecionar. novos centros aleatoriamente a. partir dos registros e foi proposto por (BRIMBERG; MLADENOVI , 1999) para o problema multi-source Web. A Figura 3.1 mostra a iteração do k-means depois que o método Random é aplicado. O centro (símbolo ‘x’ de cor ciano) foi escolhido casualmente (Figura 3.1b), e em seguida os registros atribuídos aos centros e atualizados (Figura 3.1c 38.

(39) e 3.1d, respectivamente). Todos os exemplos ilustrados neste Capítulo são apresentados utilizando a base de dados sintética (Tabela 1.2), e os centros iniciais são os registros. ,. ,. e. .. Figura 3.1: Ilustra o método Random.. a) Inicialização dos centros.. b) O centro escolhido aleatoriamente.. c) Os registros são atribuídos aos centros.. d) Os centros são atualizados.. Fonte: Própria.. 3.2 Greedy. Chamado de guloso, o método Greedy foi proposto por (HANSEN; NENAD, 2001). Para cada cluster, ele encontra o registro mais distante de cada centro e em seguida escolhe o registro que for mais distante em relação ao seu centro. 39.

(40) A Figura 3.2a apresenta apenas três clusters. Na Figura 3.2b o cluster laranja apresenta o registro (símbolo ‘x’ de cor ciano) mais distante em relação ao centro. Em seguida, são atribuídos os registros em relação aos seus respectivos centros (Figura 3.2c) e atualizados. Figura 3.2: Ilustra o método Greedy. centros (Figura 4.2d).. a) Degeneração com três clusters.. b) Registro mais distante do cluster.. c) Os registros são atribuídos aos centros.. d) Os centros são atualizados.. Fonte: Própria.. 3.3 -Random Este método é semelhante ao Random. No entanto, ele utiliza uma perturbação dada por , cujo procedimento executa dois passos: Escolhe aleatoriamente um centróide. a partir da solução; 40.

(41) Em seguida a nova coordenada do centróide é perturbada de. a partir. de . Com esse procedimento, o + ou – tem 50% de probabilidade. No exemplo. apresentado nesta seção (Figura 3.3), utilizou-se um. = 3 apenas para fins. ilustrativos. A Figura 3.3a apresenta apenas três clusters. Em seguida, o cluster verde claro foi escolhido aleatoriamente e o novo centro selecionado (o centro marcado com um símbolo ‘x’ de cor amarelo).. 3.4. - Greedy Neste método, os novos centros são obtidos a partir dos centros dos. grupos, tendo os maiores valores de MSSC. Com esse procedimento é realizada a divisão de grandes clusters que talvez sejam menos homogêneos. Além disso, a perturbação com o. para gerar os novos centros não é feita aleatoriamente,. mas na direção do registro mais distante em relação ao centro selecionado. Denota-se. como o centro do cluster com maior MSSC e. como o. registro mais distante em relação a . As coordenadas do novo centro. são. dadas por =. +(. ). (3.1). Na prática, é um número muito pequeno. A Figura 3.4 ilustra a aplicação do método para. = 0.2 (apenas para fins de esclarecimentos). O cluster laranja. é escolhido por ter o maior MSSC (Figura 3.4b). Em seguida é gerado novo registro e deslocado com. (registro com símbolo ‘x’ de cor ciano). Na Figura. 3.4c os registros são atribuídos e na Figura 3.4d os centros são atualizados.. 41.

(42) Figura 3.3: Ilustra o método -Random com. a) Cluster degenerado.. c) Atribuição dos registros.. = 3.. b) Cluster escolhido aleatoriamente com épsilon. d) Atualização dos centros com quatro clusters.. Fonte: Própria.. 42.

(43) Figura 3.4: Ilustra o método. a) Um centro foi degenerado.. Greedy.. b) Maior custo e deslocado com o épsilon.. c) Atribuição dos registros aos centros.. d) Atualização dos centróides.. 3.5 Mixed. Este método mescla os dois métodos anteriores. Primeiramente é feita uma decisão gulosa sobre a seleção do cluster com maior MSSC, como apresentado pelo método. Greedy. Em seguida, aplicada uma perturbação. aleatória de ± , como descrito no método. . Na Figura 3.5b, o centro. do cluster (símbolo ‘x’ de cor amarelo) é deslocado (o símbolo ‘x’ de cor ciano) com. = 3. 43.

(44) Figura 3.5: Ilustra o método Mixed.. a) O centro foi degenerado.. b) O centro deslocado de .. c) Atribuição dos registros aos centros.. d) Atualização dos centróides.. Fonte: Própria.. 3.6 Discrete Bipartition (DB). Esta estratégia considera a criação de bipartição sobre os. novos centros realizando a. clusters que apresentam maior MSSC.. Dado um conjunto de registros de qualquer dimensão, o MSSC é NP-Hard mesmo para. = 2 (ALOISE; DESHPANDE; HANSEN, 2009). No entanto, o. problema da versão discreta da bipartição ótima em que os centros dos clusters. devem ser localizados em dois dos registros pode ser resolvido por uma simples. 44.

(45) enumeração. Uma implementação simples em tempo. (. ) com distâncias pré-. calculadas entre cada par de registros é dada pelo Algoritmo 3.3.. Algoritmo 3.3: Discrete Bipartition (DB) Entrada: Define-se. cluster composto por. ={ ,. ( , ) o custo MSSC de partição. localizados em. Define-se. e. ,…,. | | }.. com os centros dos grupos. .. o custo MSSC das melhores bipartições encontrado até. o momento. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16. Para = 1, … , | | 1 faça Para = + 1, … , | | faça Para = 1, … , | | faça então Se Atribua para o centro do grupo Se não Atribua para o centro do grupo Fim Para ( , )< Se ( ) então ( , ); ; ; Fim Se Fim Para Fim Para Execute a bipartição associada a e .. ; ;. A Figura 3.6 mostra a iteração do k-means depois que surge uma solução degenerada. Em seguida, o método DB é aplicado. Observa-se que os dois centros encontrados estão marcados com símbolo ‘x’ de cor ciano (Figura 3.6b). Na Figura 3.6c todos os registros são atribuídos aos seus centros. E na Figura 3.6d os centros são atualizados.. 45.

(46) Figura 3.6: Ilustra o método DB.. a) Centro degenerado.. b) Os dois registros são selecionados.. c) Atribuição dos registros aos centros.. d) Atualização dos centróides.. Fonte: Própria.. 46.

(47) Capítulo 4 – Experimentos Computacionais Neste capítulo será apresentado uma série de experimentos que utilizam diversos métodos descritos nas seções anteriores. As instâncias utilizadas são apresentadas na Tabela 4.1 e foram escolhidas por ser umas das mais utilizadas em análise de clustering (Iris, Wine, B-Câncer e Image Segmentation). Além disso, os artigos de estado da arte sobre o estudo da degeneração utilizam as instâncias Eilon e Ruspini.. Tabela 4.1: Instâncias utilizadas para os experimentos. Instâncias. Dimensão. Eilon (EILON, 1971). 50. 2. Ruspini (RUSPINI, 1970). 75. 2. Iris (BACHE; LICHMAN, 2013). 150. 4. Wine (BACHE; LICHMAN, 2013). 178. 14. B-Câncer (BACHE; LICHMAN, 2013). 699. 10. Image Segmentation 2312 (BACHE; LICHMAN, 2013) Fonte: Própria.. 19. Nos próximos experimentos são considerados 20 diferentes execuções do k-means de soluções iniciais conhecidas por levar a solução degenerada. Elas são movidas a partir de partições aleatórias de. registros disponíveis em. clusters. Os códigos foram implementados em ambiente Matlab e disponíveis para download no endereço eletrônico: http://ncdd.com.br. E os testes realizados em um computador com processador Xeon (R) CPU X5650 2.67GHz e 62GB de memória RAM. A Tabela 4.2 reporta os resultados quanto a aplicação do algoritmo kmeans. Ela serve como referência para os resultados apresentados nas próximas tabelas. Em relação às 20 execuções, a coluna avg. sol. relata a média das soluções obtida em cada caso, ao passo que a coluna iter apresenta o número médio de iterações do k-means; a coluna time é o tempo médio em segundos e; a coluna. faz referência ao grau máximo de degeneração. observado em 20 execuções diferentes do algoritmo acima citado. 47.

(48) Tabela 4.2: Resultados benchmark do k-means. Instance Eilon (n = 50). Ruspini (n = 75). Iris (n = 150). Wine (n = 178). B-Câncer (n = 699). Image Segmentation (n = 2312). k. avg. sol.. iter. time. 5 10 15 20 25 5 10 15 20 25 30 5 10 15 20 40 50 60 70 5 10 20 30 40 50 60 70 80 5 10 20 50 100 200 300 5 10 20 50 100 500 1000. 142,68 58,95 39,53 26,71 19,46 10528,90 7378,85 6226,26 5617,79 4543,16 3816,75 52,36 39,64 35,23 29,56 19,58 17,60 15,10 12,06 918726,23 538874,95 411222,20 200997,43 167113,87 138635,35 121802,38 69040,03 37198,99 14195,17 11466,05 9025,22 7224,44 6020,56 4388,28 3075,54 20656585,07 11122078,21 6081567,47 3215416,44 2601708,31 1395120,19 781734,18. 7,5 6,2 6,0 5,4 4,7 6,5 6,3 6,6 6,8 7,1 6,0 10,4 13,7 14,1 13,7 10,7 9,9 8,0 8,2 14,4 16,4 16,2 23,4 16,4 11,5 9,8 9,2 9,1 19,1 17,6 19,8 17,3 14,2 9,2 7,5 21,7 25,8 32,4 33,8 35,3 21,8 12,1. 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,01 0,01 0,01 0,01 0,01 0,01 0,01 0,01 0,01 0,02 0,03 0,03 0,02 0,02 0,03 0,03 0,04 0,05 0,08 0,12 0,17 0,20 0,24 0,18 0,28 0,53 1,09 2,07 5,97 6,58. 2 3 4 6 7 2 6 10 15 17 18 2 5 8 11 25 31 38 34 1 2 6 9 12 18 23 21 26 1 2 8 20 47 94 131 1 3 7 25 55 284 510. Fonte: Própria.. A Tabela 4.3 apresenta para cada instância e para cada estratégia de remoção da degeneração: As médias das melhorias (% improv) sobre as soluções obtidas pela heurística k-means; Desvio médio a partir do número de iterações do k-means ( iter) quando a estratégia é usada (coluna iter tabela 4.2); 48.

(49) O grau máximo de degeneração (. ) encontrado como resultado de 20. execuções do k-means com inicialização aleatória; Tempo de processamento médio ( time - em segundos) gasto pelo kmeans quando a estratégia é aplicada (coluna time da tabela 4.2).. Tabela 4.3: Comparação entre os seis métodos para remover a degeneração. First Improving k. strategy. %improv. (a) Eilon. Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy. 0,24 3,89 -1,34 6,67 4,94 6,31 0,83 3,11 0,36 4,57 3,39 3,97 17,46 18,70 16,20 23,16 22,47 26,02 32,84 34,07 25,09 47,55 51,39 50,55 50,32 110,09 31,71 100,81 106,04 105,80 -30,48 -3,79 -48,18 -5,69 -5,62 -4,20 21,36 35,44 17,53 42,78 43,03 43,35 67,09 94,15. 5. 10. 15. 20. 25. (b) Ruspini. 5. 10. Iter -0,5 -0,0 -0,8 -1,3 -1,5 -1,5 0,8 -0,4 0,1 -0,5 -0,4 -0,7 0,2 -0,2 -0,2 -0,7 -0,5 -0,7 -0,1 -0,8 -0,1 -0,9 -0,8 -1,0 0,7 -0,7 -0,4 -0,5 -0,4 -0,7 -0,3 -0,8 -0,5 -1,2 -1,2 -1,2 1,0 0,0 1,1 -0,2 0,0 -1,0 1,0 -0,8. Last Improving time. 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 6 6 6 6 6 6 7 7 7 7 7 7 2 2 2 2 2 2 6 6 6 6 6 6 10 10. 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00. %improv. * * * * * * 2,28 2,73 0,52 2,26 2,26 2,26 14,00 20,89 9,04 29,86 27,84 31,94 25,36 58,97 16,52 65,03 65,19 64,49 39,94 137,12 32,82 119,54 112,39 118,85 * * * * * * 28,36 41,32 29,18 47,18 49,27 49,41 73,07 121,85. Iter * * * * * * 0,7 0,3 0,2 0,2 0,2 0,2 2,4 1,7 1,6 1,6 1,6 1,7 2,7 2,0 1,9 1,9 2,0 1,9 3,5 2,0 2,0 2,0 2,0 2,0 * * * * * * 4,0 3,0 3,8 2,6 2,3 2,0 4,9 3,1. time * * * * * * 3 3 3 3 3 3 4 4 4 4 4 4 6 6 6 6 6 6 7 7 7 7 7 7 * * * * * * 6 6 6 6 6 6 10 10. 49. * * * * * * 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 * * * * * * 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00.

(50) 15. 20. 25. 30. (c) Iris 5. 10. 15. 20. 40. 50. 60. - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy. 39,11 107,08 104,62 113,50 125,81 176,79 100,08 172,55 156,27 172,16 159,11 219,13 101,99 214,08 202,36 223,72 182,47 297,37 115,42 260,45 257,00 285,63 1,21 1,53 1,98 0,75 2,58 -0,36 24,21 37,81 11,94 35,44 33,25 32,95 51,68 65,98 35,05 55,32 57,99 52,41 55,98 67,63 35,53 53,93 60,25 57,38 76,66 122,44 43,59 115,74 119,20 126,08 115,89 181,31 64,44 157,51 160,92 177,66 117,06 218,23. 0,2 -1,5 -0,4 -1,8 -0,1 -1,5 -0,1 -2,1 -1,3 -2,5 -0,3 -1,9 -0,6 -2,0 -1,7 -2,8 0,7 -1,2 -0,1 -1,3 -0,8 -1,6 0,1 -1,9 0,4 -2,8 -0,4 -3,7 -3,1 -2,9 -2,2 -3,8 -3,1 -2,7 -4,7 -3,3 -2,4 -5,7 -4,9 -6,9 -4,5 -3,3 -4,1 -5,8 -5,0 -6,8 -2,5 -3,5 -1,6 -4,3 -3,7 -4,3 -2,1 -3,3 -1,8 -3,7 -3,6 -4,0 -1,0 -2,0. 10 10 10 10 15 15 15 15 15 15 17 17 17 17 17 17 18 18 18 18 18 18 2 2 2 2 2 2 5 5 5 5 5 5 8 8 8 8 8 8 11 11 11 11 11 11 25 25 25 25 25 25 31 31 31 31 31 31 38 38. 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,01 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,01 0,00 0,00 0,00 0,00 0,00 0,01 0,00 0,00 0,00 0,00 0,00 0,01 0,00 0,00 0,00 0,01 0,01. 63,67 114,04 112,27 117,52 121,81 182,78 87,93 175,64 161,46 176,75 138,06 239,06 125,01 217,77 200,38 232,33 173,18 311,88 139,44 270,44 265,27 305,08 * * * * * * 13,86 17,00 6,22 17,02 17,05 17,04 47,65 61,75 23,78 57,78 58,09 58,85 53,17 67,18 22,94 59,63 62,31 65,07 78,95 129,81 56,56 127,24 121,44 139,20 102,29 192,19 83,75 178,96 170,96 199,20 116,94 246,66. 4,0 2,1 2,3 2,0 6,1 2,6 4,2 2,5 3,4 2,1 6,2 3,0 4,8 2,6 3,3 2,1 6,1 2,9 5,1 2,5 3,0 2,1 * * * * * * 4,2 3,9 2,8 2,5 3,6 2,1 6,3 7,8 6,5 3,8 5,6 2,3 6,0 7,0 4,7 3,7 4,5 3,3 8,3 3,4 5,7 3,2 4,0 3,1 8,6 3,2 6,1 3,2 3,8 2,7 8,1 3,0. 10 10 10 10 15 15 15 15 15 15 17 17 17 17 17 17 18 18 18 18 18 18 * * * * * * 5 5 5 5 5 5 8 8 8 8 8 8 11 11 11 11 11 11 25 25 25 25 25 25 31 31 31 31 31 31 38 38. 50. 0,00 0,00 0,00 0,00 0,01 0,00 0,01 0,00 0,01 0,00 0,01 0,01 0,01 0,01 0,01 0,00 0,01 0,01 0,01 0,01 0,01 0,00 * * * * * * 0,01 0,01 0,01 0,01 0,01 0,01 0,01 0,02 0,01 0,01 0,01 0,01 0,01 0,02 0,01 0,01 0,01 0,01 0,02 0,02 0,02 0,02 0,02 0,02 0,03 0,02 0,02 0,02 0,02 0,02 0,03 0,02.

(51) 70. (d) Wine. 5. 10. 20. 30. 40. 50. 60. 70. 80. - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy. 69,36 200,99 187,87 208,06 100,06 236,08 56,59 199,98 197,76 221,45 -4,96 -2,45 -1,74 0,25 0,25 0,25 2,56 91,77 1,39 -0,74 -0,74 -0,74 18,62 133,70 0,93 69,60 71,06 74,34 23,73 103,68 13,25 64,97 71,69 67,46 81,01 208,07 16,89 175,52 173,21 178,23 105,68 344,38 28,41 299,81 293,06 320,14 133,25 584,66 51,66 524,00 505,43 552,00 87,62 471,88 53,70 416,84 406,39 432,48 110,21 370,37. -0,8 -2,6 -2,2 -3,0 -0,9 -2,6 -1,2 -3,2 -2,5 -3,4 -2,8 -6,2 -3,2 -6,9 -6,8 -7,1 -2,5 0,8 -0,3 -2,2 -2,2 -2,1 -2,7 -4,2 -0,8 -3,3 -3,5 -3,4 -7,4 -13,3 -0,8 -16,0 -15,5 -15,5 -4,3 -8,3 -2,3 -9,6 -9,7 -9,9 -3,3 -5,7 -0,5 -5,3 -5,0 -5,1 -1,2 -3,5 1,0 -4,2 -2,9 -4,4 -1,1 -3,2 0,8 -4,0 -3,7 -4,0 -1,4 -3,6. 38 38 38 38 34 34 34 34 34 34 1 1 1 1 1 1 2 2 2 2 2 2 6 6 6 6 6 6 9 9 9 9 9 9 12 12 12 12 12 12 18 18 18 18 18 18 23 23 23 23 23 23 21 21 21 21 21 21 26 26. 0,01 0,00 0,01 0,00 0,01 0,00 0,01 0,00 0,01 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,01 0,02 0,01 0,01 0,01 0,01 0,00 0,00 0,01 0,00 0,00 0,01 0,00 -0,01 0,02 -0,02 -0,02 -0,01 0,00 -0,01 0,01 -0,01 -0,01 -0,01 0,00 -0,01 0,01 0,00 0,00 0,00 0,01 0,00 0,02 0,00 0,00 0,00 0,01 0,00 0,02 0,00 0,00 0,00 0,01 0,00. 78,13 210,50 195,26 232,61 102,05 258,55 70,86 231,44 199,39 241,94 * * * * * * * * * * * * 35,01 124,46 24,10 129,78 129,83 129,79 50,51 92,83 23,16 86,52 87,43 86,61 85,07 202,13 46,37 176,31 176,09 182,54 109,51 338,85 73,17 300,66 291,00 321,77 150,84 544,24 63,02 520,42 503,70 561,90 115,36 479,00 53,57 462,69 435,25 450,28 61,18 400,32. 7,2 2,9 4,1 2,2 8,7 2,3 6,7 2,4 3,2 2,0 * * * * * * * * * * * * 4,4 2,9 4,0 2,0 2,1 2,2 6,6 4,6 4,0 2,7 2,8 2,2 7,8 4,4 4,8 3,2 3,7 2,5 7,6 6,2 5,4 3,4 4,2 4,1 7,8 5,3 5,2 2,4 3,4 3,2 8,6 2,8 3,9 2,8 3,4 2,7 7,7 2,1. 38 38 38 38 34 34 34 34 34 34 * * * * * * * * * * * * 6 6 6 6 6 6 9 9 9 9 9 9 12 12 12 12 12 12 18 18 18 18 18 18 23 23 23 23 23 23 21 21 21 21 21 21 26 26. 51. 0,03 0,02 0,02 0,02 0,03 0,02 0,03 0,02 0,02 0,02 * * * * * * * * * * * * 0,02 0,02 0,02 0,01 0,01 0,01 0,03 0,03 0,03 0,02 0,02 0,02 0,04 0,03 0,03 0,02 0,03 0,02 0,04 0,04 0,03 0,03 0,03 0,03 0,04 0,03 0,03 0,02 0,03 0,03 0,05 0,03 0,03 0,03 0,03 0,03 0,06 0,03.

(52) (e) B-Câncer. 5. 10. 20. 50. 100. 200. 300. (f) Image Segmentation. 5. 10. - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy - Random - Greedy Mixed DB Random Greedy. 47,27 311,48 303,42 320,97 -0,13 -0,68 0,14 -0,62 -0,30 0,02 -0,50 0,99 -0,92 0,83 1,06 0,66 -2,63 2,48 -0,91 1,67 -0,18 0,67 9,12 19,74 6,65 15,91 16,05 14,73 21,60 55,12 20,60 43,77 44,19 46,21 47,55 135,86 46,36 106,24 97,33 117,15 86,44 454,92 100,87 338,24 288,13 352,54 -2,08 18,43 -4,33 11,85 -1,74 -2,92 -0,10 5,73 0,64 1,64 1,30 0,37 -0,83 6,69. -0,8 -4,1 -3,6 -4,2 0,4 -1,7 -1,4 -2,2 -2,8 -2,3 -0,2 -2,4 0,1 0,2 -0,9 0,4 -2,2 -1,4 -3,4 -0,3 -1,7 1,0 -3,2 -4,5 -3,1 -4,9 -5,6 -6,7 -3,3 -4,3 -2,8 -5,9 -5,2 -5,6 -0,7 -2,0 -0,4 -3,0 -2,3 -3,0 4,6 -1,5 0,3 -2,5 -1,8 -2,6 0,5 -3,1 -1,7 -2,9 2,1 -0,5 -2,8 5,4 0,2 -0,6 -2,4 0,4 -4,3 -7,0. 26 26 26 26 1 1 1 1 1 1 2 2 2 2 2 2 8 8 8 8 8 8 20 20 20 20 20 20 47 47 47 47 47 47 94 94 94 94 94 94 131 131 131 131 131 131 1 1 1 1 1 1 3 3 3 3 3 3 7 7. 0,01 -0,01 0,00 -0,01 0,03 0,02 0,02 0,02 0,02 0,09 0,03 0,02 0,03 0,03 0,03 0,26 0,03 0,04 0,02 0,04 0,03 0,44 0,03 0,02 0,03 0,02 0,01 0,18 0,02 0,02 0,04 -0,02 0,00 0,02 0,08 0,04 0,10 0,00 0,03 0,01 0,39 0,05 0,15 -0,01 0,03 -0,02 0,11 0,06 0,08 0,07 0,13 4,09 0,10 0,26 0,16 0,15 0,12 3,12 0,14 0,08. 52,20 343,01 328,25 357,99 * * * * * * * * * * * * * * * * * * 7,30 13,66 6,44 14,83 14,59 14,94 22,26 50,86 24,19 46,34 43,07 48,96 44,61 146,67 43,51 127,47 103,35 133,90 81,55 414,09 88,91 336,26 281,04 351,25 * * * * * * * * * * * * * *. 3,7 2,2 3,1 2,1 * * * * * * * * * * * * * * * * * * 8,0 5,9 6,3 5,1 6,8 5,1 8,8 4,4 8,6 5,5 5,8 4,5 14,0 2,5 9,8 2,8 4,5 2,7 22,9 2,0 10,8 2,2 4,4 2,1 * * * * * * * * * * * * * *. 26 26 26 26 * * * * * * * * * * * * * * * * * * 20 20 20 20 20 20 47 47 47 47 47 47 94 94 94 94 94 94 131 131 131 131 131 131 * * * * * * * * * * * * * *. 52. 0,03 0,03 0,03 0,03 * * * * * * * * * * * * * * * * * * 0,15 0,13 0,13 0,12 0,14 0,16 0,27 0,18 0,27 0,21 0,21 0,20 0,66 0,21 0,50 0,23 0,30 0,22 1,46 0,25 0,76 0,26 0,39 0,25 * * * * * * * * * * * * * *.

Referências

Documentos relacionados

Purpose: This thesis aims to describe dietary salt intake and to examine potential factors that could help to reduce salt intake. Thus aims to contribute to

Quando Goffman (1985) fala em palco e cenário, atores e platéia, papéis e rotinas de representação, necessidade, habilidades e estratégias dramatúrgicas,

E para opinar sobre a relação entre linguagem e cognição, Silva (2004) nos traz uma importante contribuição sobre o fenômeno, assegurando que a linguagem é parte constitutiva

dois gestores, pelo fato deles serem os mais indicados para avaliarem administrativamente a articulação entre o ensino médio e a educação profissional, bem como a estruturação

O construto estilo e qualidade de vida é explicado pelos seguintes indicadores: estilo de vida corrido realizando cada vez mais trabalho em menos tempo, realização

Este artigo analisa a relação entre criminalidade no entorno das escolas e a proficiência escolar de alunos de 4 a e 8 a séries (5º e 9º anos) do ensino fundamental no município

e à sociedade em geral o documento de Referências Técnicas para a Prática de Psicólogas(os) no Centro de Referência Especializado da Assistência Social – CREAS, produzido

Os resultados são apresentados de acordo com as categorias que compõem cada um dos questionários utilizados para o estudo. Constatou-se que dos oito estudantes, seis