A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações."— Transcrição da apresentação:

1 Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificaçõ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

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

5 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

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

7 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]

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, embora A pareça ser um ponto muito mais adequado a ambos do que B Exemplos de [Krishnapuram and Keller, 1993]

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

10 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

11 Algoritmo K-Means

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

13 Algoritmo k-Means  Encontra de forma interativa os centróides dos clusters d1d1 d2d2 Centróide A

14 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

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

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

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

18 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

19

20 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

21 Algoritmos Hierárquicos

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

23 A B C D E F G X1X1 X2X2 Dendrograma

24 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

25 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

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

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

28 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

29 Single Link  Similaridade entre clusters:  Efeito: Produz clusters mais alongados (efeito cadeia)

30 Single Link - Exemplo

31 Complete Link  Similaridade entre clusters:  Efeito: Produz clusters mais coesos e compactos

32 Complete Link - Exemplo

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

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

35 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

36 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 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1

37 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

38 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.Smoothed analysis of the k-means method  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.How slow is the k-means method?  Jain, A. K., Murty, M. N., and Flynn, P. (1999). Data clustering: a review. ACM Computing Surveys, 3(31):264–323.Data clustering: a review  Xu, R. and Wunsch II, D. (2005). Survey of Clustering Algorithms, IEEE Trans. on Neural Networks, 16(3):645-677.Survey of Clustering Algorithms  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).Cluster Analysis for Gene Expression Data: A Survey


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

Apresentações semelhantes


Anúncios Google