Clustering (Agrupamento)

Preview:

Citation preview

Introduction to Information RetrievalIntroduction to Information Retrieval

1

Aula 12: Agrupamento (Clustering)

Alexandre Duartealexandre@di.ufpb.br

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

Recommended