52
Clusterização Grupo: Eduardo Gade Gusmão (egg) Felipe Kuhner dos Santos (fkcs) Nelson Gutemberg Rocha (ngrs) Paulo Ricardo da Silva Soares (prss) UFPE Centro de Informática IF796 Mineração da Web Professora: Flávia Barros

Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Embed Size (px)

Citation preview

Page 1: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clusterização

Grupo:Eduardo Gade Gusmão (egg)Felipe Kuhner dos Santos (fkcs)Nelson Gutemberg Rocha (ngrs)Paulo Ricardo da Silva Soares (prss)

UFPE – Centro de InformáticaIF796 – Mineração da Web

Professora: Flávia Barros

Page 2: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Roteiro Clusterização vs. Classificação

Clusterização de Documentos

Métodos de Clustering

Não-hierárquicos

Hierárquicos

Top-down

Bottom-up

Híbrido

Aplicações

Conclusões

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 3: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Introdução

Clusterização

O Problema mais importante da aprendizagem não-

supervisionada

Encontrar uma estrutura numa coleção de dados não-

rotulados

Particionar as instâncias em subconjuntos disjuntos (clusters)

de modo que:

Instâncias em um mesmo cluster são muito similares

Instâncias em clusters diferentes são muito diferentes

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 4: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Introdução

Clusterização

Marketing

Bioinformática

Sistema de Bibliotecas

Planejamento Urbano

Estudo de Terremotos

Recuperação de Informação

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 5: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clusterização vs. Classificação

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Peso Altura Classe

I1 85 1.97 Halterofilista

I2 92 1.88 Halterofilista

I3 112 2.05 Halterofilista

I4 105 1.93 Halterofilista

I5 68 1.65 Bailarina

I6 56 1.58 Bailarina

I7 48 1.69 Bailarina

I8 67 1.62 Bailarina

I9 100 1.80 ?

Classificação

1,5

1,6

1,7

1,8

1,9

2

2,1

30 50 70 90 110

A

l

t

u

r

a

Peso

Page 6: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clusterização vs. Classificação

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Peso Altura Classe

I1 85 1.97 -

I2 92 1.88 -

I3 112 2.05 -

I4 105 1.93 -

I5 68 1.65 -

I6 56 1.58 -

I7 48 1.69 -

I8 67 1.62 -

I9 100 1.80 -

Clusterização

1,5

1,6

1,7

1,8

1,9

2

2,1

30 50 70 90 110

A

l

t

u

r

a

Peso

Page 7: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clusterização de Documentos

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Pra que clusterizar?

Cluster Hypothesis (Van Rijsbergen - 1979): “Dois

documentos similares têm maior probabilidade de serem

relevantes para uma mesma pesquisa.”

Aumentar a relevância da recuperação

Suprir má formulação de uma busca

Organizar os resultados

Page 8: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clusterização de Documentos

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Busca e

recuperação

Ordenação

Preparação da consulta

Interface do usuário

Base de

indices

Documentos

recuperados

Documentos

ordenados

Page 9: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clusterização de Documentos

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Busca e

recuperação

Ordenação

Preparação da consulta

Interface do usuário

Base de

indices

Documentos

recuperados

Documentos

ordenadosClusterização

- Adicionar outros documentos no mesmo cluster para melhorar a cobertura

- Organizar os resultados da busca em clusters, melhorando a apresentação dos resultados

- Criação automática de taxonomias hierarquizadas

Page 10: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clusterização de Documentos

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Que dados clusterizar?

Representação do texto de acordo com o modelo escolhido

Ex. TF/IDF

Cálculo da distância através das medidas de similaridade ou

dissimilaridade

Ex. Cosseno

Page 11: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clusterização de Documentos

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

TF/IDF

dj: documento; ki:termo

freqi,j: freqüência do termo ki no documento dj

ni: número de documentos que contêm termo ki

N: número total de documentos da base

maxl freql,j: a freqüência do termo mais freqüente no

documento

freqi,j

maxl freql,j

TFi,j=N

ni

IDFi = log Scorei,j = tfi,j x idfi

Page 12: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clusterização de Documentos

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Medidas de Similaridade

Cosseno

Dice

