38
Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Embed Size (px)

Citation preview

Page 1: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Aprendizagem de Máquina - AgrupamentoProf. Sérgio QueirozSlides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Page 2: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Clustering (Agrupamento)

Particionar objetos em clusters de forma que: Objetos dentro de um cluster são similares Objetos de clusters diferentes são diferentes

Descobrir novas categorias de objetos de uma maneira não-supervisionada Rótulos de classes não são fornecidos a priori

Page 3: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações
Page 4: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Clustering - Etapas

Representação

Padrões (Vetores)

Redução da dimensionalidade

Seleção ou extração de características

ClusteringCluster A

Cluster B

Cluster C

Objetos

SimilaridadeObjetos

Objetos

Objetos

Partição

Page 5: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Tipos de Clustering

Algoritmos Flat (ou Particional) Geram partição “plana”, i.e. não existe relação

hierárquica entre os clusters

Algoritmos Hierárquicos Geram uma hierarquia de clusters, i.e. cada

cluster é associado a um cluster-pai mais genérico Vantagem: diferentes visões dos dados

Page 6: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Tipos de Clustering Hard

Cada objeto pertence exclusivamente a um único grupo na partição Fuzzy

Cada objeto está associado a um cluster com certo grau de pertinência (graus de pertinência em [0, 1] com soma 1) Partição Fuzzy pode ser convertida facilmente para uma partição hard

Possibilista Cada objeto está associado a um cluster com certo grau de

pertinência (graus de pertinência em [0,1], soma não precisa ser 1)

Page 7: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Exemplos em que Possibilista pode ser mais adequado que Fuzzy

Em um algoritmo fuzzy, tipicamente:• A terá um grau de pertinência à

classe 1 maior do que B, embora eles sejam “simétricos ao centro do cluster”.

• A e C terão valores de pertinência similares para classe 1, embora C pareça ser um ponto “mais típico” de 1 do que A

Exemplos de [Krishnapuram and Keller, 1993]

Page 8: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Exemplos em que Possibilista pode ser mais adequado que Fuzzy

Em um algoritmo fuzzy, tipicamente:• Tanto A quanto B terão graus de

pertinência similar a cada um dos clusters, embora A pareça ser um ponto muito mais adequado a ambos do que B

Exemplos de [Krishnapuram and Keller, 1993]

Page 9: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Exemplos em que Possibilista pode ser mais adequado que Fuzzy

Em um algoritmo fuzzy, tipicamente:• Tanto A quanto B terão graus de

pertinência similar a cada um dos clusters, digamos por volta de 0,5. No entanto tanto A quanto B intuitivamente parecem ser outliers e deveriam ter baixos graus de pertinência (ainda mais para B)

Exemplos de [Krishnapuram and Keller, 1993]

Page 10: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Tipos de Clustering Incremental

Partição é atualizada a cada novo objeto observado Em geral, apenas um número pequeno de clusters é

modificado

Não-incremental Partição é gerada de uma única vez usando todos

os objetos disponíveis

Page 11: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Algoritmo K-Means

Page 12: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Algoritmo k-Means Algoritmo particional baseado em Otimização do

Erro Quadrado

2

1

