• Nenhum resultado encontrado

2.2 An´ alise probabil´ıstica

2.2.2 T´ ecnicas de clusteriza¸c˜ ao

Conforme Jain (2010), a an´alise por interm´edio de clusters ´e o estudo formal de m´etodos e algoritmos para agrupar ou clusterizar objetos de acordo com medidas ou caracter´ısticas intr´ınsecas percebidas ou atrav´es da similaridade. O objetivo da clusteriza¸c˜ao ´e encontrar estruturas em dados e, portanto, ´e de natureza explorat´oria. De maneira semelhante, Zalik (2008) define a clusteriza¸c˜ao como o processo de particionar ou agrupar um determinado conjunto de padr˜oes em clusters disjuntos. Isso ´e feito de tal forma que os padr˜oes no mesmo cluster s˜ao semelhantes e os padr˜oes pertencentes a dois clusters distintos s˜ao diferentes. Clusters podem diferir em termos de sua forma, tamanho e densidade. Bradley et al. (1998) afirmam que a abordagem mais usual ´e ver a clusteriza¸c˜ao como um problema de estimativa de densidade. Um cluster ideal pode ser definido como um conjunto de pontos que ´e compacto e isolado.

Os algoritmos de clusteriza¸c˜ao podem ser divididos em dois grupos: hier´arquicos e particionais. De acordo com Jain (2010), os algoritmos de clusteriza¸c˜ao hier´ar-

quicos recursivamente encontram clusters aninhados tanto em modo aglomerativo (come¸cando com cada ponto em seu pr´oprio cluster e mesclando o par de clusters mais similar sucessivamente para formar uma hierarquia de clusters) ou no modo divisivo (come¸cando com todos os pontos em um cluster e recursivamente dividindo cada cluster em clusters menores). Em compara¸c˜ao com os algoritmos de cluste- riza¸c˜ao hier´arquicos, os algoritmos de clusteriza¸c˜ao particionais localizam todos os clusters simultaneamente como uma parti¸c˜ao dos dados e n˜ao imp˜oem uma estrutura hier´arquica.

A forma mais simples de clusteriza¸c˜ao ´e a particional, que visa particionar um dado conjunto de dados em subconjuntos disjuntos (clusters) para que os crit´erios de clusteriza¸c˜ao sejam otimizados. A minimiza¸c˜ao do erro de clusteriza¸c˜ao ´e o crit´erio mais amplamente utilizado, no qual para cada ponto ´e calculada sua distˆancia qua- dr´atica do centr´oide do cluster correspondente e, em seguida, ´e computada a soma dessas distˆancias para todos os pontos no conjunto de dados analisado (LIKAS; VLASSIS; VERBEEK, 2003).

Jain (2010) fez uma importante distin¸c˜ao entre m´etodos de clusteriza¸c˜ao e algo- ritmos de clusteriza¸c˜ao. Um m´etodo de clusteriza¸c˜ao ´e uma estrat´egia geral empre- gada para resolver um problema de clusteriza¸c˜ao. Um algoritmo de clusteriza¸c˜ao, por outro lado, ´e simplesmente uma instˆancia de um m´etodo. Por exemplo, mi- nimizar o erro quadr´atico ´e um m´etodo de clusteriza¸c˜ao, e h´a muitos algoritmos de clusteriza¸c˜ao diferentes, incluindo o K-means, que implementam o m´etodo de minimiza¸c˜ao do erro quadr´atico.

Um dos algoritmos de clusteriza¸c˜ao mais simples e populares, o algoritmo parti- cional K-means, tem uma rica e diversificada hist´oria, uma vez que foi descoberto independentemente em diferentes campos cient´ıficos. Alguns autores atribuem que o algoritmo foi originalmente proposto por Macqueen (1967). De acordo com Jain (2010), apesar do fato de que o K-means foi proposto h´a mais de 50 anos e milhares de algoritmos de clusteriza¸c˜ao foram publicados desde ent˜ao, o K-means ainda ´e amplamente utilizado. Isso explica a dificuldade em projetar um algoritmo de clus- teriza¸c˜ao de prop´osito geral e o problema de agrupamentos mal-configurados que podem ser enfrentados pela clusteriza¸c˜ao.

