aprendizagem de máquina - agrupamento ricardo prudêncio

35
Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

Upload: internet

Post on 18-Apr-2015

106 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

Aprendizagem de Máquina - AgrupamentoRicardo Prudêncio

Page 2: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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

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 Ricardo Prudêncio

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 Ricardo Prudêncio

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 Partição Fuzzy pode ser convertida facilmente para

uma partição hard

Page 7: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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 8: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

Algoritmo K-Means

Page 9: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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 10: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

Algoritmo k-Means

Encontra de forma interativa os centróides dos clusters

d1

d2

Centróide ACentróide A

Page 11: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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 12: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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 13: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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 14: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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

Assim pode falhar para clusters naturais com formas mais complexas

Exemplo -->

Page 15: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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

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 16: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio
Page 17: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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 18: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

Algoritmos Hierárquicos

Page 19: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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 20: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

A

BC

DE

F G

X1

X2

Dendrograma

Page 21: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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 22: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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 23: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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 24: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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 25: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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 26: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

Single Link

Similaridade entre clusters:

Efeito: Produz clusters mais alongados (efeito cadeia)

),(min),(_21 ,

21 jiCdCd

SingleLink ddsimCCclustersimji

Page 27: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

Single Link - Exemplo

Page 28: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

Complete Link

Similaridade entre clusters:

Efeito: Produz clusters mais coesos e compactos

),(max),(_21 ,

21 jiCdCd

nkCompleteLi ddsimCCclustersimji

Page 29: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

Complete Link - Exemplo

Page 30: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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 31: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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 32: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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 33: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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 34: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

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 35: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio

Referências 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).