2 ),(

K

j Cdji

ji

cdCDe

Conjunto deObjetos

Partiçãoi-ésimo objetodo cluster j

centróidedo cluster j

Page 13: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Algoritmo k-Means

Encontra de forma interativa os centróides dos clusters

d1

d2

Centróide ACentróide A

Page 14: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Algoritmo k-Means Clusters definidos com base nos centróides (centro

de gravidade, ou o ponto médio dos cluster:

Alocação dos objetos nos clusters feita com base na similaridade com o centróide até critério de parada

Cd

i

i

dC

c

||

1

Page 15: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Algoritmo k-Means Passo 1: Defina k centróides iniciais, escolhendo k

objetos aleatórios; Passo 2: Aloque cada objeto para o cluster

correspondente ao centróide mais similar; Passo 3: Recalcule os centróides dos clusters. Passo 4: Repita passo 2 e 3 até atingir um critério de

parada e.g. até um número máximo de iterações ou; até não ocorrer alterações nos centróides (i.e. convergência

para um mínimo local da função de erro quadrado)

Page 16: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

k-Means (Exemplo com K=2)

Inicializar centróides

Alocar objetos

Computar centróides

xx

Realocar objetos

xx xx Computar centróides

Realocar objetos

Convergiu!

Page 17: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Algoritmo k-Means O k-Means tende a gerar clusters esféricos

Assim pode falhar para clusters naturais com formas mais complexas

Exemplo -->

Page 18: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Algoritmo k-Means O k-Means é popular pela facilidade de implementação, e

eficiência no tempo O(nK), onde n é o número de objetos e K é o número de clusters Essa eficiência é relativa a uma iteração do k-Means O tempo de execução é dependente de quantas iterações são

necessárias até a convergência Na prática, são poucas Mas no pior caso, pode ser muito ruim. Ver [D. Arthur et al, 2006 e 2011]

Comentários: Não adequado para atributos categóricos Sensível a outliers e ruído Converge para mínimos locais Desempenho do algoritmo é dependente da escolha dos centróides

iniciais

Page 19: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações
Page 20: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Algoritmo k-Medoid Similar ao k-Means mas cada cluster é representado

por um objeto que realmente existe (medoid)

Medoid é o objeto do grupo cuja similaridade média com os outros objetos possui o valor máximo

Comentários: Tolerante a outliers e adequado para atributos categóricos Porém, custo mais alto

Page 21: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Algoritmos Hierárquicos

Page 22: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Algoritmos Hierárquicos Geram uma partição onde os clusters são organizados

em uma hierarquia

Permite ao usuário ter diferentes visões dos objetos sendo agrupados

Page 23: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

A

BC

DE

F G

X1

X2

Dendrograma

Page 24: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Tipos de Algoritmos Hierárquicos

Algoritmos Hierárquicos Divisivos ou Particionais Assumem estratégia top-down Iniciam com cluster mais geral que é progressivamente

dividido em sub-cluster

Algoritmos Hierárquicos Aglomerativos Assumem estratégia bottom-up Iniciam com clusters específicos que são progressivamente

unidos

Page 25: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Algoritmos Hierárquicos Divisivos Passo 1: Inicie alocando todos os documentos em um

cluster; Passo 2: A partir da estrutura existente de grupos,

selecione um cluster para particionar; Em geral, o maior cluster, ou o cluster menos homogêneo

Passo 3: Particione o grupo em dois ou mais subgrupos; Passo 4: Repita os passos 2 e 3 até que um critério de

parada seja verificado e.g., até atingir um número desejado de grupos

Page 26: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Algoritmos Hierárquicos Divisivos Bi-Secting k-Means

Uso do algoritmo k-Means na etapa de divisão dos clusters

Clusters são sucessivamente particionados em 2 sub-clusters

Complexidade: O(n log(n))

Page 27: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Algoritmos Hierárquicos Aglomerativos

Passo 1: Inicie alocando cada documento como um cluster diferente;

Passo 2: Selecionar o par de clusters mais similares entre si e os agrupe em um cluster mais geral;

Passo 3: Repita o passo 2 até a verificação de um critério de parada e.g., até que todos os documentos sejam agrupados em um

único cluster

Complexidade: O(n2 log(n))

Page 28: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Algoritmos Hierárquicos Aglomerativos Algoritmos variam conforme a maneira de medir

similaridade entre dois clusters Single-Link: definida como a máxima similaridade entre os

membros dos clusters

Complete-Link: definida como a mínima similaridade entre os membros dos clusters

Average-Link: definida como a média da similaridade entre os membros dos clusters

Page 29: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Single Link

Similaridade entre clusters:

Efeito: Produz clusters mais alongados (efeito cadeia)

),(min),(_21 ,

21 jiCdCd

SingleLink ddsimCCclustersimji

Page 30: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Single Link - Exemplo

Page 31: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Complete Link

Similaridade entre clusters:

Efeito: Produz clusters mais coesos e compactos

),(max),(_21 ,

21 jiCdCd

nkCompleteLi ddsimCCclustersimji

Page 32: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Complete Link - Exemplo

Page 33: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Single Link Complete Link

Single-Link conecta pontos de classes diferentes através de uma cadeiade pontos com ruído (*)

Single Link X Complete Link

Page 34: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Complete-Link não é capaz de identificar cluster de pontos (1)

Single Link X Complete Link

22

222

2

11

1

1

1

1

1

1

11 1

1

Page 35: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Average-Link Similaridade entre clusters:

Efeito: Equilíbrio entre clusters coesos e flexíveis Em alguns contextos (e.g., clustering de texto)

tem se mostrado mais eficaz

21 ,21

21 ),(||||

1),(_

CdCdjikAverageLin

ji

ddsimCC

CCclustersim

Page 36: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Algoritmo Aglomerativo Baseado em Centróides

Similaridade entre clusters é definido como a similaridade entre seus centróides

1

1

1

1

1

2

2

x

2

2

33

3

33

2

22

2 22

2

22

2

1

1

1

1

111

1

1

1

Page 37: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Algoritmos Hierárquicos Resumo:

Os algoritmos hierárquicos divisivos são menos custosos que os aglomerativos

Dentre os aglomerativos, o Average-Link funciona melhor em algumas aplicações

Desempenho pode ser melhorado através da combinação de técnicas

Page 38: Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Referências D. Arthur, B.Manthey, H.Röglin,

Smoothed analysis of the k-means method, Journal of the ACM 58(2011)19:1–19:31.

D. Arthur, S.Vassilvitskii, How slow is the k-means method? In: N. Amenta, O. Cheong (Eds.), Symposium on Computational Geometry, ACM, 2006, pp.144–153.

Jain, A. K., Murty, M. N., and Flynn, P. (1999). Data clustering: a review. ACM Computing Surveys, 3(31):264–323.

Xu, R. and Wunsch II, D. (2005). Survey of Clustering Algorithms, IEEE Trans. on Neural Networks, 16(3):645-677.

Jiang, D., T., Tang, and Zhang, A. (2004). Cluster Analysis for Gene Expression Data: A Survey, IEEE Trans. on Knowledge and Data Engineering, 16(11).