Introduction to Information Retrieval     Ordenação e Recuperação de Dados                                        Aula 12:...
Agenda1.   Agrupamento: Introdução2.   Agrupamento em RI3.   K-means4.   Avaliação5.   Quantos grupos?                    ...
Agenda1.   Agrupamento: Introdução2.   Agrupamento em RI3.   K-means4.   Avaliação5.   Quantos grupos?                    ...
Agrupamento: Definição  Agrupamento é o processo de agrupar um conjunto de   documentos em subconjuntos de documentos sim...
Conjunto de dados com uma estrutura degrupos clara                              Proponha um                              a...
Classificação vs. Agrupamento  Classificação: aprendizagem supervisionada  Agrupamento: aprendizagem não-supervisionada ...
Agenda1.   Agrupamento: Introdução2.   Agrupamento em RI3.   K-means4.   Avaliação5.   Quantos grupos?                    ...
A hipótese do agrupamento Documentos em um mesmo grupo tem comportamento semelhante em relação a relevância para uma neces...
Aplicação de agrupamento em RIAplicação             O que é agrupado?    BenefícioAgrupamento de        Resultados e busca...
Agrupamento de resultados de busca paramelhor navegação                                          10
Agrupamento para melhorar o recall     Para melhorar o recall de uma busca:        Agrupar os documentos de uma coleção ...
Conjunto de dados com uma estrutura degrupos clara                              Proponha um                              a...
Objetivos do agrupamento    Objetivo geral: colocar documentos relacionados em um     mesmo grupo, colocar documentos não...
Agrupamento Plano vs. Hierárquico     Algoritmos planos        Geralmente iniciam como um particionamento aleatório dos ...
Agrupamento Hard vs. Soft     Agrupamento Hard: cada documento pertence a exatamente      um grupo.        Mais comum e ...
Algoritmos planos     Algoritmos planos particionam N documentos em um      conjunto de K grupos.     Dados: um conjunto...
Agenda1.   Agrupamento: Introdução2.   Agrupamento em RI3.   K-means4.   Avaliação5.   Quantos grupos?                    ...
K-means    Provavelmente o algoritmo de agrupamento mais     conhecido    Simples, funciona em vários casos    Usado co...
Representação de documentos paraagrupamento    Modelo de espaço vetorial    Como na classificação em espaço vetorial, me...
K-means    Cada grupo no K-means é definido por um centroide.    Objetivo/critério de particionamento: minimizar a média...
Algoritmo K-means                    21
Exemplo: Conjunto para ser agrupado                                      22
Exemplo: Seleção inicial aleatória dos centroides                                                    23
Exemplo: Atribuir os pontos aos centroides maispróximos                                                  24
Exemplo: Atribuição                      25
Exemplo: Recalcular os centroides                                    26
Exemplo: Atribuir os pontos aos centroides maispróximos                                                  27
Exemplo: Atribuição                      28
Exemplo: Recalcular os centroides                                    29
Exemplo: Atribuir os pontos aos centroides maispróximos                                                  30
Exemplo: Atribuição                      31
Exemplo: Recalcular os centroides                                    32
Exemplo: Atribuir os pontos aos centroides maispróximos                                                  33
Exemplo: Atribuição                      34
Exemplo: Recalcular os centroides                                    35
Exemplo: Atribuir os pontos aos centroides maispróximos                                                  36
Exemplo: Atribuição                      37
Exemplo: Recalcular os centroides                                    38
Exemplo: Atribuir os pontos aos centroides maispróximos                                                  39
Exemplo: Atribuição                      40
Exemplo: Recalcular os centroides                                    41
Exemplo: Atribuir os pontos aos centroides maispróximos                                                  42
Exemplo: Atribuição                      43
Exemplo: Recalcular os centroides                                    44
Exemplo: Centroides e atribuições após aconvergência                                           45
K-means sempre converge   Mas não sabemos quanto tempo isso vai levar!   Se não ligarmos para alguns documentos indo e v...
Otimalidade do K-means   Convergir não significa encontrar a distribuição ótima!   Esta é a grade fraqueza do K-means.  ...
Exercício: Agrupamento sub-ótimo   Qual seria o agrupamento ótimo K = 2?   Convergimos para este agrupamento com qualque...
Inicialização do K-means   Sementes escolhidas aleatoriamente é apenas uma das    várias formas de inicializar o K-means....
Agenda1.   Agrupamento: Introdução2.   Agrupamento em RI3.   K-means4.   Avaliação5.   Quantos grupos?                    ...
O que é um bom agrupamento?  Critério interno     Exemplo de critério interno: média do quadrado das distâncias      no ...
Critério externo para qualidade deagrupamento   Baseado em algum padrão amplamente adotado, ex. A    coleção da Reuters  ...
Critério externo: Pureza   Ω= {ω1, ω2, . . . , ωK} é o conjunte de grupos e    C = {c1, c2, . . . , cJ} é o conjunto de c...
Exemplo do cálculo de purezaPara calcular a pureza: 5 = maxj |ω1 ∩ cj | (classe x, grupo 1);4 = maxj |ω2 ∩ cj | (classe o,...
Agenda1.   Agrupamento: Introdução2.   Agrupamento em RI3.   K-means4.   Avaliação5.   Quantos grupos?                    ...
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 o...
Função objetivo simples para K  Ideia básica:     Começar com 1 grupo (K = 1)     Continue adicionando grupos (= contin...
Próximos SlideShares
Carregando em…5
×

Clustering (Agrupamento)

1.286 visualizações

Publicada em

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

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

Nenhuma nota no slide

Clustering (Agrupamento)

  1. 1. Introduction to Information Retrieval Ordenação e Recuperação de Dados Aula 12: Agrupamento (Clustering) Alexandre Duarte alexandre@di.ufpb.br 1
  2. 2. Agenda1. Agrupamento: Introdução2. Agrupamento em RI3. K-means4. Avaliação5. Quantos grupos? 2
  3. 3. Agenda1. Agrupamento: Introdução2. Agrupamento em RI3. K-means4. Avaliação5. Quantos grupos? 3
  4. 4. Agrupamento: Definição  Agrupamento é o processo de agrupar um conjunto de documentos em subconjuntos de documentos similares.  Documentos em um subconjunto devem ser similares.  Documentos de diferentes subconjuntos não devem ser similares.  Agrupamento é a forma mais comum de aprendizagem não- supervisionada.  Não-supervisionada = os dados não possuem qualquer tipo de anotação. 4
  5. 5. Conjunto de dados com uma estrutura degrupos clara Proponha um algoritmo para encontrar os subconjuntos nesse exemplo 5
  6. 6. Classificação vs. Agrupamento  Classificação: aprendizagem supervisionada  Agrupamento: aprendizagem não-supervisionada  Classificação: as classes são definidas por humanos e são parte da entrada do algoritmo de aprendizagem.  Agrupamento: os grupos são inferidos a partir dos dados sem intervenção humana.  No entanto, existem muitas maneiras de influenciar o resultado de um agrupamento: número de grupos, medida de similaridade, representação dos documentos, ... 6
  7. 7. Agenda1. Agrupamento: Introdução2. Agrupamento em RI3. K-means4. Avaliação5. Quantos grupos? 7
  8. 8. A hipótese do agrupamento Documentos em um mesmo grupo tem comportamento semelhante em relação a relevância para uma necessidade de informação. Todas as aplicações para agrupamento em RI são baseadas (de forma direta ou indireta) nesta hipótese. Proposição original (Van Rijsbergen) “documentos fortemente relacionados tendem a ser relevantes para as mesmas consultas”. 8
  9. 9. Aplicação de agrupamento em RIAplicação O que é agrupado? BenefícioAgrupamento de Resultados e busca Apresentação maisresultados de busca efetiva dos resultados ao usuárioAgrupamento de coleção Apresentação efetivacoleção da informação para navegação exploratóriaRecuperação baseada coleção Maior eficiência:em grupos Buscas mais rápidas 9
  10. 10. Agrupamento de resultados de busca paramelhor navegação 10
  11. 11. Agrupamento para melhorar o recall  Para melhorar o recall de uma busca:  Agrupar os documentos de uma coleção a priori  Quando uma consulta casa com um documento d, retornar também outros documentos no grupo que contém d  Esperança: ao fazer isso uma consulta por “carro” retornaria também documentos contendo “automóvel”  O algoritmo de agrupamento colocaria documentos contendo “carro” e “automóvel” no mesmo grupo.  Os dois tipos de documentos conteriam palavras semelhantes como “peça”, “concessionária”, “mercedes”, “viagem”. 11
  12. 12. Conjunto de dados com uma estrutura degrupos clara Proponha um algoritmo para encontrar os subconjuntos nesse exemplo 12
  13. 13. Objetivos do agrupamento  Objetivo geral: colocar documentos relacionados em um mesmo grupo, colocar documentos não-relacionados em grupos diferentes.  Como formalizamos isso?  O número de grupos deve ser apropriado para os dados que serão agrupados.  Inicialmente, assumimos que o número de grupos K é fornecido.  Mais tarde: Métodos semiautomáticos para determinar K  Objetivos secundários  Evitar grupos muito pequenos ou muito grandes  Definir grupos que sejam fáceis de explicar ao usuário 13
  14. 14. Agrupamento Plano vs. Hierárquico  Algoritmos planos  Geralmente iniciam como um particionamento aleatório dos documentos em grupos  Refinamentos iterativos  Objetivo principal: K-means  Algoritmos Hierárquicos  Criar uma hierarquia  Bottom-up, aglomerativo  Top-down, divisível 14
  15. 15. Agrupamento Hard vs. Soft  Agrupamento Hard: cada documento pertence a exatamente um grupo.  Mais comum e fácil de fazer  Agrupamento Soft: um documento pode pertencer a mais de um grupo.  Faz mais sentido para aplicações que desejam criar hierarquias navegáveis  Você pode desejar colocar tênis em dois grupos:  Equipamentos esportivos  Calçados  Veremos apenas agrupamentos hard e planos nessa aula. 15
  16. 16. Algoritmos planos  Algoritmos planos particionam N documentos em um conjunto de K grupos.  Dados: um conjunto de documentos e um número K  Encontrar: uma partição em K grupos que otimize algum critério de particionamento  Otimização global: enumerar exaustivamente todas as partições, escolher a ótima  Intratável  Heurística efetiva: algoritmo K-means 16
  17. 17. Agenda1. Agrupamento: Introdução2. Agrupamento em RI3. K-means4. Avaliação5. Quantos grupos? 17
  18. 18. K-means  Provavelmente o algoritmo de agrupamento mais conhecido  Simples, funciona em vários casos  Usado como padrão para agrupamento de documentos 18
  19. 19. Representação de documentos paraagrupamento  Modelo de espaço vetorial  Como na classificação em espaço vetorial, medimos o relacionamento entre dois vetores pela sua Distância euclidiana . . .  . . .que é praticamente equivalente a similaridade do cosseno.  Quase: centroides não são normalizados. 19
  20. 20. K-means  Cada grupo no K-means é definido por um centroide.  Objetivo/critério de particionamento: minimizar a média dos quadrados das diferenças em relação ao centroide  Relembrando a definição de centroide: Onde usamos o ω para identificar um grupo.  Tentamos encontrar o valor mínimo para a médias dos quadrados das diferenças iterando em dois passos:  redistribuição: atribuir cada vetor ao grupo com centroide mais próximo  recomputação: recalcular cada centroide como a média dos vetores atribuídos ao grupo após a redistribuição 20
  21. 21. Algoritmo K-means 21
  22. 22. Exemplo: Conjunto para ser agrupado 22
  23. 23. Exemplo: Seleção inicial aleatória dos centroides 23
  24. 24. Exemplo: Atribuir os pontos aos centroides maispróximos 24
  25. 25. Exemplo: Atribuição 25
  26. 26. Exemplo: Recalcular os centroides 26
  27. 27. Exemplo: Atribuir os pontos aos centroides maispróximos 27
  28. 28. Exemplo: Atribuição 28
  29. 29. Exemplo: Recalcular os centroides 29
  30. 30. Exemplo: Atribuir os pontos aos centroides maispróximos 30
  31. 31. Exemplo: Atribuição 31
  32. 32. Exemplo: Recalcular os centroides 32
  33. 33. Exemplo: Atribuir os pontos aos centroides maispróximos 33
  34. 34. Exemplo: Atribuição 34
  35. 35. Exemplo: Recalcular os centroides 35
  36. 36. Exemplo: Atribuir os pontos aos centroides maispróximos 36
  37. 37. Exemplo: Atribuição 37
  38. 38. Exemplo: Recalcular os centroides 38
  39. 39. Exemplo: Atribuir os pontos aos centroides maispróximos 39
  40. 40. Exemplo: Atribuição 40
  41. 41. Exemplo: Recalcular os centroides 41
  42. 42. Exemplo: Atribuir os pontos aos centroides maispróximos 42
  43. 43. Exemplo: Atribuição 43
  44. 44. Exemplo: Recalcular os centroides 44
  45. 45. Exemplo: Centroides e atribuições após aconvergência 45
  46. 46. K-means sempre converge  Mas não sabemos quanto tempo isso vai levar!  Se não ligarmos para alguns documentos indo e vindo, a convergência pode ser obtida rapidamente (< 10-20 iterações).  No entanto, convergência completa pode levar muito mais iterações. 46
  47. 47. Otimalidade do K-means  Convergir não significa encontrar a distribuição ótima!  Esta é a grade fraqueza do K-means.  Se iniciarmos com um conjunto ruim de centroides o resultado do agrupamento pode ser horrível. 47
  48. 48. Exercício: Agrupamento sub-ótimo  Qual seria o agrupamento ótimo K = 2?  Convergimos para este agrupamento com qualquer par de raízes arbitrárias di , dj? 48
  49. 49. Inicialização do K-means  Sementes escolhidas aleatoriamente é apenas uma das várias formas de inicializar o K-means.  Seleção aleatória não é muito robusta: é muito fácil conseguir um agrupamento sub-ótimo.  Melhores formas de escolher os centroides iniciais:  Selecionar as sementes utilizando alguma heurística  Selecionar i (ex., i = 10) diferentes raízes aleatoriamente, executar o agrupamento K-means para cada um, selecionar o agrupamento com a menor média do quadrado das distâncias 49
  50. 50. Agenda1. Agrupamento: Introdução2. Agrupamento em RI3. K-means4. Avaliação5. Quantos grupos? 50
  51. 51. 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 51
  52. 52. Critério externo para qualidade deagrupamento  Baseado em algum padrão amplamente adotado, ex. A coleção da Reuters  Objetivo: O agrupamento deve reproduzir a classes definidas no padrão  (Queremos apenas reproduzir a forma como os documentos são distribuídos em grupos, não os nomes das classes)  Exemplo medida de quão bem conseguimos reproduzir as classes: pureza 52
  53. 53. 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 53
  54. 54. Exemplo do cálculo de purezaPara 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. 54
  55. 55. Agenda1. Agrupamento: Introdução2. Agrupamento em RI3. K-means4. Avaliação5. Quantos grupos? 55
  56. 56. 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  Dados os documentos, 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 centroide como critério: o valor ótimo sempre seria fazer K = N. 56
  57. 57. Função objetivo simples para K  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 a média dos quadrados das distâncias em relação aos centroides  Escolher o valor K com o melhor tradeoff 57

×