next up previous
Seguinte: Agrupamento e distribuição de Acima: Algoritmos para distribuição de Anterior: Algoritmos para distribuição de

O Problema de agrupamento

Um exemplo clássico da literatura de computação geométrica e de clustering consiste em escolher onde localizar $k$ hospitais numa cidade de modo que nenhum habitante more mais longe que o necessário do hospital mais próximo. Na literatura de geometria combinatorial, ver por exemplo [#!berg:computational-geo!#,#!edelsbrunner:combgeo!#], este problema é usualmente conhecido como Post Office Problem e resolvido usando diagramas de Voronoi. Este problema pode, no entanto, não ser facilmente resolvido, dependendo da definição de distância entre os pontos. Alpert cita-o como exemplo de um problema de clustering em [#!alpert:graph.partitioning!#]. Outro exemplo é o de agrupar os pontos mais similares entre si da primeira parte da figura 3. Na segunda parte da figura, cada ponto foi substituído pelo número do cluster a que ele pertence, indentificado pelo processo de clustering.

Figura 3: Um exemplo de clustering
Image clustering % latex2html id marker 1099
\includegraphics[scale=0.8]{clustering.ps}

Bastante estudado na literatura, clustering trata-se basicamente de agrupar determinados objetos em grupos de acordo com características comuns a eles, e separá-los de acordo com características que os diferenciem. Segundo Guha et al.  [#!guha98:cure!#], o problema de clustering pode ser definido como a seguir: dados $n$ objetos num espaço métrico de $d$ dimensões, particiona-se estes objetos em $k$ grupos (clusters ), tais que os objetos em um grupo são mais similares entre si do que em relação a objetos de outros grupos.

Os objetos analisados precisam ter características que possam vir a ser usadas para agrupá-los ou separá-los. Eles costumam ter, portanto, um vetor de $d$ dimensões com essas características. Para analisá-las, é necessário uma função de similaridade que leve em conta as características mais relevantes para a classificação. Por exemplo, pontos num espaço bidimensional poderiam ser agrupados de acordo com suas coordenadas cartesianas, e a função de similaridade poderia usar apenas a Distância Euclidiana como fator de classificação. É importante salientar que, quando a função de similaridade é dada pela distância Euclideana entre os pontos, freqüentemente soluções da geometria computacional, como diagramas de Voronoi e triangualação revelam-se mais precisos e eficientes.

Jain et al.  [#!jain99:clustering.review!#] citam 5 passos típicos envolvidos num processo de agrupamento:

  1. Representação dos Padrões : Leva em consideração o número de padrões, número de classes e número, tipo e escala das características. Nesta etapa, opcionalmente, pode haver a Seleção das Características mais apropriadas a serem analisados no agrupamento. Pode haver também a Extração das Características, que é o ato de transformar as características dos objetos em algo mensurável.
  2. Definição da medida de proximidade dos padrões apropriada ao domínio de dados (normalmente, uma função de distância entre pares de objetos).
  3. Agrupamento (clustering).
  4. Abstração dos dados: Trata-se de simplificar e compactar a representação de um conjunto de dados, para uma análise automática posterior por alguma máquina ou para ser compreendida por humanos.
  5. Geração de uma saída (output).

Figura: Etapas do agrupamento
Image etapas

Além destas etapas, pode haver ainda uma última de validação dos grupos gerados, onde será feita uma análise do que foi obtido com o algoritmo.

A figura [*] mostra uma seqüência típica das três primeiras etapas, incluindo ainda um feedback loop, no qual a saída do processo de agrupamento pode afetar a próxima extração de características ou as computações de similaridade.


next up previous
Seguinte: Agrupamento e distribuição de Acima: Algoritmos para distribuição de Anterior: Algoritmos para distribuição de
Raul Henriques Cardoso Loopes 2005-02-25