Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto...

34
Algoritmos de Agrupamento Algoritmos de Agrupamento ( ( Clustering Clustering ): Métodos ): Métodos Hierárquicos e Hierárquicos e k k -médias -médias Marcílio C. P. de Souto DIMAp/UFRN

Transcript of Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto...

Page 1: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Algoritmos de Agrupamento (Algoritmos de Agrupamento (ClusteringClustering): ): Métodos Hierárquicos e Métodos Hierárquicos e kk-médias-médias

Marcílio C. P. de Souto

DIMAp/UFRN

Page 2: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Algoritmos de Agrupamento

Agrupamento Hierárquico

k-médias

Page 3: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Procedimentos Hierárquicos de Agrupamento

Envolvem a construção de uma hierarquia de uma estrutura do tipo árvore

Divisivo

Aglomerativo Ligação Individual Ligação Completa Ligação Média

Page 4: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Métodos Aglomerativos

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

Ao final, todos os elementos são reunidos em um grande agregado

Page 5: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Método Hierárquico: Ligação Individual

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

O procedimento continua até que todos os objetos formem um só agregado

Page 6: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Ligação Individual: Exemplo (1/6)

X1 X2 X3 X4 X5C_1 7,000 10,000 9,000 7,000 10,000C_2 9,000 9,000 8,000 9,000 9,000C_3 5,000 5,000 6,000 7,000 7,000C_4 6,000 6,000 3,000 3,000 4,000C_5 1,000 2,000 2,000 1,000 2,000C_6 4,000 3,000 2,000 3,000 3,000C_7 2,000 4,000 5,000 2,000 5,000

Exemplo do uso do Método Hierárquico Aglomerativo de Ligação Individual, com Correlação de Pearson como medida de proximidade

Page 7: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Ligação Individual: Exemplo (2/6)

C_1 C_2 C_3 C_4 C_5 C_6 C_7C_1 1,000 0,963C_2 -0,147 1,000 -0,408C_3 0,000 0,000 1,000 0,000C_4 0,087 0,516 -0,824 1,000 -0,060C_5 0,963 -0,408 0,000 -0,060 1,000C_6 -0,466 0,791 -0,354 0,699 -0,645 1,000C_7 0,891 -0,516 0,165 -0,239 0,963 -0,699 1,000

(C_1,C_5) C_2 C_3 C_4 C_6 C_7(C_1,C_5) 1,000 0,963C_2 -0,147 1,000 -0,516C_3 0,000 0,000 1,000 0,165C_4 0,087 0,516 -0,824 1,000 -0,239C_6 -0,466 0,791 -0,354 0,699 1,000 -0,699C_7 0,963 -0,516 0,165 -0,239 -0,699 1,000

Page 8: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Ligação Individual: Exemplo (3/6)

(C_1,C_5) C_2 C_3 C_4 C_6 C_7(C_1,C_5) 1,000 0,963C_2 -0,147 1,000 -0,516C_3 0,000 0,000 1,000 0,165C_4 0,087 0,516 -0,824 1,000 -0,239C_6 -0,466 0,791 -0,354 0,699 1,000 -0,699C_7 0,963 -0,516 0,165 -0,239 -0,699 1,000

(C_1,C_5,C_7) C_2 C_3 C_4 C_6(C_1,C_5,C_7) 1,000 -0,147 0,165 0,087 -0,466C_2 -0,147 1,000 -0,824 0,516 0,791C_3 0,165 0,000 1,000 -0,824 -0,354C_4 0,087 0,516 -0,824 1,000 0,699C_6 -0,466 0,791 -0,354 0,699 1,000

Page 9: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Ligação Individual: Exemplo (4/6)

(C_1,C_5,C_7) C_2 C_3 C_4 C_6(C_1,C_5,C_7) 1,000 -0,147 0,165 0,087 -0,466C_2 -0,147 1,000 -0,824 0,516 0,791C_3 0,165 0,000 1,000 -0,824 -0,354C_4 0,087 0,516 -0,824 1,000 0,699C_6 -0,466 0,791 -0,354 0,699 1,000

(C_1,C_5,C_7) (C_2,C_6,C_4) C_3(C_1,C_5,C_7) 1,000 0,087 0,165(C_2,C_6,C_4) 0,087 1,000 0,699C_3 0,165 0,699 1,000

Page 10: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Ligação Individual: Exemplo (5/6)

(C_1,C_5,C_7) (C_2,C_6,C_4) C_3(C_1,C_5,C_7) 1,000 0,087 0,165(C_2,C_6,C_4) 0,087 1,000 0,699C_3 0,165 0,699 1,000

(C_1,C_5,C_7) (C_2,C_6,C_4,C_3)(C_1,C_5,C_7) 1,000 0,087(C_2,C_6,C_4,C_3) 0,087 1,000

