DETECÇÃO DE COMUNIDADES
TAIA
Hugo de Lima Santos (hls3)
ROTEIRO

Motivação

Conceitos

Algoritmos

Caso de uso no mundo real
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...
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)
CONCEITOS
 Assortative
Mixing
Tendência que nós tem de se
relacionar com nós semelhantes a eles.

 K-core

Maior sub grafo de uma rede, onde
todos nós possuem ao menos k ligações
CONCEITOS
 Caminho

Geodésico
(próxima página.)
CONCEITOS
MEDIDA DE CENTRALIDADE

Degree


Geral
Grafos direcionado
 Indregree
 Outdegree
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
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
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
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
COMUNIDADES...
Detecção de
Comunidades
DETECÇÃO DE COMUNIDADES

Clustering Particional

Clustering Hierarquical
DETECÇÃO DE COMUNIDADES

Clustering Particional

K-Means


Muito simples de ser implementado
Necessita de capacidade computacional
moderada
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
DETECÇÃO DE COMUNIDADES

K-Means

Problemas:

Depende do K arbitrado
Depende da configuração inicial das
comunidades geradas

DETECÇÃO DE COMUNIDADES

K-Means

Algumas variações foram
desenvolvidas

Ex: Definir K como raiz quadrada da
metade de N
DETECÇÃO DE COMUNIDADES

Clustering Hierárquico

Girvan-Newman
DETECÇÃO DE COMUNIDADES

Girvan-Newman

Divisivo

A cada passo, uma aresta é excluída

A escolha da aresta é feita através do Edge
Betweenness
DETECÇÃO DE COMUNIDADES

Girvan-Newman

Para calcular o edge betweennes:
Shortest-path
Random-walk
Current-flow

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
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
GIRVAN-NEWMAN

Dendrograma

A cada iteração do algoritmo é gerado um
dendrograma
Árvore binária que sinaliza cada remoção que
aconteceu na rede

DENDROGRAMA
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?

GIRVAN-NEWMAN

Solução:

Modularidade!
Medida da qualidade da rede gerada,
em relação as comunidades existentes

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

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)

CALCULANDO O TRAÇO DA MATRIZ
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
GIRVAN-NEWMAN

Logo...
 Definição
de mais uma medida:
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...
GIRVAN-NEWMAN


Calculando a modularidade:
|e²| = Valor calculado baseado na geração aleatória de
uma matriz correspondente a nossa
GIRVAN-NEWMAN

Exemplo prático...
GIRVAN-NEWMAN
CASO DE ESTUDO REAL

Academia Zacharty’s

Década de 1970

Dois anos de observação...
CASO DE ESTUDO REAL


Durante o experimento, a academia foi
dividida em duas
Uma formada pelo antigo dono


Outra formada pelo antigo professor


(#1)
(#33)
Os alunos se dividiram de acordo com a
proximidade com o novo chefe
CASO DE ESTUDO REAL
CASO DE ESTUDO REAL
 Aplicaram-se três configurações diferentes do
algoritmo de Girvan-Newman
Shortest path
 Ramdom walk
 Shortest path – sem recálculo

CASO DE ESTUDO REAL - RESULTADOS
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)
CONCLUSÃO
 Para
redes não conhecidas, podemos usar
modularidade para gerar comunidades

Dúvidas ?
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%20Detect
ion%20in%20Social%20Networks.pdf
Download

Detecção de Comunidades TAIA