Clustering (Agrupamento)

Click here to load reader

  • date post

    26-May-2015
  • Category

    Education

  • view

    747
  • download

    0

Embed Size (px)

Transcript of Clustering (Agrupamento)

  • 1. Introduction to Information Retrieval Ordenao e Recuperao de DadosAula 12:Agrupamento (Clustering)Alexandre Duarte [email protected] 1

2. Agenda1. Agrupamento: Introduo2. Agrupamento em RI3. K-means4. Avaliao5. Quantos grupos? 2 3. Agenda1. Agrupamento: Introduo2. Agrupamento em RI3. K-means4. Avaliao5. Quantos grupos? 3 4. Agrupamento: Definio 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 no devem ser similares. Agrupamento a forma mais comum de aprendizagem no- supervisionada. No-supervisionada = os dados no possuem qualquer tipo de anotao. 4 5. Conjunto de dados com uma estrutura degrupos claraProponha umalgoritmo paraencontrar ossubconjuntosnesse exemplo 5 6. Classificao vs. Agrupamento Classificao: aprendizagem supervisionada Agrupamento: aprendizagem no-supervisionada Classificao: as classes so definidas por humanos e so parte da entrada do algoritmo de aprendizagem. Agrupamento: os grupos so inferidos a partir dos dados sem interveno humana. No entanto, existem muitas maneiras de influenciar oresultado de um agrupamento: nmero de grupos, medida desimilaridade, representao dos documentos, ... 6 7. Agenda1. Agrupamento: Introduo2. Agrupamento em RI3. K-means4. Avaliao5. Quantos grupos? 7 8. A hiptese do agrupamento Documentos em um mesmo grupo tem comportamento semelhante em relao a relevncia para uma necessidade de informao. Todas as aplicaes para agrupamento em RI so baseadas (de forma direta ou indireta) nesta hiptese. Proposio original (Van Rijsbergen) documentos fortemente relacionados tendem a ser relevantes para as mesmas consultas.8 9. Aplicao de agrupamento em RIAplicao O que agrupado?BenefcioAgrupamento deResultados e busca Apresentao maisresultados de buscaefetiva dos resultados ao usurioAgrupamento decoleoApresentao efetivacoleoda informao para navegao exploratriaRecuperao baseada coleoMaior eficincia:em gruposBuscas mais rpidas 9 10. Agrupamento de resultados de busca paramelhor navegao10 11. Agrupamento para melhorar o recall Para melhorar o recall de uma busca: Agrupar os documentos de uma coleo a priori Quando uma consulta casa com um documento d, retornar tambm outros documentos no grupo que contm d Esperana: ao fazer isso uma consulta por carro retornariatambm documentos contendo automvel O algoritmo de agrupamento colocaria documentos contendo carro e automvel no mesmo grupo. Os dois tipos de documentos conteriam palavras semelhantes como pea, concessionria, mercedes, viagem.11 12. Conjunto de dados com uma estrutura degrupos claraProponha umalgoritmo paraencontrar ossubconjuntosnesse exemplo 12 13. Objetivos do agrupamento Objetivo geral: colocar documentos relacionados em um mesmo grupo, colocar documentos no-relacionados em grupos diferentes. Como formalizamos isso? O nmero de grupos deve ser apropriado para os dados que sero agrupados. Inicialmente, assumimos que o nmero de grupos K fornecido. Mais tarde: Mtodos semiautomticos para determinar K Objetivos secundrios Evitar grupos muito pequenos ou muito grandes Definir grupos que sejam fceis de explicar ao usurio 13 14. Agrupamento Plano vs. Hierrquico Algoritmos planos Geralmente iniciam como um particionamento aleatrio dos documentos em grupos Refinamentos iterativos Objetivo principal: K-means Algoritmos Hierrquicos Criar uma hierarquia Bottom-up, aglomerativo Top-down, divisvel 14 15. Agrupamento Hard vs. Soft Agrupamento Hard: cada documento pertence a exatamenteum grupo. Mais comum e fcil de fazer Agrupamento Soft: um documento pode pertencer a mais deum grupo. Faz mais sentido para aplicaes que desejam criar hierarquias navegveis Voc pode desejar colocar tnis em dois grupos: Equipamentos esportivos Calados Veremos apenas agrupamentos hard e planos nessa aula. 15 16. Algoritmos planos Algoritmos planos particionam N documentos em umconjunto de K grupos. Dados: um conjunto de documentos e um nmero K Encontrar: uma partio em K grupos que otimize algumcritrio de particionamento Otimizao global: enumerar exaustivamente todas asparties, escolher a tima Intratvel Heurstica efetiva: algoritmo K-means16 17. Agenda1. Agrupamento: Introduo2. Agrupamento em RI3. K-means4. Avaliao5. Quantos grupos? 17 18. K-means Provavelmente o algoritmo de agrupamento mais conhecido Simples, funciona em vrios casos Usado como padro para agrupamento de documentos18 19. Representao de documentos paraagrupamento Modelo de espao vetorial Como na classificao em espao vetorial, medimos o relacionamento entre dois vetores pela sua Distncia euclidiana . . . . . .que praticamente equivalente a similaridade do cosseno. Quase: centroides no so normalizados. 19 20. K-means Cada grupo no K-means definido por um centroide. Objetivo/critrio de particionamento: minimizar a mdia dos quadrados das diferenas em relao ao centroide Relembrando a definio de centroide: Onde usamos o para identificar um grupo. Tentamos encontrar o valor mnimo para a mdias dos quadrados das diferenas iterando em dois passos: redistribuio: atribuir cada vetor ao grupo com centroidemais prximo recomputao: recalcular cada centroide como a mdia dosvetores atribudos ao grupo aps a redistribuio20 21. Algoritmo K-means21 22. Exemplo: Conjunto para ser agrupado22 23. Exemplo: Seleo inicial aleatria dos centroides23 24. Exemplo: Atribuir os pontos aos centroides maisprximos24 25. Exemplo: Atribuio25 26. Exemplo: Recalcular os centroides26 27. Exemplo: Atribuir os pontos aos centroides maisprximos27 28. Exemplo: Atribuio28 29. Exemplo: Recalcular os centroides29 30. Exemplo: Atribuir os pontos aos centroides maisprximos30 31. Exemplo: Atribuio31 32. Exemplo: Recalcular os centroides32 33. Exemplo: Atribuir os pontos aos centroides maisprximos33 34. Exemplo: Atribuio34 35. Exemplo: Recalcular os centroides35 36. Exemplo: Atribuir os pontos aos centroides maisprximos36 37. Exemplo: Atribuio37 38. Exemplo: Recalcular os centroides38 39. Exemplo: Atribuir os pontos aos centroides maisprximos39 40. Exemplo: Atribuio40 41. Exemplo: Recalcular os centroides41 42. Exemplo: Atribuir os pontos aos centroides maisprximos42 43. Exemplo: Atribuio43 44. Exemplo: Recalcular os centroides44 45. Exemplo: Centroides e atribuies aps aconvergncia 45 46. K-means sempre converge Mas no sabemos quanto tempo isso vai levar! Se no ligarmos para alguns documentos indo e vindo, aconvergncia pode ser obtida rapidamente (< 10-20iteraes). No entanto, convergncia completa pode levar muito maisiteraes.46 47. Otimalidade do K-means Convergir no significa encontrar a distribuio tima! Esta a grade fraqueza do K-means. Se iniciarmos com um conjunto ruim de centroides oresultado do agrupamento pode ser horrvel.47 48. Exerccio: Agrupamento sub-timo Qual seria o agrupamento timo K = 2? Convergimos para este agrupamento com qualquer par derazes arbitrrias di , dj?48 49. Inicializao do K-means Sementes escolhidas aleatoriamente apenas uma dasvrias formas de inicializar o K-means. Seleo aleatria no muito robusta: muito fcilconseguir um agrupamento sub-timo. Melhores formas de escolher os centroides iniciais: Selecionar as sementes utilizando alguma heurstica Selecionar i (ex., i = 10) diferentes razes aleatoriamente, executar o agrupamento K-means para cada um, selecionar o agrupamento com a menor mdia do quadrado das distncias49 50. Agenda1. Agrupamento: Introduo2. Agrupamento em RI3. K-means4. Avaliao5. Quantos grupos? 50 51. O que um bom agrupamento? Critrio interno Exemplo de critrio interno: mdia do quadrado das distnciasno K-means Porm, um critrio interno muitas vezes no avalia a utilidade do agrupamento para uma aplicao. Alternativa: Critrio externo Avaliar de acordo com um critrio definido por humanos 51 52. Critrio externo para qualidade deagrupamento Baseado em algum padro amplamente adotado, ex. Acoleo da Reuters Objetivo: O agrupamento deve reproduzir a classes definidasno padro (Queremos apenas reproduzir a forma como os documentosso distribudos em grupos, no os nomes das classes) Exemplo medida de quo bem conseguimos reproduzir asclasses: pureza 52 53. Critrio externo: Pureza = {1, 2, . . . , K} o conjunte de grupos eC = {c1, c2, . . . , cJ} o conjunto de classes Para cada grupo k : encontrar a cj com mais membros nkj emk Somar todos os nkj e dividir pelo nmero total de pontos 53 54. Exemplo do clculo 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. Agenda1. Agrupamento: Introduo2. Agrupamento em RI3. K-means4. Avaliao5. Quantos grupos? 55 56. Quantos grupos? O nmero de grupos K dado em muitas aplicaes. Mas e quando isso no acontece? H um nmero bom ouruim para a quantidade de grupos? Uma forma de agir: definir um critrio de otimizao Dados os documentos, encontrar o K para o qual o valor timo obtido Que critrios de otimizao podemos usar? No podemos utilizar a mdia dos quadrados das distncias do centroide como critrio: o valor timo sempre seria fazer K = N.56 57. Funo objetivo simples para K Ideia bsica: Comear com 1 grupo (K = 1) Continue adicionando grupos (= continue a aumentar K) Adicione uma penalidade para cada novo grupo Balancear a penalidade da adio de novos grupos e a mdia dos quadrados das distncias em relao aos centroides Escolher o valor K com o melhor tradeoff57