Agrupamento com K-Means

927 visualizações

Publicada em

Aula da disciplina "Introdução à Análise de Dados" sobre agrupamentos com K-means

Publicada em: Dados e análise
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
927
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
27
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Agrupamento com K-Means

  1. 1. AGRUPAMENTO COM K-MEANS Alexandre Duarte - http://alexandre.ci.ufpb.br/ensino/iad
  2. 2. AGENDA • O que é agrupamento • Iterações do K-Means • Critérios e Propriedades do K-Means • O que é um bom agrupamento • Quantos grupos
  3. 3. O QUE É AGRUPAMENTO • Um agrupamento (cluster) é um subconjunto coeso de entidades: entre entidades de um cluster as similaridades são maiores do que entre entidades de fora do cluster • Agrupamento é um conjunto de métodos para encontrar clusters e estruturas de agrupamento nos dados.
  4. 4. DIFERENTES PERSPECTIVAS • Aprendizagem de máquina: análise não-supervisionada de padrões • Descoberta de conhecimento: construção de classificadores • Análise de dados: Identificar estruturas de agrupamento nos dados
  5. 5. IDENTIFICANDO ESTRUTURAS DE AGRUPAMENTO NOS DADOS • Agrupamento individual • Detectando comunidades em uma rede • Determinando um subconjunto de proteínas similares a uma determinada proteína • Identificando um subconjunto de documentos sobre um mesmo tema
  6. 6. IDENTIFICANDO ESTRUTURAS DE AGRUPAMENTO NOS DADOS • Particionamento • Divisão da população de acordo com diferentes estilos de vida • Agrupamento de territórios em regiões econômicas • Particionamento de imagens em segmentos homogêneos
  7. 7. IDENTIFICANDO ESTRUTURAS DE AGRUPAMENTO NOS DADOS • Agrupamento hierárquico • Taxonomia de organismos • Classificação de sub-áreas da computação • Ontologia de conceitos em um domínio
  8. 8. ITERAÇÕES DO K-MEANS • K-Means: Um método para construir K agrupamentos sem interseções • Cada agrupamento é representado por um centro ck e um conjunto Sk(k=1, …, K) Iris setosa: Centro S Length S Width P Length P Width Centro 5.006 3.428 1.462 0.246 Média geral 5.843 5.057 3.758 1.199 Diferença -0.837 0.371 -2.296 -0.953
  9. 9. ITERAÇÕES DO K-MEANS 1. Especifique K, o número de agrupamentos, e os centros iniciais ck (k=1, …, K) 2. Atualize os conjuntos Sk (k=1, …, K) 3. Atualize os centros ck (k=1,…, K) 4. Se os novos centros coincidem com os anteriores, pare, senão, vá para 2.
  10. 10. ITERAÇÕES DO K-MEANS a) b) c) d)
  11. 11. APLICANDO K-MEANS A BASE DE IRIS • Pré-processamento • A: Sem pré-processamento: todas as medidas estão relacionadas ao mesmo tipo de flor e na mesma unidade • B: (Z-Scoring) Cada variável é centralizada em relação a média e normalizada pelo desvio padrão • C: Cada variável é centralizada em relação a média e normalizada pelo range
  12. 12. APLICANDO K-MEANS A BASE DE IRIS • Especifique K = 3 e os exemplares 1, 51 e 101 como os centros iniciais (conhecimento preliminar) • A (sem pré-processamento): Convergiu em 4 iterações • B (Z-scoring): Convergiu em 7 iterações • C (Normalização pelo range): Convergiu em 5 iterações
  13. 13. APLICANDO K-MEANS A BASE DE IRIS • http://blog.whn.se/post/28851413626/k-means-clustering- in-r
  14. 14. VANTAGENS • Computação é intuitiva • Processamento é rápido e não requer memória adicional • Processamento é fácil de paralelizar (big data)
  15. 15. DISCUSSÃO • O K-means sempre converge? • Os resultados são independentes da inicialização? • Se não, como devemos inicializar? • Como escolher o número de clusters K ?
  16. 16. O K-MEANS SEMPRE CONVERGE? • Minimizar W(S,c) alternando • Mins W(S,c): atualização dos clusters • Minc W(S,c): atualização dos centros • Portanto, W(S,c) diminui a cada passo: convergência Σ KΣ W(s,c) = d(i,ck ) i∈Sk k=1
  17. 17. OS RESULTADOS SÃO INDEPENDENTES DA INICIALIZAÇÃO? • Qual seria o agrupamento ótimo para K = 2 ? • Convergimos para esse agrupamento com qualquer dois pontos escolhidos como centros iniciais ?
  18. 18. COMO ESCOLHER OS CENTROS INICIAIS ? • Escolher os pontos que maximizem D(S,c) • onde: • Nk é o número de entidades em Sk • <ck,ck> é distância entre a origem e ck ao quadrado KΣ D(S,c) = Nk < ck ,ck > k=1
  19. 19. COMO ESCOLHER OS CENTROS INICIAIS ? • Requer que os pontos sejam pré-processados pela média (origem seria a média de todas as coordenadas)
  20. 20. O QUE É UM BOM AGRUPAMENTO? • Critério interno • Exemplo de critério interno: média do quadrado das distâncias no K-means • Porém, um critério interno muitas vezes não avalia a utilidade do agrupamento para uma aplicação. • Alternativa: Critério externo • Avaliar de acordo com um critério definido por humanos
  21. 21. O QUE É UM BOM AGRUPAMENTO? • Baseado em algum padrão amplamente adotado • Objetivo: O agrupamento deve reproduzir a classes definidas no padrão • Exemplo de medida de quão bem conseguimos reproduzir classes pré-definidas: pureza
  22. 22. CRITÉRIO EXTERNO: PUREZA • Ω= {ω1, ω2, . . . , ωK} é o conjunte de grupos e • C = {c1, c2, . . . , cJ} é o conjunto de classes • Para cada grupo ωk : encontrar a cj com mais membros nkj em ωk • Somar todos os nkj e dividir pelo número total de pontos
  23. 23. EXEMPLO DO CALCULO PUREZA Para calcular a pureza: 5 = maxj |ω1 ∩ cj | (classe x, grupo 1); 4 = maxj |ω2 ∩ cj | (classe o, grupo 2); e 3 = maxj |ω3 ∩ cj | (classe ⋄, grupo 3). Pureza é (1/17) × (5 + 4 + 3) ≈ 0.71.
  24. 24. PUREZA DO AGRUPAMENTO DAS IRIS 1 2 3 setosa 50 0 0 versicolor 0 2 48 virginica 0 36 14 Pureza = (1/150) * (50 + 36 + 48) = 0.89
  25. 25. QUANTOS GRUPOS? • O número de grupos K é dado em muitas aplicações. • Mas e quando isso não acontece? Há um número bom ou ruim para a quantidade de grupos? • Uma forma de agir: definir um critério de otimização • Dado o conjunto de dados, encontrar o K para o qual o valor ótimo é obtido • Que critérios de otimização podemos usar? • Não podemos utilizar a média dos quadrados das distâncias do centróide como critério: o valor ótimo sempre seria fazer K = N.
  26. 26. QUANTOS GRUPOS • Ideia básica: • Começar com 1 grupo (K = 1) • Continue adicionando grupos (= continue a aumentar K) • Adicione uma penalidade para cada novo grupo • Balancear a penalidade da adição de novos grupos e o quadrado das distâncias até os centroides • Escolher o valor K com o melhor tradeoff
  27. 27. ENCONTRANDO O K PARA A BASE DE IRIS http://www.statmethods.net/advstats/cluster.html

×