Agrupamento
Equipe
Bertha Andaluz (bmca) Deborah Mesquita (dhsm) Lucas Lima (lapl)
Roteiro
● Motivação ● Métodos de clustering ● Modelos de clustering ● Fuzzy clustering ● Cluster labeling ● Maldição da dimensionalidade ● AplicaçõesPara que usar técnicas de clustering?
● Agrupar documentos semelhantes em classes sem conhecer previamente
Exemplo
● Podemos supor que quem vai de bicicleta ao trabalho não mora muito longe do escritório
● Com algoritmos que utilizem uma técnica de clustering: achar características sobre os trabalhadores ciclistas que não sejam tão óbvias
Objetivo dos algoritmos que utilizam a técnica
● O objetivo do algoritmo é criar clusters de documentos que sejam coerentes, mas diferentes entre si.
● Documentos de um cluster devem ser o mais similares possível
● Documentos de um cluster devem ser diferentes dos documentos de outro
Características
● Clustering é a forma mais comum de aprendizagem não supervisionada
○ Não existe um expert selecionando classes para os documentos
○ A distribuição e composição dos dados determina a que cluster cada documento pertence ● Classificação vs. Clustering
○ Classificação é uma forma de aprendizagem supervisionada
■ Visa replicar a categorização que avaliadores humanos aplicam aos dados
Classificação Clustering
Classes Previamente definidas Definidas pelo algoritmo Objetivo Determinar a que classe
cada documento pertence
Clustering na RI
● Cluster Hypothesis (Van Rijsbergen - 1979):
○ "Documentos de um mesmo cluster se comportam de forma similar com respeito a relevância das informações contidas"
● Se existe um documento em um cluster que é relevante para uma query, provavelmente os outros documentos do mesmo cluster também são ● Em uma query contendo uma palavra com muitos possíveis significados,
buscar pelos clusters é mais fácil do que por cada documento individualmente
Métodos de Clustering
● Distinção entre os diferentes algoritmos ● Hard vs. Soft Clustering
○ Hard: cada documento é membro de exatamente um cluster ○ Soft: um documento pode pertencer a vários clusters
● Modelos
○ Centroid Model: similaridade definida pela similaridade dos centroides ○ Density Model: similaridade definida pela densidade de objetos
Modelo baseado em particionamento
● Queremos particionar um conjunto de dados D em k clusters ● Precisamos definir um critério de particionamento:
○ Critério bastante comum é minimizar a soma dos quadrados das distâncias entre documentos e o centro do cluster a que cada documento pertence:
■ Onde p é um ponto no espaço que representa o documento e mi é o centroide do cluster Ci
● Devemos encontrar uma partição dos k clusters de maneira a otimizar o critério de particionamento
Modelo baseado em particionamento
● Problema conhecidamente NP-hard:
○ Encontrar um ótimo global requer que enumeremos exaustivamente todas as partições ● Uso de heurísticas é uma abordagem bastante comum:
○ k-means → cluster é representado por um vetor central que pode não pertencer ao conjunto de dados
○ k-medoids → cluster é representado por um vetor central que representa um dos objetos pertencentes ao cluster
K-means - Algoritmo
O algoritmo tem duas etapas principais: ● Atribuição:
○ Escolhe-se arbitrariamente k membros do conjunto de dados como clusters iniciais ● Atualização:
○ Associa-se cada membro p do conjunto de dados ao cluster mais próximo
○ Atualiza-se cada centroide levando em consideração os atuais membros de cada cluster Repetimos a atualização até que não haja mudanças significativas nos clusters!
K-means - Variações
● Seleção de pontos iniciais: ○ Forgy
○ Random partition
● Cálculo da similaridade entre pontos
● Estratégias para calcular os centroides dos clusters: ○ Média
○ Mediana
○ Moda → Atributos nominais ● Canopy clustering.
K-means - KNN
● Podemos dizer que há uma fraca relação entre o algoritmo de agrupamento
K-means e o de classificação K-nearest-neighbours:
○ Dados novos → 1-nearest-neighbour
K-means - Vantagens
● Escalável
● Complexidade O(ikn): ○ i = número de iterações ○ k = número de clusters
○ n = número de membros do conjunto de dados ○ i, k << n - normalmente
K-means - Desvantagens
● Necessita um k predefinido
● Necessita que a operação de média seja bem definida ● Ineficiente para lidar com ruídos e com outliers
● Espera clusters de tamanhos similares ● Inadequado para conjuntos não-convexos
Modelo baseado em densidade
● Clusters definidos como áreas de alta densidade
● Objetos em áreas esparsas são considerados ruído
● DBSCAN é o algoritmo mais popular
DBSCAN
● Core point: contém com pelo menos p pontos a uma distância no máximo d - diretamente alcançáveis
● Reachable point: alcançável através de uma sequência de core points
diretamente alcançáveis ● Outlier: não alcançável
DBSCAN
● Não precisa especificar número de clusters à priori ● Clusters de formato arbitrário
● Parâmetros p e d podem ser setados por especialista ● Resultado não-determinístico
Modelo Hierárquico
● Ideia: objetos estão mais
relacionados a outros objetos mais perto
● Conecta objetos baseado na distância para montar clusters ● Agrupa clusters nível a nível ● Aglomerativa - bottom up - ou
Modelo Hierárquico - bottom up
● Cada documento começa como um cluster
● A cada passo clusters são agrupados considerando alguma medida de similaridade
○ Calcula distância entre todos pares de clusters ■ Métrica de similaridade
■ Critério de agrupamento
Critério de agrupamento
Define como deve ser calculada a distância entre dois clusters ● Single-linkage:
○ Par com menor distância
○ Clusters mais alongados ou irregulares ● Complete-linkage:
○ Par com maior distância ○ Clusters compactos
○ Estabelece distância máxima entre nós em um mesmo cluster ● Average linkage
Model Hierárquico - top down
● Início com cluster contendo todos os dados
● A cada passo o cluster menor homogêneo é dividido
● Para divisão utiliza algum algoritmo de clustering “flat”, e.g., 2-means ● Pode se beneficiar de análise global da distribuição
Fuzzy clustering
● Baseado em lógica fuzzy
● Elemento pode fazer parte de mais de um cluster
● Função de pertinência: indica força de associação entre o elemento e determinado cluster
C-means
● Baseado no k-means
● C = {c1, c2, …, cc} centros de clusters
● W = wij grau de pertinência entre elemento xi e cluster cj ● Minimizar função objetiva
C-means
● Escolhe um número de clusters ● Escolhe aleatoriamente a matriz W ● Repete até convergir
○ Calcula C usando centroide ○ Atualiza W
Cluster labeling
● Tarefa de escolher labels descritíveis e legíveis por humanos para descrever os clusters
● Sumarizar o tópico ● Diferenciar clusters ● Métodos
○ Differential cluster labeling → usa distribuição dos termos em todo conjunto ■ Mutual information
■ Chi-Squared selection
Differential cluster labeling
Mutual information
● Grau de dependência entre variáveis aleatórias
● Valor alto indica maior capacidade de descrever o cluster ● Penalidade para valores raros gera melhor resultado
Cluster-internal labeling
● Centroid label
○ Modelo espaço vetorial
○ Calcula centroide usando média aritmética dos vetores do cluster ○ Valores altos no centroide indicam maior importância do termo ○ Problema com palavras muito frequentes
● Title label
○ Usa título do documento mais próximo ao centroide ○ Pode trazer informação adicional
Maldição da dimensionalidade
● Para dados definidos por um grande número de atributos - high-dimensional
data, muitos dos métodos de agrupamento existentes falham:
○ Funções particulares para o cálculo de distâncias tornam-se problemáticas em espaços de alta dimensionalidade - high-dimensional spaces.
Maldição da dimensionalidade
● Aumento da dimensionalidade → aumento exponencial do volume do espaço:
○ Dados disponíveis tornam-se esparsos
○ Necessidade de um volume muito maior de dados para obter significância estatística ○ Dificulta a identificação de grupos com características similares
Maldição da dimensionalidade
● Medidas de similaridade alternativas ● Análise de componentes principais:
○ Procedimento matemático que utiliza uma transformação ortogonal para converter um conjunto de observações de variáveis possivelmente correlacionadas a um conjunto de valores de variáveis linearmente descorrelacionadas
● Missing values ratio ● Low Variance Filter ● High Correlation Filter
Aplicações
● Biologia ● Medicina ● Ciências Sociais ● Marketing ● WebBiologia
● Sequenciamento de Genes
● Agrupar sequências em famílias genéticas ● Detecção automática de genótipos
Medicina
● Uso na detecção de tecidos diferentes em imagens do PET Scan
○ Método anterior requeria amostra de sangue do paciente
● Agrupamento de bactérias por padrões de resistência a antibióticos
Marketing
● Identificação de segmentos de mercado
○ Algoritmos de agrupamento são utilizados para identificar certos grupos de compradores ● Sistemas de recomendação
Redes Sociais
● Recomendação de amigos/interesses
○ Com o agrupamento de usuários parecidos, pesquisar os links não formados, interesses que faltam, amizades não formadas, etc.
Conclusões
● Pode ser realizado por diversos métodos e diversas abordagens
● Existem várias técnicas de clustering robustas já consolidades na área de IA ● Gera visão mais organizada dos documentos
● Pode reduzir espaço da busca