Inclusão

Spearman

X2

X1 d

q

sim(q,d) = cos( )

Coeficiente de Pearson

Jaccard

Sobreposição

Sorensen

n

i

ki

n

i

ki

n

i

kiki

yx

yx

sim

1

2

1

2

1

)()(

)(

Page 13: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clusterização de Documentos

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Medidas de Dissimilaridade

Distância Euclideana

Bray-Curtis

Distância Taxonômica

X2

X1 d

q

Canberra

Distância de Chord

dissimsim

1

1

n

i

kiki yxdissim1

2

d

Page 14: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Extração/Seleção de Características

Vantagens:

Diminui o custo computacional.

Auxilia na prevenção de overfiting.

No contexto de clustering:

Pode diminuir a eficiência de métodos com inicialização

aleatória.

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 15: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Métodos de Clustering

Quanto ao número de clusters:

Previamente definido.

Determinado pelo algoritmo.

Quanto à abordagem:

Métodos não-hierárquicos

Métodos hierárquicos

Top-down

Bottom-up

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 16: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering: Cálculo da Distância

Determina a medida de similaridade entre elementos.

Influencia a disposição final dos clusters.

Medidas de distâncias comuns:

Distância Euclidiana

Distância de Manhatan

Distância de Hamming

Ângulo entre vetores

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 17: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico

Determinam todos os clusters a cada etapa do método.

Podem ser utilizados como algoritmos divisores nos

métodos hierárquicos.

Algoritmo Geral

1. Escolher os clusters iniciais.

2. Enquanto os critérios de parada não forem satisfeitos:

1. Atualizar os centros dos clusters.

2. Associar cada vetor ao cluster mais similar.

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 18: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico: K-Means

Algoritmo simples com muitas variações.

Define uma classe de algoritmos.

Algoritmo:

1. Escolher os centros iniciais dos k clusters desejados.

2. Repetir enquanto não houver alteração nos clusters:

1. Associar cada vetor ao cluster de centro mais próximo.

2. Calcular o novo centro de cada cluster como a média

aritmética de seus vetores.

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 19: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico: K-Means

Escolha inicial dos centros:

Aleatória

Cálculo da Distância:

Distância Euclidiana

Critérios de Parada:

Não modificação dos clusters em duas iterações

sucessivas.

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 20: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico: K-Means

Exemplo (k = 2)

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

c2

c1

p = {c1, c2}1. Escolher os centros iniciais.

2. Associar cada vetor ao cluster mais próximo.

3. Determinar os novos centros.

4. Associar cada vetor ao cluster mais próximo.

5. Determinar os novos centros.

6. Associar cada vetor ao cluster mais próximo.

7. Não houve alterações.

Page 21: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico: K-Means

A escolha dos centros iniciais é de grande importância

para a configuração final dos clusters.

Idealmente os centros devem ser selecionados de forma

a abranger todo o conjunto de vetores.

Métodos alternativos buscam atenuar este problema

Amostragem uniforme

Heurísticas

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 22: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico: QT Clustering

Mais custoso computacionalmente que o K-Means.

Não necessita especificar o número de clusters.

Algoritmo

Escolher o diâmetro máximo dos clusters.

Repetir, enquanto restarem vetores:

Construir um cluster para cada vetor adicionando ao cluster os

elementos mais próximos até o diâmetro atingir o limiar.

O cluster formado com o maior número de pontos faz parte do

clustering final. Remover seus vetores do conjunto.

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 23: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico: QT Clustering

Exemplo

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

c2

c1

p = {c1, c2}1. Determinar os clusters gerados usando cada vetor como base.

2. Adicionar o cluster com mais elementos à configuração final.

3. Remover os vetores deste cluster.

4. Determinar os clusters gerados usando cada vetor como base.

5. Adicionar o cluster com mais elementos à configuração final.

6. Remover os vetores deste cluster.

Page 24: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico: QT Clustering

Distância utilizada

Complete Linkage: dados dois conjuntos A e B, a

distância entre A e B é correspondente à maior distância

entre seus elementos.

No contexto do QT Clustering, o conjunto A

corresponde ao cluster em formação, e o conjunto B ao

elemento avaliado contra o limiar.

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 25: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico: One Pass

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Variação do K-Means.

Utiliza um limiar de distância máxima.

Número de clusters determinado pelo algoritmo.

Algoritmo:

1. Escolher um documento e colocá-lo em um cluster de

tamanho unitário “C”.

2. Repetir até atingir a estabilidade ou o critério de parada:

1. Computar a distancia dos clusters aos outros vetores.

2. Se a distância estiver dentro do limiar escolhido adicionar esse

vetor ao cluster, senão criar um novo cluster formado pelos dois

vetores mais próximos.

Page 26: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico: One Pass

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

A

B

E

DC

A

Page 27: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico: One Pass

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Vantagens:

É possível a obtenção de diferentes clusters dependendo da maneira

usada para processar os documentos. Enquanto no modelo

hierárquico todas as vezes os mesmos clusters são obtidos.

Desvantagens:

A escolha do limiar e da ordem na qual os vetores serão

analisados depende de resultados experimentais.

Page 28: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico: MVC

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Maximum Variance Clustering:

Minimização da função de erro quadrática:

Restrições:

1. A variância de um cluster não pode exceder o parâmetro

σ2max

2. Para todos os clusters a união dois a dois entre eles deve ser

no mínimo o parâmetro σ2max

Page 29: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico: MVC

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Funcionamento:

Cria-se clusters para cada padrão;

Repetir até atingir a estabilidade ou o critério de

parada;

InnerBorder e OuterBorder;

Procedimentos de união e transferência.

Page 30: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico: MVC

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

CaCm

3 Estados possíveis para um cluster Ca:

1. Isolation (Var(Ca) > σ2max e epoch < Emax )

Elemento de um subconjunto randômico da borda interna mais

distante da média de Ca é removido desse cluster e inserido em um

cluster vazio.

Page 31: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico: MVC

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Cb Ca

3 Estados possíveis para um cluster Ca:

2. Union (Var(Ca) <= σ2max e existe(b) | Var(Ca U Cb) <= σ2

max)

O cluster que contém um ou mais elementos da OuterBorder e que tem

menor variância quando unido com Ca é escolhido. Ca se une com esse

cluster Cb que se torna vazio.

Page 32: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico: MVC

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Cb Ca

3 Estados possíveis para um cluster Ca:

3. Perturbation

Pega-se um padrão de um subconjunto randômico da OuterBorder que gere

maior ganho quando transferido para Ca. Se o ganho for positivo, mova esse

exemplo para Ca.

Page 33: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico: MVC

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 34: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Não-hierárquico: MVC

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Vantagens:

Poucos parâmetros para ajustar.

Número de clusters detectado pelo algoritmo.

Desvantagens:

É lento, em comparação com outros algoritmos (InnerBorder,

OuterBorder, busca de cluster com variância mínima, etc).

Page 35: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Hierárquico Representação por Dendograma

Nós pais agrupam os exemplos representados pelos nós filhos.

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 36: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Hierárquico

Hierarquia de Clusters

Um agrupamento hierárquico agrupa os dados de modo

que se dois exemplos são agrupados em algum nível,

nos níveis mais acima eles continuam fazendo parte do

mesmo grupo.

Essa técnica permite analisar os clusters em diferentes

níveis de granularidade, pois cada nível do dendograma

descreve um conjunto diferente de agrupamentos.

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 37: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Abordagem Aglomerativa (Bottom-up)

Dados são inicialmente distribuídos de modo que cada

exemplo represente um cluster.

Esses clusters são recursivamente agrupados

considerando alguma medida de similaridade, até que

todos os exemplos pertençam a apenas um cluster.

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 38: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Abordagem Aglomerativa (Bottom-up) Esses clusters são recursivamente agrupados

considerando alguma medida de similaridade, até que

todos os exemplos pertençam a apenas um cluster.

Enquanto houver mais que um grupo:

Calcular as distancias entre todos os pares de grupos

Substituir o par com menor distancia por um grupo

Single linkage

Complete linkage

Average linkage

Wards linkageUFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 39: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Abordagem Aglomerativa (Bottom-up)

Exemplo

Bio-Informática

Redes Neurais Data Warehouse SGBDMineração na

Web

IA Banco de Dados

Computação

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 40: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Abordagem Divisiva (Top-down)

Inicia-se com apenas um agrupamento contendo todos

os dados e segue dividindo-o recursivamente segundo

alguma métrica até que alcance algum critério de

parada (número de clusters desejados).

Enquanto houver grupos compostos por mais que um

elemento

Dividir um grupo menos homogêneo em dois

2-Means

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 41: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Medidas de Dissimilaridade: Single linkage

Vizinho mais próximo

Matriz de distância

Encontrar a Distância Mínima

Os dois grupos com menos distância são

agrupados (criando-se um único grupo)

d(vw,x) = min(dvx,dwx)

d(35,1) = 3

d(35,2) = 7

d(35,4) = 8

Esse método sacrifica a possibilidade de

obter clusters compactos com a vantagem

de permitir a obtenção de clusters

irregulares ou alongados.

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 42: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Métodos Hierárquicos: Complete linkage Encontrar a Distância Mínima

Os dois grupos de menor distância

são agrupados.

Nova distância do agrupamento

d(vw,x) = max(dvx,dwx)

d(35,1) = 11

d(35,2) = 10

d(35,4) = 9

Cluster compactos com diâmetros semelhantes.

É um método que assegura que todos os itens de um cluster estão a uma distância mínima um do outro.

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 43: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Clustering Híbrido: Buckshot

Refinamento.

Utiliza inicialmente o método hierárquico.

Refina a clusterização com a aplicação de um método não-hierárquico.

Utiliza “n” documentos para gerar “k” clusters.

Algoritmo:

1. Escolher randomicamente “d” documentos onde “d” é SQRT(kn).

2. Clusterizar usando algum método hierárquico, resultando em “kn”

clusters.

3. Computar o centróide de cada cluster.

4. Varrer os documentos restantes e atribuí-los aos clusters mais próximos.

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 44: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Aplicações: BizNeticNavegação hierárquica

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 45: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Aplicações: CloudletNavegação por tag cloud

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 46: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Aplicações: CluuzNavegação por mapa esquemático

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 47: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Aplicações: CollarityDivisão por fonte de acesso

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 48: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Aplicações: ExaleadNavegação por clusters e subclusters

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 49: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Aplicações: A9SnapTell (busca na amazon.com)

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 50: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Conclusões

Document Clustering gera uma visão dos documentos mais organizada

para o usuário.

Pode reduzir o espaço de busca.

Pode ser realizado por diversos métodos e diversas abordagens.

Existem várias técnicas de clusterização robustas já consolidadas na

área de IA.

Por outro lado, é computacionalmente caro.

Dificuldade em identificar quais clusters devem ser buscados.

Pode incluir muitos documentos irrelevantes no resultado da busca.

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 51: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Referências

Magnus Rosell,“Introduction to Information Retrieval and text

clustering”. KTH CSC, 2006.

Anton Leuski, “Evaluating document clustering for interactive

information retrieval”. DCS, University of Massachusetts, USA.

Clustering in information retrieval - <http://nlp.stanford.edu/IR-

book/html/htmledition/clustering-in-information-retrieval-1.html>

Luciano Digiampietri, “Mineracao de textos na web”. Escola de artes,

ciências e humanidades, USP.

Clusty (Clustering Search Engine) - <http://clusty.com/>

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.

Page 52: Clusterizaçãoif796/aulas/clustering-2010.pdf · Encontrar uma estrutura numa coleção de dados não- ... 30 50 70 90 110 A l t u r a ... Remover os vetores deste cluster. 4. Determinar

Referências Carrot (Clustering Search Engine) -

<http://search.carrot2.org/stable/search>

Michael Macedo, Walter Filho, Rafael Speroni, “Mineracao da

utilização de Páginas Web, Identificando padrões através das

requisições dos usuários”. Universidade Caxias do Sul e Universidade

Federal de Santa Catarina.

Sandra de Amo, “Tecnicas de Mineracao de Dados”. Universidade

Federal de Uberlândia.

Cluster Analysis - <http://en.wikipedia.org/wiki/Cluster_analysis>

UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.