46
DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

Embed Size (px)

Citation preview

Page 1: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

DETECÇÃO DE COMUNIDADES

TAIA

Hugo de Lima Santos (hls3)

Page 2: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

ROTEIRO

Motivação

Conceitos

Algoritmos

Caso de uso no mundo real

Page 3: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

MOTIVAÇÃO

Redes complexas modelam as redes existentes no mundo real

Obter características da rede, sem invadir a privacidade

Em redes sociais, as comunidades representam grupo de pessoas reais. Logo...

Page 4: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

MOTIVAÇÃO

Descobrindo os nós mais importantes da rede, pode-se analisar mais facilmente o tráfego na rede.

Nós que ligam comunidades diferentes têm grande importância no mundo real (redes de contágio)

Page 5: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

CONCEITOS

Assortative Mixing Tendência que nós tem de se relacionar com nós semelhantes a eles.

K-coreMaior sub grafo de uma rede, onde

todos nós possuem ao menos k ligações

Page 6: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

CONCEITOS

Caminho Geodésico

(próxima página.)

Page 7: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

CONCEITOS

Page 8: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

MEDIDA DE CENTRALIDADE

Degree

Geral

Grafos direcionadoIndregreeOutdegree

Page 9: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

MEDIDAS DE CENTRALIDADE

Betweeness

Importância do vértice, no controle do fluxo de informação

Fração dos Caminhos Geosédicos, que passam pelo vértice

Page 10: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

MEDIDAS DE CENTRALIDADE

Closeness

Grau de proximidade de um vértice, em relação aos outros vértices do grafo

É calculado através da distância média do vértice em questão, até os outros

Page 11: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

MEDIDA DE DENSIDADE

Coeficiente de Clustering

Local: Mede o quão perto um vértice está de se tornar um clique

Probabilidade de dois amigos meus se conhecerem é maior do que duas pessoas aleatórias

Page 12: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

COMUNIDADES...

Sub-redes de uma rede maior

Alto grau de conexões entre vértices de uma mesma comunidade

Baixo grau de conexões entre vértices de comunidades diferentes

Page 13: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

COMUNIDADES...

Page 14: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

Detecção de Comunidades

Page 15: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

DETECÇÃO DE COMUNIDADES

Clustering Particional

Clustering Hierarquical

Page 16: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

DETECÇÃO DE COMUNIDADES

Clustering Particional

K-Means

Muito simples de ser implementado

Necessita de capacidade computacional moderada

Page 17: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

DETECÇÃO DE COMUNIDADES K-Means

Algoritmo:

1 – São definidas K partições

2 – É calculado o centróide de cada uma delas

3 – Reorganizam-se os nós, de acordo com os centróides mais próximos

4 – Volta para 2, até que a rede permaneça estável

Page 18: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

DETECÇÃO DE COMUNIDADES K-Means

Problemas:

Depende do K arbitrado

Depende da configuração inicial das comunidades geradas

Page 19: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

DETECÇÃO DE COMUNIDADES K-Means

Algumas variações foram desenvolvidas

Ex: Definir K como raiz quadrada da metade de N

Page 20: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

DETECÇÃO DE COMUNIDADES

Clustering Hierárquico

Girvan-Newman

Page 21: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

DETECÇÃO DE COMUNIDADES

Girvan-Newman

Divisivo

A cada passo, uma aresta é excluída

A escolha da aresta é feita através do Edge Betweenness

Page 22: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

DETECÇÃO DE COMUNIDADES

Girvan-Newman

Para calcular o edge betweennes:Shortest-pathRandom-walkCurrent-flow

Page 23: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

DETECÇÃO DE COMUNIDADES

Girvan-Newman

A cada retirada de uma arestas, será gerado uma nova configuração da rede.

Após atingir a condição de parada, teremos as nossas comunidades

Page 24: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

GIRVAN-NEWMAN Algoritmo

Calcular Edge Betweennes para cada aresta da rede