estrutura. Considera-se X = {xi, i = 1, ..., n} como o conjunto de n pontos d-

dimensionais a serem clusterizados em um conjunto de K subconjuntos disjuntos (clusters) C = {ck, k = 1, ..., K}. O algoritmo K-means localiza uma parti¸c˜ao de

tal forma que o erro quadr´atico entre a m´edia emp´ırica de um cluster e os pontos no cluster ´e minimizado, no qual µk ´e o centr´oide geom´etrico do cluster ck. O erro

quadr´atico entre µk e os pontos no cluster ck ´e definido por:

J (ck) =

X

xi∈ck

||xi− µk||2. (1)

O objetivo do K-means ´e minimizar a soma dos erros quadr´aticos de todos os K clusters, dado por:

J (C) =

K

X

k=1

J (ck). (2)

De acordo com Jain (2010), minimizar essa fun¸c˜ao objetivo ´e conhecido por ser um problema NP-completo. O K-means inicia com uma parti¸c˜ao inicial com K clusters e busca atribuir padr˜oes a clusters a fim de reduzir o erro quadr´atico. Como o erro quadr´atico sempre diminui com um aumento no n´umero de clusters (com J (C) = 0 quando K = n), ele pode ser minimizado apenas para um n´umero fixo de clusters. Os principais passos do algoritmo K-means s˜ao os seguintes:

1. Inicializar K centr´oides µ1, µ2, ..., µk por valores iniciais conhecidos como seed

points, geralmente utilizando inicializa¸c˜ao aleat´oria;

2. Gerar uma nova parti¸c˜ao atribuindo cada ponto ao centro do cluster mais pr´oximo;

3. Recalcular o centr´oide µk de cada cluster ;

4. Para todos os pontos xi e todos K clusters, repetir os Passos 2 e 3 at´e todos

os centr´oides convergirem.

A Figura 1 mostra uma ilustra¸c˜ao do algoritmo K-means em um conjunto de dados bidimensional com trˆes clusters. A Figura 1(a) representa os dados de entrada bidimensionais. Na Figura 1(b) foram definidos 3 centr´oides de forma aleat´oria e ocorreu a associa¸c˜ao inicial dos pontos aos clusters. Itera¸c˜oes intermedi´arias s˜ao

representadas nas Figura 1(c) e (d), onde ´e atualizada a posi¸c˜ao dos centr´oides e a designa¸c˜ao dos pontos ao centr´oide mais pr´oximo. A Figura 1(e) ilustra a clusteriza¸c˜ao final obtida pelo algoritmo K-means na convergˆencia.

Figura 1: Exemplo de execu¸c˜ao do algoritmo K-means

Fonte: Adaptado de (JAIN, 2010).

O K-means tem se mostrado eficaz na produ¸c˜ao de bons resultados de cluste- riza¸c˜ao em muitas aplica¸c˜oes pr´aticas. Geralmente converge em poucas itera¸c˜oes para uma configura¸c˜ao est´avel, na qual nenhum elemento est´a designado para um cluster cujo centr´oide n˜ao seja o mais pr´oximo. O n´umero de clusters ´e considerado fixo no K-means originalmente proposto. A escolha apropriada do n´umero de K clusters depende do problema e geralmente requer que o usu´ario fa¸ca uma an´alise de sensibilidade com diferentes valores de K (ZALIK, 2008).

Desde o surgimento do algoritmo, in´umeros aprimoramentos e varia¸c˜oes tˆem sido propostos. Zalik (2008) prop˜oe uma adapta¸c˜ao ao algoritmo K-means, o qual executa a clusteriza¸c˜ao sem pr´e-atribuir o n´umero exato de clusters. No trabalho de Likas, Vlassis e Verbeek (2003) s˜ao propostos os m´etodos Global K-means e Fast Global K-means, que n˜ao dependem da inicializa¸c˜ao aleat´oria para os centro dos clusters, por empregar o algoritmo K-means como um procedimento de busca local.

Ao inv´es de selecionar aleatoriamente os valores iniciais para os centr´oides, a t´ecnica proposta prossegue de maneira incremental, tentando otimizar o acr´escimo de uma nova posi¸c˜ao central de cada cluster a cada est´agio.