1 / 86

Métodos de Agrupamentos baseados em Grafos

Métodos de Agrupamentos baseados em Grafos. Lucas Batista Leite de Souza Mestrado em Ciência da Computação Universidade Federal de Uberlândia. Agenda. 1- Introdução 2- Noções da Teoria dos Grafos. 3- Algoritmo CHAMALEON 4- Algoritmo Jarvis -Patrick (talvez). Introdução.

zayit
Download Presentation

Métodos de Agrupamentos baseados em Grafos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Métodos de Agrupamentos baseados em Grafos Lucas Batista Leite de Souza MestradoemCiênciadaComputação Universidade Federal de Uberlândia

  2. Agenda • 1- Introdução • 2- Noções da Teoria dos Grafos. • 3- Algoritmo CHAMALEON • 4- Algoritmo Jarvis-Patrick (talvez)

  3. Introdução • Os algoritmos de agrupamento baseado em grafos representam os dados e sua proximidade através de um grafo G(V,E), onde V = {v1,v2,...,vn} é o conjunto de vértices e E é o conjunto de arestas. • Cada vértice representa um elemento do conjunto de dados e a existência de uma aresta conectando dois vértices é feita com base na proximidade entre os dois objetos. • A maneira mais simples de estabelecer as ligações entre os vértices é conectar cada vértice aos (n-1) vértices restantes, onde o peso da aresta indica a similaridade entre os dois objetos que a mesma conecta. • Um cluster é definido como um subgrafo conexo do grafo inicial.

  4. Exemplo: • Considere um banco de dados com 4 objetos (a, b, c, d). • Foi construída a matriz de similaridade para os quatro objetos. • A medida de similaridade pode variar dependendo do problema. • O grafo para esses dados pode ser construído em seguida.

  5. Exemplo: • Um algoritmo de clusterização baseado em grafos poderia achar dois subgrafos colocados abaixo. • Cada subgrafo corresponde a um cluster. Cluster C1 Cluster C2

  6. Noções da Teoria dos Grafos • A Teoria dos Grafos oferece uma maneira de lidar com a divisão dos vértices de um grafo em grupos distintos. • O particionamento de grafos consiste em dividir o conjunto de vértices V em dois subconjuntos S e (V-S). Essa divisão é chamada corte. • No exemplo abaixo o corte é composto pelas arestas a, b e c.

  7. Noções da Teoria dos Grafos • A busca pelo corte mínimo em um grafo depende da escolha da função a ser minimizada. • No caso das arestas do grafo possuírem peso, o tamanho do corte é dado pela soma dos pesos das arestas que conectam vértices em subconjuntos diferentes. • A função a ser minimizada nesse caso é soma dos pesos das arestas. • No exemplo abaixo o tamanho do corte mínimo é 2+2+2=6.

  8. Noções da Teoria dos Grafos • Essa abordagem que procura minimizar a soma do peso das arestas do corte favorece cortes que produzem conjuntos de vértices unitários (i.e. |S| = 1 ou |V-S| = 1). • Isso não é interessante para a clusterização, afinal não queremos clusters unitários. • Uma alternativa é usar uma variação do corte mínimo que busque balancear a cardinalidade dos conjuntos S e (V-S). • Essa abordagem é mais interessante para os propósitos da clusterização. • Encontrar essa versão balanceada do corte é NP-completo, porém diversas heurísticas foram desenvolvidas para buscar uma aproximação desse corte em tempo polinomial [3]. • Ex.: Método baseado na matriz Laplaciana do grafo. Detalhes sobre esse método se encontram em [3].

  9. Noções da Teoria dos Grafos • Por que particionar o grafo usando o corte mínimo? • Estamos considerando que quanto maior o peso da aresta, maior a similaridade entre os objetos que ela conecta. Assim, o corte mínimo separa objetos pouco similares em dois conjuntos distintos.

  10. Noções da Teoria dos Grafos • Grafo Esparso • Informalmente: Um grafo é dito esparso se ele possui “poucas” arestas. • Formalmente: Um grafo esparso é um grafo G(V,E), no qual |E|= O(|V|).

  11. CHAMALEON G. Karypis et al. (1999) Algoritmo de Clusterização Hierárquico com Modelagem Dinâmica

  12. Motivação • A maior parte dos algoritmos de clusterização encontra clusters de acordo com um modelo estático (global). • Muitas vezes o modelo pode não capturar adequadamente as características dos clusters. • A maior parte desses algoritmos não funciona bem quando existem clusters de diversas formas, densidades e tamanhos. • Por exemplo: • O algoritmo K-Means assume que os clusters serão globulares. Mas e se existirem clusters com vários formatos? • O algoritmo DBSCAN não produz resultados confiáveis quando os clusters apresentam densidades muito diferentes entre si.

  13. Motivação • O exemplo abaixo mostra que o DBSCAN não foi capaz de agrupar corretamente os dados presentes na grande elipse (intuitivamente a grande elipse constitui um único cluster). MinPts=4 Eps=0,4 Imagens Retiradas de [2]

  14. Motivação • O exemplo abaixo mostra que o CURE não foi capaz de encontrar corretamente os clusters. Número de clusters especificado(k)=11 α=0,3 Número de pontos representantes = 10 Imagens Retiradas de [2]

  15. Motivação • Em suma: A maior parte dos algoritmos se baseia em um modelo estático e não usa informações sobre a natureza de clusters individuais para fazer o merge. • Outro problema é que alguns desses algoritmos consideram apenas uma das duas medidas de similaridade colocadas abaixo, o que pode levar a merges incorretos de clusters. • Interconectividade Absoluta. • Proximidade Absoluta.

  16. Medidas de Similaridade entre clusters • Proximidade Absoluta: Consiste em calcular a distância entre os dois clusters. • Uma maneira de fazer isso é calcular a distância entre todos os pares de pontos dos dois clusters, onde cada ponto pertence a um cluster diferente. Algumas possibilidades: • Considerar que a distância entre dois clusters é a distância mínima entre todos os pares de dados (distância do vizinho mais próximo). • Considerar que a distância entre dois clusters é a distância máximaentre todos os pares de dados (distância do vizinho mais distante). • Considerar que a distância entre dois clusters é a média das distâncias entre todos os pares de dados (distância média).

  17. Medidas de Similaridade entre clusters • Exemplos: Abordagem Distância Mínima Abordagem Distância Máxima Abordagem Distância Média Imagens Retiradas de [4]

  18. Medidas de Similaridade entre clusters • O uso da proximidade absoluta como medida de similaridade pode levar algoritmos a unirem clusters de maneira errada. • Exemplo: • Considere que estejamos usando a distância do vizinho mais próximo. • Qual dos dois pares de clusters mergear? • Intuitivamente iríamos mergear o par (b). • Porém, um algoritmo que se baseia apenas na proximidade absoluta, irá mergear equivocadamente o par (a), visto que d1 < d2. Imagens Retiradas de [3]

  19. Medidas de Similaridade entre clusters • Interconectividade Absoluta: Também conhecida por agregação de similaridade entre dois clusters. • Nesse caso, dois pontos a e b possuem uma conexão (aresta) caso a similaridade entre eles exceda algum limite mínimo. • A interconectividade absoluta entre dois clusters é dada pela soma dos pesos das arestas entre pares de dados, um de cada cluster. • A ideia é que sub-clusters pertencentes a um mesmo cluster tenham alta interconectividade. • Em geral a interconectividade entre pares de clusters formados por muitos elementos é alta, por isso muitos algoritmos utilizam alguma forma de normalização desse valor.

  20. Medidas de Similaridade entre clusters • Exemplo: • Considere que os pontos em vermelho constituam um cluster. • Considere que os pontos em preto constituam outro cluster. • Nesse caso a interconectividade absoluta entre os dois clusters seria 5+9+6 = 20.

  21. Medidas de Similaridade entre clusters • O uso da interconectividade absoluta como medida de similaridade pode levar algoritmos a unirem clusters de maneira errada. • Exemplo: • Suponha que a interconectividade entre os elementos dos clusters verde e azul seja maior que a interconectividade entre os elementos dos clusters azul e vermelho. • Qual par de clusters devemos mergear? • Intuitivamente iríamos mergear o par azul-vermelho. • Porém, um algoritmo que se baseia apenas na interconectividade absoluta, irá mergear equivocadamente o par verde-azul. Imagens Retiradas de [3]

  22. Overview • CHAMALEON é um algoritmo de clusterizaçãohierárquico aglomerativoque trata essas dificuldades. • A ideia central é que dois clusters devem ser mergeados apenas se o cluster resultante é similar aos dois clusters originais. • Nos dois exemplo anteriores, caso observássemos as características do cluster resultante, em relação aos dois clusters originais, iríamos realizar o merge esperado.

  23. Características-chave • Proximidade e Interconectividade possuem limitações quando usadas como única medida de similaridade. • CHAMALEON determina o par de clusters maissimilareslevandoemcontatando a proximidade, quanto a interconectividadeentre os clusters. • Além disso, paramedir o grau de interconetividade e proximidade entre cada par de clusters, o algoritmolevaemconsideraçãocaractéristicasinternas de cada um dos clusters. Essefator é o quetorna o modelodinâmico. • O algoritmopodeseraplicado à dados quecontém clusters com característicasbemvariadas (formas, tamanhos, densidades), umavezquese baseiaapenasemcaracterísticas do par de clusters e nãoem um modelo global.

  24. Funcionamento Geral • O algoritmo modela os dados em um grafo esparso, onde os nós representam os dados e as arestas a similaridade entre eles. • O algoritmo é formado por duas fases: • 1: Utiliza um algoritmo de particionamento de grafos para dividir o grafo esparso em pequenos sub-clusters; • 2: Os sub-clusters são combinados de forma a encontrar os clusters reais.

  25. Funcionamento Geral Imagens Retiradas de [3]

  26. Modelando os dados • A partir da matriz de similaridade, os dados do conjunto são modelados em um grafo esparso, chamado Grafo dos K-vizinhos mais próximos ou Grafo KNN. • Cada vértice corresponde à um objeto e é ligado aos seus K-vizinhos mais similares. • O peso da aresta representa a similaridade entre os dois objetos que a mesma conecta.

  27. Modelando os dados • Exemplo: • Considere a matriz de similaridade entre quatro objetos: a, b, c, d. • Considere K=1. • Ou seja, cada objeto será ligado ao seu vizinho mais próximo. • O vizinho mais próximo do a é o c, pois a similaridade entre ambos é 4. • O vizinho mais próximo do b é o a, pois a similaridade entre ambos é 3. • O vizinho mais próximo do c é o a, pois a similaridade entre ambos é 4. • O vizinho mais próximo do d é o c, pois a similaridade entre ambos é 3. Grafo KNN K=1

  28. Modelando os dados Imagens Retiradas de [3]

  29. Modelando os dados • Razões para usar o Grafo KNN: • Objetos que são pouco similares entre si não estão conectados no Grafo KNN; • Captura o conceito de vizinhança dinamicamente; • Melhora a eficiência computacional (menos arestas para processar).

  30. Particionamento do Grafo KNN • As medidas de similaridade utilizadas pelo Chamaleon (que serão explicadas posteriormente) apresentam resultados confiáveis apenas quando aplicadas a clusters com um número razoável de elementos. • Por isso, o Grafo KNN deve ser dividido em sub-clusters com um número razoável de elementos que permita a modelagem dinâmica do algoritmo. • CHAMALEON encontra os sub-clusters aplicando um algoritmo de particionamento de grafos que divide o grafo inicial em muitas partições de modo que a soma do peso das arestas que ligam as partições (arestas de corte) seja minimizada. • Encontrar um particionamento de corte mínimo significa minimizar a similaridade entre os clusters. • Idealmente, um objeto deve ter maior similaridade com objetos do seu próprio cluster do que de outros clusters. • CHAMALEON utiliza o algoritmo METIS para o particionamento.

  31. Particionamento do Grafo KNN • O objetivo do algoritmo METIS é dividir o Grafo KNN em vários subgrafos. • Idealmente cada subgrafo gerado deve corresponder a um sub-cluster de um cluster real.

  32. Particionamento do Grafo KNN • Algoritmo METIS: • Entrada: • Um grafo G esparso (por exemplo um Grafo KNN). • Um parâmetro T que indica o tamanho máximo para os subgrafos que serão obtidos. • Saída: • Um conjunto de componentes distintos (subgrafos). • Funcionamento: • Os sub-clusters iniciais são obtidos a partir de um único cluster formado por todos os dados do Grafo KNN. • Repetidamente o maior cluster é dividido. • Esse processo chega ao fim quando o maior cluster possuir tamanho menor que T. • O valor de T devesergrande o suficienteparapermitir o cálculo das medidas de similaridadeusadaspelo CHAMALEON.

  33. Particionamento do Grafo KNN • Exemplos de particionamentos realizados pelo METIS na primeira iteração, para dois conjuntos diferentes de dados. • Mais informações sobre o algoritmo METIS em [5]. Imagens Retiradas de [3]

  34. Particionamento do Grafo KNN • Ao final desse algoritmo temos um grande número de subgrafos de tamanho aproximadamente igual, e bem conectados (com pontos muito similares uns aos outros). • O objetivo é que cada partição (subgrafo) contenha na sua maioria pontos pertencentes à um único cluster real.

  35. Modelando a similaridade entre clusters • A similaridade entre dois clusters é determinada de maneira dinâmica. • CHAMALEON considera duas medidas de similaridade: • Interconectividade relativa (RI) • Proximidade relativa (RC) • Dois clusters são unidos caso apresentem alta interconectividade e seus elementos estejam próximos, o que é traduzido em altos valores de RI e RC.

  36. Modelando a similaridade entre clusters • Interconectividade Relativa (RI): • A ideia é juntar clusters apenas se os pontos no cluster resultante estão quase tão fortemente conectados uns aos outros assim como estão os pontos nos clusters originais. • A interconectividade absoluta entre dois clusters Ci e Cj (|EC(Ci,Cj)|) é definida como a soma dos pesos das arestas (do grafo KNN) que ligam os dois clusters. • Essas arestas estavam no Grafo KNN original mas foram removidas devido à execução do METIS. • A interconectividade interna de um cluster Ci (|EC(Ci)|)é obtida através da soma dos pesos das arestas que cruzam o corte mínimo que divida o cluster em duas partes aproximadamente iguais (bisseção mínima).

  37. Modelando a similaridade entre clusters • Interconectividade Relativa (RI): • Para obter a Interconectividade Relativa entre os clusters Ci e Cj (RI(Ci,Cj)), deve-se normalizar a interconectividade absoluta (|EC(Ci,Cj)|), em relação à interconectividade interna dos clusters Ci (|EC(Ci)|) e Cj (|EC(Cj)|). Assim, chega-se a equação:

  38. Modelando a similaridade entre clusters • Interconectividade Relativa (RI): • Exemplo: Considere os dois clusters a seguir: Cluster A Cluster B

  39. Modelando a similaridade entre clusters • Primeiramente iremos calcular a interconectividade absoluta entre os clusters. • Considere que no Grafo KNN (antes da execução do METIS) existiam as seguintes arestas que permitam conectar pontos azuis a pontos vermelhos: • aresta b-e, com peso 1 • aresta b-h, com peso 0,9 • aresta d-h, com peso 0,95 • aresta d-i, com peso 1,1

  40. Modelando a similaridade entre clusters • Assim, a interconectividade absoluta é calculada: |EC(A,B)| = 1+ 0,9 + 0,95 + 1,1 = 3,95

  41. Modelando a similaridade entre clusters • Agora devemos calcular a interconectividade interna dos clusters A e B. • Deve-se achar o corte mínimo de cada um dos grafos. • Esse corte deverá “dividir” cada um dos grafos em conjuntos com o mesmo número de elementos (versão balanceada do corte). • |EC(A)| = 2 + 3 = 5 • |EC(B)| = 3 + 5 = 8

  42. Modelando a similaridade entre clusters • Aplicando a fórmula para o cálculo de RI, temos: RI(A,B) = 3,95/((5+8)/2) = 3,95/6,5 = 0,61 • O uso da interconectividade relativa permite que o CHAMALEON possa se adaptar a variadas formas de clusters bem como variações no grau de interconectividade dos clusters.

  43. Modelando a similaridade entre clusters • Interpretação da Equação para cálculo de RI: • Melhor Cenário Possível: • RI(Ci,Cj) próximo a 1: o cluster resultante da união de Ci e Cj seria quase tão conectado quanto os dois clusters originais (numerador ≅ denominador). • Pior Cenário Possível: • RI(Ci,Cj) próximo a 0: o cluster resultante da união de Ci e Cjseria bem menos conectado que os clusters originais (numerador muito menor que o denominador).

  44. Modelando a similaridade entre clusters • Proximidade Relativa (RI): • A ideia é juntar clusters apenas se os pontos no cluster resultante estão quase tão próximos uns aos outros assim como estão os pontos nos clusters originais. • A proximidade absolutaentre dois clusters Ci e Cj(SEC(Ci,Cj)) é definida como a média dos pesos das arestas (do Grafo KNN) que ligam os dois clusters. • Essa é uma boa estratégia para calcular a similaridade entre os clusters, pois no Grafo KNN vértices pouco similares não estão conectados. • A proximidade internade um cluster Ci(SEC(Ci)) é obtida através da média dos pesos das arestas que cruzam o corte mínimo que divida o cluster em duas partes aproximadamente iguais (bisseção mínima).

  45. Modelando a similaridade entre clusters • Proximidade Relativa (RC): • Para obter a Proximidade Relativa entre os clusters Ci e Cj (RC(Ci,Cj)), deve-se normalizar a proximidade absoluta (SEC(Ci,Cj)), em relação à proximidade interna dos clusters Ci(SEC(Ci)) e Cj(SEC(Cj)). • Assim, chega-se a equação: • |Ci| é o número de elementos no cluster Ci. • |Cj| é o número de elementos no cluster Cj. • Observe, pelo denominador da equação, que é dada uma maior importância para o cluster com mais elementos

  46. Modelando a similaridade entre clusters • Proximidade Relativa (RC): • Exemplo: Considere os dois clusters a seguir: Cluster A Cluster B

  47. Modelando a similaridade entre clusters • Primeiramente iremos calcular a proximidade absoluta entre os clusters. • Considere que no Grafo KNN (antes da execução do METIS) existiam as seguintes arestas que permitam conectar pontos azuis a pontos vermelhos: • aresta b-e, com peso 1 • aresta b-h, com peso 0,9 • aresta d-h, com peso 0,95 • aresta d-i, com peso 1,1

  48. Modelando a similaridade entre clusters • Assim, a proximidade absoluta é calculada: SEC(A,B) = (1+ 0,9 + 0,95 + 1,1)/4 = 0,9875

  49. Modelando a similaridade entre clusters • Agora devemos calcular a proximidade interna dos clusters A e B. • Deve-se achar o corte mínimo de cada um dos grafos. • Esse corte deverá “dividir” cada um dos grafos em conjuntos com o mesmo número de elementos (versão balanceada do corte). • SEC(A) = (2 + 3)/2 = 2,5 • SEC(B) = (3 + 5)/2 = 4

  50. Modelando a similaridade entre clusters • Aplicando a fórmula para o cálculo de RC, temos: RC(A,B) = 0,9875 /[ (4/(4+6))*2,5 + (6/(4+6))*4 ] = 0,9875/(1 + 2,4) = 0,29

More Related