Tópicos Avançados em Inteligência Artificial Análise de Redes Complexas Ricardo Prudêncio – 2012.1.
Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.
Transcript of Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.
![Page 1: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/1.jpg)
Aprendizagem de Máquina - AgrupamentoRicardo Prudêncio
![Page 2: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/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 Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/3.jpg)
![Page 4: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/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 Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/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 Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/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 Partição Fuzzy pode ser convertida facilmente para
uma partição hard
![Page 7: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/7.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 8: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/8.jpg)
Algoritmo K-Means
![Page 9: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/9.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 10: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/10.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/11.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 12: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/12.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 13: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/13.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 14: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/14.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 15: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/15.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
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.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/16.jpg)
![Page 17: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/17.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 18: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/18.jpg)
Algoritmos Hierárquicos
![Page 19: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/19.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 20: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/20.jpg)
A
BC
DE
F G
X1
X2
Dendrograma
![Page 21: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/21.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 22: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/22.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 23: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/23.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 24: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/24.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 25: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/25.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 26: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/26.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/27.jpg)
Single Link - Exemplo
![Page 28: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/28.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/29.jpg)
Complete Link - Exemplo
![Page 30: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/30.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 31: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/31.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 32: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/32.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 33: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/33.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 34: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/34.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 35: Aprendizagem de Máquina - Agrupamento Ricardo Prudêncio.](https://reader036.fdocument.pub/reader036/viewer/2022062700/552fc130497959413d8d4683/html5/thumbnails/35.jpg)
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).