Upload
dinhthien
View
217
Download
0
Embed Size (px)
Citation preview
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
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.
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.
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.
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
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
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
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
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
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
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
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
)()(
)(
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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
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.
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.
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.
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.
Clustering Não-hierárquico: MVC
UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
Aplicações: BizNeticNavegação hierárquica
UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.
Aplicações: CloudletNavegação por tag cloud
UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.
Aplicações: CluuzNavegação por mapa esquemático
UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.
Aplicações: CollarityDivisão por fonte de acesso
UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.
Aplicações: ExaleadNavegação por clusters e subclusters
UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.
Aplicações: A9SnapTell (busca na amazon.com)
UFPE – CIn – Mineração da Web | Eduardo G. – Felipe K. – Nelson R. – Paulo S.
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.
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.
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.