Download - Aprendizagem de Máquina - Agrupamento
![Page 1: Aprendizagem de Máquina - Agrupamento](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/3.jpg)
![Page 4: Aprendizagem de Máquina - Agrupamento](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/11.jpg)
Algoritmo K-Means
![Page 12: Aprendizagem de Máquina - Agrupamento](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/19.jpg)
![Page 20: Aprendizagem de Máquina - Agrupamento](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/21.jpg)
Algoritmos Hierárquicos
![Page 22: Aprendizagem de Máquina - Agrupamento](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/23.jpg)
A
BC
DE
F G
X1
X2
Dendrograma
![Page 24: Aprendizagem de Máquina - Agrupamento](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/30.jpg)
Single Link - Exemplo
![Page 31: Aprendizagem de Máquina - Agrupamento](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/32.jpg)
Complete Link - Exemplo
![Page 33: Aprendizagem de Máquina - Agrupamento](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/34.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/35.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/36.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/37.jpg)
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](https://reader034.vdocuments.com.br/reader034/viewer/2022051416/56813ce4550346895da687f6/html5/thumbnails/38.jpg)
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).