Upload
alexandre-duarte
View
758
Download
0
Embed Size (px)
Citation preview
Introduction to Information RetrievalIntroduction to Information Retrieval
1
Aula 12: Agrupamento (Clustering)
Alexandre [email protected]
11111
Ordenação e Recuperação de Dados
Agenda1. Agrupamento: Introdução
2. Agrupamento em RI
3. K-means
4. Avaliação
5. Quantos grupos?
2
Agenda1. Agrupamento: Introdução
2. Agrupamento em RI
3. K-means
4. Avaliação
5. Quantos grupos?
3
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
Conjunto de dados com uma estrutura de grupos clara
Proponha um algoritmo para encontrar os subconjuntos nesse exemplo
5
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
Agenda1. Agrupamento: Introdução
2. Agrupamento em RI
3. K-means
4. Avaliação
5. Quantos grupos?
7
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
Aplicação de agrupamento em RI
9
Aplicação O que é agrupado? Benefício
Agrupamento de resultados de busca
Resultados e busca Apresentação mais efetiva dos resultados ao usuário
Agrupamento de coleção
coleção Apresentação efetiva da informação para navegação exploratória
Recuperação baseada em grupos
coleção Maior eficiência:Buscas mais rápidas
10
Agrupamento de resultados de busca para melhor navegação
10
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
Conjunto de dados com uma estrutura de grupos clara
Proponha um algoritmo para encontrar os subconjuntos nesse exemplo
12
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
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
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
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
Agenda1. Agrupamento: Introdução
2. Agrupamento em RI
3. K-means
4. Avaliação
5. Quantos grupos?
17
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
Representação de documentos para agrupamento
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
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
Algoritmo K-means
21
Exemplo: Conjunto para ser agrupado
22
23
Exemplo: Seleção inicial aleatória dos centroides
23
Exemplo: Atribuir os pontos aos centroides mais próximos
24
Exemplo: Atribuição
25
Exemplo: Recalcular os centroides
26
Exemplo: Atribuir os pontos aos centroides mais próximos
27
Exemplo: Atribuição
28
Exemplo: Recalcular os centroides
29
Exemplo: Atribuir os pontos aos centroides mais próximos
30
Exemplo: Atribuição
31
Exemplo: Recalcular os centroides
32
Exemplo: Atribuir os pontos aos centroides mais próximos
33
Exemplo: Atribuição
34
Exemplo: Recalcular os centroides
35
Exemplo: Atribuir os pontos aos centroides mais próximos
36
Exemplo: Atribuição
37
Exemplo: Recalcular os centroides
38
Exemplo: Atribuir os pontos aos centroides mais próximos
39
Exemplo: Atribuição
40
Exemplo: Recalcular os centroides
41
Exemplo: Atribuir os pontos aos centroides mais próximos
42
Exemplo: Atribuição
43
Exemplo: Recalcular os centroides
44
Exemplo: Centroides e atribuições após a convergência
45
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
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
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
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
Agenda
1. Agrupamento: Introdução
2. Agrupamento em RI
3. K-means
4. Avaliação
5. Quantos grupos?
50
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
Critério externo para qualidade de agrupamento
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
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
Exemplo do cálculo de 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.⋄
54
Agenda
1. Agrupamento: Introdução
2. Agrupamento em RI
3. K-means
4. Avaliação
5. Quantos grupos?
55
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
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