Page 11: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Ligação Individual: Exemplo (6/6)

(C_1,C_5,C_7) (C_2,C_6,C_4,C_3)(C_1,C_5,C_7) 1,000 0,087(C_2,C_6,C_4,C_3) 0,087 1,000

(C_1,C_5,C_7,C_2,C_6,C_4,C_3)

Page 12: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Ligação Simples: Características

Gera grupos alongados

Problemas em lidar com grupos mal delineados

Em tais casos, procedimentos de ligação individual longas cadeias e eventualmente todos os objetos são colocados em uma sua cadeia

Os objetos em extremos opostos de uma cadeia podem ser muito diferentes

Page 13: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Ligação Simples: Características

A B

C

Ficaria mais homogêneo juntar C com A ou C com B do que A com B

Page 14: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Método Hierárquico: Ligação Completa

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

O procedimento continua até que todos os objetos formem um só agregado

Page 15: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Método Hierárquico: Ligação Completa

A distância máxima entre indivíduos entre objetos em cada grupo representa a menor esfera (diâmetro mínimo) que pode inclui 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

Essa técnica elimina o problema de encadeamento identificado na ligação individual separados pela menor distância (mais similares) e os coloca no primeiro grupo

Page 16: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Ligação Individual x Ligação Completa

Distancia mais curta Distancia mais longa

Tendência a produzir grupos alongados Tendência a produzir

grupos compactos

Page 17: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Método Hierárquico: Ligação Média

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

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 Tendem a produzir grupos com aproximadamente a

mesma variância

Page 18: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Métodos Hierárquicos Características

Abordagem aglomerativa Hierárquia Determinístico Produz uma ordem para os objetos – informativo para a

exibição de dados Dificuldades

Não reflete as maneiras distintas em que objetos podem ser similares

A estrutura é sempre uma árvore Os objetos só podem ser agrupados baseando-se em

decisões locais, as quais, uma vez tomadas, não podem ser re-avaliadas

Essas técnicas não são robustas a ruído

Page 19: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

k-Médias

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 definido a priori

Page 20: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

k-Médias: Algoritmo

• 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

• Passo3: Compute um novo centro para cada grupo (média dos valores de todos os objetos - centróide)

• Passo4: Repita Passo2 (com os novos centros) e Passo3 até que não haja mudança nos centros

Page 21: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

k-Médias: Exemplo (1/7)

X1 X2 X3 X4 X5Cliente_1 7,000 10,000 9,000 7,000 10,000Cliente_2 9,000 9,000 8,000 9,000 9,000Cliente_3 5,000 5,000 6,000 7,000 7,000Cliente_4 6,000 6,000 3,000 3,000 4,000Cliente_5 1,000 2,000 2,000 1,000 2,000Cliente_6 4,000 3,000 2,000 3,000 3,000Cliente_7 2,000 4,000 5,000 2,000 5,000

Exemplo do uso do k-médias, com Correlação de Pearson como medida de proximidade

Page 22: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

k-Médias: Exemplo (2/7)

Cliente_1 Cliente_2 Cliente_3 Cliente_4 Cliente_5 Cliente_6 Cliente_7Cliente_1 1,000Cliente_2 -0,147 1,000 0,000 0,516 -0,408 0,791 -0,516Cliente_3 0,000 0,000 1,000Cliente_4 0,087 0,516 -0,824 1,000Cliente_5 0,963 -0,408 0,000 -0,060 1,000 -0,645 0,963Cliente_6 -0,466 0,791 -0,354 0,699 -0,645 1,000Cliente_7 0,891 -0,516 0,165 -0,239 0,963 -0,699 1,000

Page 23: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

k-Médias: Exemplo (3/7)X1 X2 X3 X4 X5

Cliente_2 9,000 9,000 8,000 9,000 9,000Cliente_3 5,000 5,000 6,000 7,000 7,000Cliente_4 6,000 6,000 3,000 3,000 4,000Cliente_6 4,000 3,000 2,000 3,000 3,000Centro_1 6,000 5,750 4,750 5,500 5,750

X1 X2 X3 X4 X5Cliente_1 7,000 10,000 9,000 7,000 10,000Cliente_5 1,000 2,000 2,000 1,000 2,000Cliente_7 2,000 4,000 5,000 2,000 5,000Centro_2 3,333 5,333 5,333 3,333 5,667

Page 24: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

k-Médias: Exemplo (4/7)

