aprendizagem de máquina - agrupamento

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

Upload: keefe

Post on 07-Jan-2016

19 views

Category:

Documents


2 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Aprendizagem  de  Máquina  -  Agrupamento

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

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
Page 4: Aprendizagem  de  Máquina  -  Agrupamento

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

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

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

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

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

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

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

Algoritmo K-Means

Page 12: Aprendizagem  de  Máquina  -  Agrupamento

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

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

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

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

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

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

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
Page 20: Aprendizagem  de  Máquina  -  Agrupamento

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

Algoritmos Hierárquicos

Page 22: Aprendizagem  de  Máquina  -  Agrupamento

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

A

BC

DE

F G

X1

X2

Dendrograma

Page 24: Aprendizagem  de  Máquina  -  Agrupamento

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

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

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

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

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

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

Single Link - Exemplo

Page 31: Aprendizagem  de  Máquina  -  Agrupamento

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

Complete Link - Exemplo

Page 33: Aprendizagem  de  Máquina  -  Agrupamento

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

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

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

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

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

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).