1 / 38

Aprendizagem de Máquina - Agrupamento

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

keefe
Download Presentation

Aprendizagem de Máquina - Agrupamento

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aprendizagem de Máquina - Agrupamento Prof. SérgioQueiroz Slides inicialmentepreparadospelo Prof. Ricardo Prudêncio, aosquaisforamfeitasmodificações

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

  3. Objetos Redução da dimensionalidade Representação Seleção ou extração de características Padrões (Vetores) Cluster B Objetos Similaridade Clustering Cluster A Objetos Cluster C Objetos Partição Clustering - Etapas

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

  5. Tipos de Clustering • Hard • Cadaobjetopertenceexclusivamente a um únicogruponapartição • Fuzzy • Cadaobjetoestáassociado a um cluster com certograu de pertinência (graus de pertinênciaem [0, 1] com soma 1) • Partição Fuzzy pode ser convertidafacilmenteparaumapartiçãohard • Possibilista • Cadaobjetoestáassociado a um cluster com certograu de pertinência (graus de pertinênciaem [0,1], soma nãoprecisa ser 1)

  6. 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 [KrishnapuramandKeller, 1993]

  7. 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 [KrishnapuramandKeller, 1993]

  8. 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 [KrishnapuramandKeller, 1993]

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

  10. Algoritmo K-Means

  11. Algoritmo k-Means • Algoritmo particional baseado em Otimização do Erro Quadrado centróide do cluster j Partição i-ésimo objeto do cluster j Conjunto de Objetos

  12. Algoritmo k-Means • Encontra de forma interativa os centróides dos clusters Centróide A Centróide A d1 d2

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

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

  15. Inicializar centróides Alocar objetos Computar centróides Realocar objetos x x x Computar centróides x x x k-Means (Exemplo com K=2) Realocar objetos Convergiu!

  16. Algoritmo k-Means • O k-Means tende a gerar clusters esféricos • Assim pode falhar para clusters naturais com formas mais complexas • Exemplo -->

  17. 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ãoadequado para atributoscategóricos • Sensível a outliers e ruído • Converge para mínimoslocais • Desempenho do algoritmo é dependente da escolha dos centróidesiniciais

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

  19. AlgoritmosHierárquicos

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

  21. Dendrograma X2 F G D E B C A X1

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

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

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

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

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

  27. Single Link • Similaridade entre clusters: • Efeito: • Produz clusters mais alongados (efeito cadeia)

  28. Single Link - Exemplo

  29. Complete Link • Similaridade entre clusters: • Efeito: • Produz clusters mais coesos e compactos

  30. Complete Link - Exemplo

  31. Single Link X Complete Link Complete Link Single Link Single-Link conecta pontos de classes diferentes através de uma cadeia de pontos com ruído (*)

  32. Single Link X Complete Link 1 1 1 1 1 2 2 1 2 1 2 2 2 1 1 1 1 1 Complete-Link não é capaz de identificar cluster de pontos (1)

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

  34. 2 2 2 2 2 2 x 2 2 2 1 2 1 2 1 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 3 3 3 3 3 Algoritmo Aglomerativo Baseado em Centróides • Similaridade entre clusters é definido como a similaridade entre seus centróides

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

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

More Related