ALGORITMOS DE AGRUPAMENTO
(
CLUSTERING
)
Aluno: Daniel Miranda de Brito Prof. Thaís Gaudencio do Rêgo
Baseada na aula do Prof. Marcílio Souto (UFPE/UFRN)
Algoritmos de Agrupamento
2
Agrupamento Hierárquico
k-
médias (
k-
means)
Procedimentos hierárquicos de agrupamento
3
Envolvem a construção de uma hierarquia ou “árvore” de clusters
! Divisivo
! Aglomerativo
■ Ligação Individual/simples (single linkage) ■ Ligação Completa (complete linkage)
Métodos Aglomerativos
4
Cada objeto começa como seu próprio grupo (cluster)
Em passos seguintes, os dois grupos (ou objetos) mais próximos (similares) são combinados em um novo agregado
! O número de grupos é reduzido em uma unidade em
cada passo
Método Hierárquico: Ligação Individual
5
Encontra os dois objetos separados pela menor distância (mais similares) e os coloca no primeiro grupo
Em seguida, a próxima menor distância (ou maior similaridade) é determinada, e um terceiro objeto se junta aos dois primeiros para formar um grupo, ou um novo grupo de dois elementos é formado
! A distância (similaridade) entre dois grupos quaisquer é a menor
distância (maior similaridade) de qualquer ponto de um grupo até qualquer ponto do outro
! dC-> (A,B) = min(dCA,dCB) = min(5.56, 4.95) = 4.95
Ligação Individual: Características
6
Gera grupos alongados
Problemas em lidar com grupos mal delineados
! Em tais casos, procedimentos de ligação individual
geram longas cadeias e eventualmente todos os objetos são colocados em uma sua cadeia
! Os objetos em extremos opostos de uma cadeia podem
Ligação Simples: Características
7
Método Hierárquico: Ligação Completa
8
Encontra os dois objetos separados pela menor distância (mais similares) e os coloca no primeiro grupo
Em seguida, a próxima menor distância (ou maior similaridade) é determinada, e um terceiro objeto se junta aos dois primeiros para formar um grupo, ou um novo grupo de dois elementos é formado
! A distância (similaridade) entre dois grupos quaisquer é a maior
distância (menor similaridade) de qualquer ponto de um grupo até qualquer ponto do outro
! dC-> (A,B) = max(dCA,dCB) = max(5.56, 4.95) = 5.56
Método Hierárquico: Ligação Completa
9
A distância máxima entre indivíduos entre objetos em cada grupo representa a menor esfera (diâmetro mínimo) que pode incluir todos os objetos em ambos os grupos
Esse método é chamado de ligação completa porque todos os objetos em agrupamento são conectados um com o outro a alguma distancia máxima ou similaridade mínima
Ligação Individual x Ligação Completa
Método Hierárquico: Ligação Média
11
Esse método começa da mesma forma que a ligação individual ou completa, mas o critério de agrupamento é a distância (similaridade) média de todos os objetos em um grupo para os demais em outro
! dC-> (A,B) = media(dCA,dCB) = media(5.56, 4.95) = 5.25
São menos dependentes de valores extremos, como ocorre com a ligação individual ou completa
! A partição é baseada em todos os valores dos grupos, ao invés
de de um único par de membros extremos
Tendem a combinar grupos com pequena variação interna
Exemplo encadeamento simples
12
Conjunto de 6 objetos
1ª Passo: Calcular a matriz de distâncias
Exemplo disponível em: http://people.revoledu.com/kardi/tutorial/Clustering/Numerical%20Example.htm
Objeto Coordenada X1 Coordenada X2
A 1 1
B 1.5 1.5
C 5 5
D 3 4
E 4 4
Exemplo encadeamento simples
13
Matriz de distâncias
! Menor distância dDF = 0.5
Exemplo encadeamento simples
14
Juntar D e F em um novo cluster
! Qual a distância de (D,F) para os outros clusters?
■ Distância mínima entre os objetos originais dos dois clusters D
Exemplo encadeamento simples
15
Atualização da matriz de distâncias
! d(D,F)->A = min(dDA,dFA) = min(3.61, 3.20) = 3.20 ! d(D,F)->B = min(dDB,dFB) = min(2.92, 2.50) = 2.50 ! d(D,F)->C = min(dDC,dFC) = min(2.24, 2.50) = 2.24 ! d(D,F)->E = min(dDE,dFE) = min(1.00, 1.12) = 1.00
Exemplo encadeamento simples
16
Selecionam-se os clusters de menor distância e junta-os em um novo cluster
Exemplo de encadeamento simples
17
Atualização da matriz de distâncias
! dC-> (A,B) = min(dCA,dCB) = min(5.56, 4.95) = 4.95
! d(D,F)->(A,B) = min(dDA,dDB, dFA, dFB) = min(3.61, 2.92, 3.20, 2.50) =
2.50
! dE->(A,B) = min(dEA,dEB) = min(4.24, 3.54) = 3.54
Exemplo de encadeamento simples
18
Selecionam-se os clusters de menor distância e junta-os em um novo cluster
Exemplo de encadeamento simples
19
Atualização da matriz de distâncias
! d((D,F),E)-> (A,B) = min(dDA, dDB, dFA, dFB, dEA, dEB) = min(3.61, 2.92,
3.20, 2.50, 4.24, 3.54 ) = 2.50
! d((D,F),E)-> C = min(dDC, dFC, dEC) = min(2.24, 2.50, 1.41) = 1.41
Exemplo de encadeamento simples
20
Selecionam-se os clusters de menor distância e junta-os em um novo cluster
Exemplo de encadeamento simples
21
Atualização da matriz de distâncias
! d(((D,F),E),C)-> (A,B) = min(dDA, dDB, dFA, dFB, dEA, dEB, dCA, dCB) =
min(3.61, 2.92, 3.20, 2.50, 4.24, 3.54, 5.66, 4.95) = 2.50
Exemplo encadeamento simples
22
Quando juntamos os últimos clusters, teremos um único cluster com todos os objetos
Abaixo, resumem-se as iterações
Iteração Distância Nº Clusters Clusters formados
Exemplo encadeamento simples
23
Exemplo encadeamento simples
24
Métodos Hierárquicos
25
Métodos Hierárquicos
! Abordagem aglomerativa
! Hierarquia
! Determinístico
! Produz uma ordem para os objetos – informativo para a exibição
de dados
Dificuldades
! A estrutura é sempre uma árvore
■ Embora os usuários possam indicar um número desejado de clusters como condição de término
! Os objetos só podem ser agrupados baseando-se em decisões
k
-Médias
26
Técnica de agrupamento particional baseada em centroide
! O centroide é usado para representar o cluster
A qualidade do agrupamento pode ser medida pela variância intracluster
! Tenta produzir os clusters mais compactos e separados
k
-Médias
27
Esta técnica difere do agrupamento hierárquico de várias maneiras. Em particular,
! Não há hierarquias, os dados são particionados
! Ou seja, a solução de seis grupos não é apenas a
combinação de dois grupos a partir de uma solução com sete grupos, como no hierárquico, mas baseada apenas na descoberta da melhor solução com seis grupos
O resultado é apenas a pertinência final de cada padrão aos aglomerados
O número de aglomerados permitido (k) tem que ser
k
-Médias
28
Passo 1: Os primeiros k centros dos aglomerados são escolhidos aleatoriamente
Passo2: Cada objeto é atribuído ao grupo associado com o centro mais próximo
Exemplo
k-
Médias
29
Aplicar o algoritmo com K = 2, usando a distância euclidiana como medida de similaridade:
Objeto Attribute X Attribute Y
A 1 1
B 2 1
C 4 3
D 5 4
Exemplo
k-
Médias
30
Exemplo
k-
Médias
31
Exemplo
k-
Médias
32
Exemplo
k-
Médias
33
2ª Iteração
2.36
0.47
Exemplo
k-
Médias
34
Exemplo
k-
Médias
35
Exemplo
k-
Médias
36
Exemplo
k-
Médias
37
0.50 0.50 3.20 5.00
Exemplo
k-
Médias
38
Resultado Final
Objeto Attribute X Attribute Y Cluster
A 1 1 1
B 2 1 1
C 4 3 2
k
-médias: sensibilidade à condição inicial
k
-médias: sensibilidade à condição inicial
k
-médias: sensibilidade à condição inicial
k
-médias: sensibilidade à condição inicial
k
-médias: sensibilidade à condição inicial
k
-Médias
44
Características
! Partição
! O número de grupos deve ser definido a priori
! Não-determinístico – inicializações aleatórias dos
centros
! Grupos (clusters) esféricos
Dificuldades
! Como determinar se há realmente apenas k grupos
k
-Médias
45
Pode ser aplicado apenas quando a média do conjunto de objetos é definida
! Pode não ser o caso de algumas aplicações com
atributos nominais
! Solução: K-Modas
Sensível a outliers
! Pois eles podem distorcer dramaticamente o valor
médio do cluster
Mean Shift
46
Técnica de agrupamento não paramétrico que não requer conhecimento a priori do número de clusters e nem restringe a sua forma.
! O número de clusters é obtido automaticamente
encontrando os centros de regiões mais densas no espaço (modas)
Definição da função kernel e parâmetros bandwidth.
Mean Shift é um algoritmo de hill climbing que envolve deslocar
o kernel iterativamente para regiões mais densas, até a
Mean Shift
47
Procedimento
! Posiciona-se o kernel em cada ponto do conjunto de
dados;
! Desloca-se o kernel em direção aos centros das regiões
mais densas do espaço de objetos, até que o deslocamento seja menor que determinado limiar;
! Pontos que compartilharem centros compõem um mesmo
Mean Shift
Mean Shift (Simulação)
48
Pontos: A = (2,4) B = (3,3) C = (7,7)
Bandwidth = 2
Threshold = 0
Kernel = flat
(média aritmética simples)
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
Ponto estacionário (2.5, 3.5)
Cluster atribuído: 1
Ponto estacionário (2.5, 3.5)
Cluster atribuído: 1
Ponto estacionário (7, 7)
Cluster atribuído: 2
Cluster 1
Referências
49
Hair-Jr., J. F. et al (2005). Análise multivariada de dados. Capítulo 9 - Análise de Agrupamentos. pp. 381-419. Bookman.
Jain, A K. et al (1999). Data clustering: a review. ACM Computing Surveys, v. 31, pp. 264-323.
Referências
50
Georgescu, Bogdan, Ilan Shimshoni, and Peter Meer. "Mean shift based clustering in high dimensions: A texture classification example." Computer Vision, 2003. Proceedings. Ninth IEEE International
Conference on. IEEE, 2003.
Han, Jiawei, Jian Pei, and Micheline Kamber. Data