Cliente_1 Cliente_2 Cliente_3 Cliente_4 Cliente_5 Cliente_6 Cliente_7 Centro_1 Centro_2Cliente_1 1 -0,1474 0 0,087 0,9631 -0,4663 0,8913 -0,1371 0,9723Cliente_2 -0,1474 1 0 0,516 -0,4082 0,7906 -0,516 0,93 -0,3498Cliente_3 0 0 1 -0,8242 0 -0,3536 0,1648 -0,2599 0,068Cliente_4 0,087 0,516 -0,8242 1 -0,0602 0,6994 -0,2391 0,737 -0,0698Cliente_5 0,9631 -0,4082 0 -0,0602 1 -0,6455 0,9631 -0,3797 0,9926Cliente_6 -0,4663 0,7906 -0,3536 0,6994 -0,6455 1 -0,6994 0,919 -0,6011Cliente_7 0,8913 -0,516 0,1648 -0,2391 0,9631 -0,6994 1 -0,4799 0,9723Centro_1 -0,1371 0,93 -0,2599 0,737 -0,3797 0,919 -0,4799 1 -0,322Centro_2 0,9723 -0,3498 0,068 -0,0698 0,9926 -0,6011 0,9723 -0,322 1

Page 25: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

k-Médias: Exemplo (5/7)X1 X2 X3 X4 X5

Cliente_2 9,000 9,000 8,000 9,000 9,000Cliente_4 6,000 6,000 3,000 3,000 4,000Cliente_6 4,000 3,000 2,000 3,000 3,000Centro_1 6,333 6,000 4,333 5,000 5,333

X1 X2 X3 X4 X5Cliente_1 7,000 10,000 9,000 7,000 10,000Cliente_3 5,000 5,000 6,000 7,000 7,000Cliente_5 1,000 2,000 2,000 1,000 2,000Cliente_7 2,000 4,000 5,000 2,000 5,000Centro_2 3,750 5,250 5,500 4,250 6,000

Page 26: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

k-Médias: Exemplo (6/6)

Cliente_1 Cliente_2 Cliente_3 Cliente_4 Cliente_5 Cliente_6 Cliente_7 Centro_1 Centro_2Cliente_1 1 -0,1474 0 0,087 0,9631 -0,4663 0,8913 -0,1106 0,9175Cliente_2 -0,1474 1 0 0,516 -0,4082 0,7906 -0,516 0,75 -0,3323Cliente_3 0 0 1 -0,8242 0 -0,3536 0,1648-0,6281 0,3377Cliente_4 0,087 0,516 -0,8242 1 -0,0602 0,6994 -0,2391 0,9389 -0,2939Cliente_5 0,9631 -0,4082 0 -0,0602 1 -0,6455 0,9631 -0,3062 0,9372Cliente_6 -0,4663 0,7906 -0,3536 0,6994 -0,6455 1 -0,6994 0,8883 -0,6686Cliente_7 0,8913 -0,516 0,1648 -0,2391 0,9631 -0,6994 1 -0,4564 0,962Centro_1 -0,1106 0,75 -0,6281 0,9389 -0,3062 0,8883 -0,4564 1 -0,4473Centro_2 0,9175 -0,3323 0,3377 -0,2939 0,9372 -0,6686 0,962 -0,4473 1

Page 27: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

k-Médias: Exemplo (7/7)X1 X2 X3 X4 X5

Cliente_2 9,000 9,000 8,000 9,000 9,000Cliente_4 6,000 6,000 3,000 3,000 4,000Cliente_6 4,000 3,000 2,000 3,000 3,000Centro_1 6,333 6,000 4,333 5,000 5,333

X1 X2 X3 X4 X5Cliente_1 7,000 10,000 9,000 7,000 10,000Cliente_3 5,000 5,000 6,000 7,000 7,000Cliente_5 1,000 2,000 2,000 1,000 2,000Cliente_7 2,000 4,000 5,000 2,000 5,000Centro_2 3,750 5,250 5,500 4,250 6,000

Page 28: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

k-médias: sensibilidade à condição inicial

X2

X1

F G

D E

A

CB

Grupo 1

Grupo 2

Grupo 3

Page 29: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

k-médias: sensibilidade à condição inicial

X2

X1

F G

D E

A

CB

Inicialização com A, F e E

Page 30: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

k-médias: sensibilidade à condição inicial

X2

X1

F G

D E

A

CB

Inicialização com A, F e E

Page 31: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

k-médias: sensibilidade à condição inicial

X2

X1

F G

D E

A

CB

Inicialização com A, B e C

Page 32: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

k-médias: sensibilidade à condição inicial

X2

X1

F G

D E

A

CB

Inicialização com A, B e C

Page 33: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

k-médias

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 distintos representado nos dados?

Page 34: Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.

Bibliografia

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.

Xu, R. and Wunsch II, D. (2005). Survey of Clustering Algorithms. IEEE Trans. on Neural Networks, v. 16, pp. 645-678.