Remover aresta com maior Edge Betweennes

Recalcular Edge Betweennes para arestas restantes (!)

Repete até que a condição de parada seja atingida

Page 25: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

GIRVAN-NEWMAN Dendrograma

A cada iteração do algoritmo é gerado um dendrograma

Árvore binária que sinaliza cada remoção que aconteceu na rede

Page 26: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

DENDROGRAMA

Page 27: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

GIRVAN-NEWMAN Questões:

Como decidir qual a hora de parar de tirar arestas da rede?

Quando as comunidades encontradas são boas o suficiente?

Page 28: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

GIRVAN-NEWMAN Solução:

Modularidade!

Medida da qualidade da rede gerada, em relação as comunidades existentes

Page 29: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

GIRVAN-NEWMAN Modularidade:

Deve ser calculado a cada evolução do dendrograma

No final do processo, escolhemos o maior Q

Com maior Q, temos a melhor divisão da rede em comunidades

Page 30: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

GIRVAN-NEWMAN Modularidade:

Dada rede com K comunidades

Define uma matriz K x K

E(i,j) corresponde a fração de arestas que ligam elementos de (i) aos de (k)

Page 31: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

CALCULANDO O TRAÇO DA MATRIZ

Page 32: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

GIRVAN-NEWMAN Traço da Matriz

Corresponde a fração das arestas da rede que ligam nós de uma mesma comunidade.

Boa divisão das comunidades acarreta em alto valor de Tr.

Porém usar SÓ essa medição é pobre. Rede com apenas 1 comunidade tem Tr = 1

Page 33: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

GIRVAN-NEWMAN Logo...

Definição de mais uma medida:

Page 34: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

GIRVAN-NEWMAN

Corresponde a somatória de todas arestas que possuem pelo menos um vértice da comunidade (i)

Com esse novo valor, podemos recalcular a modularidade...

Page 35: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

GIRVAN-NEWMAN

Calculando a modularidade:

|e²| = Valor calculado baseado na geração aleatória de uma matriz correspondente a nossa

Page 36: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

GIRVAN-NEWMAN

Exemplo prático...

Page 37: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

GIRVAN-NEWMAN

Page 38: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

CASO DE ESTUDO REAL

Academia Zacharty’s

Década de 1970

Dois anos de observação...

Page 39: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

CASO DE ESTUDO REAL

Durante o experimento, a academia foi dividida em duas

Uma formada pelo antigo dono (#1)

Outra formada pelo antigo professor (#33)

Os alunos se dividiram de acordo com a proximidade com o novo chefe

Page 40: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

CASO DE ESTUDO REAL

Page 41: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

CASO DE ESTUDO REAL

Aplicaram-se três configurações diferentes do algoritmo de Girvan-Newman

Shortest pathRamdom walkShortest path – sem recálculo

Page 42: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

CASO DE ESTUDO REAL - RESULTADOS

Page 43: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

CONCLUSÃO Algoritmos de clustering particional são

mais rápidos, porém pouco precisos. K-means

Algoritmos de clustering hierárquico são mais eficientes e precisos Girvan-Newman Recalculo essencial para bons resultados

Usando shortest path, conseguimos resultados mais confiáveis para redes conhecidas (verificáveis)

Page 44: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

CONCLUSÃO

Para redes não conhecidas, podemos usar modularidade para gerar comunidades

Page 45: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

Dúvidas ?

Page 46: DETECÇÃO DE COMUNIDADES TAIA Hugo de Lima Santos (hls3)

REFERÊNCIAS

Newman M, Girvan M. Finding and evaluating community structure in networks. August 2003

M. E. J. Newman, Phys. Rev. E 64, 016132. 2001.

U. Brandes, J. Math. Sociol. 25, 163. 2001.

http://www.public.asu.edu/~huanliu/dmml_presentation/2008/Community%20Detection%20in%20Social%20Networks.pdf