0% ont trouvé ce document utile (0 vote)
51 vues69 pages

Détection de communautés dans les graphes

Ce document traite de la détection de communautés dans les grands graphes. Il présente les concepts clés comme la définition d'une communauté, les intérêts de la détection de communautés, et les problématiques comme l'identification de communautés et le partitionnement de graphe. Différentes approches sont décrites comme l'identification de communautés centrée sur un nœud, et les approches de partitionnement comme le clustering hiérarchique et l'optimisation de fonctions de qualité.

Transféré par

kckkb6
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
51 vues69 pages

Détection de communautés dans les graphes

Ce document traite de la détection de communautés dans les grands graphes. Il présente les concepts clés comme la définition d'une communauté, les intérêts de la détection de communautés, et les problématiques comme l'identification de communautés et le partitionnement de graphe. Différentes approches sont décrites comme l'identification de communautés centrée sur un nœud, et les approches de partitionnement comme le clustering hiérarchique et l'optimisation de fonctions de qualité.

Transféré par

kckkb6
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Détection de communautés dans les grands graphes de

terrain

Rushed Kanawati

LIPN, CNRS UMR 7030


Université Paris Sorbonne Cité
http://lipn.fr/∼kanawati
[email protected]

October 31, 2016

R. Kanawati (LIPN) Détection de communautés October 31, 2016 1 / 69


Plan

1 Problématique

2 Identification de communautés

3 Partitionnement de graphe

4 Evaluation de communautés

R. Kanawati (LIPN) Détection de communautés October 31, 2016 2 / 69


Problématique

Communauté ?

Définition
Un sous-graphe dense faiblement lié au reste du graphe.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 3 / 69


Problématique

Communauté ?

Definition
Un sous-graphe dense faiblement lié au reste du graphe.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 4 / 69


Problématique

Intérêts

v Réseaux sociaux : identification de groupes d’amis


v Web : ensemble de pages web traitant un même thème,
v Réseaux biologiques : un ensemble de gènes dédiés à une même
fonction,
v etc.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 5 / 69


Problématique

Application

v Parallélisation
v Visualisation
v Compression

R. Kanawati (LIPN) Détection de communautés October 31, 2016 6 / 69


Problématique

Problèmes

v Identification de communauté : délimiter la communauté d’un


nœud.
v Partitionnement du graphe en N sous-graphes (communautés non
chevauchantes).
v Detection de communautés (potentiellement chevauchantes)

R. Kanawati (LIPN) Détection de communautés October 31, 2016 7 / 69


Identification de communautés

Identification de communautés

Exemple : communauté égo-centrée (LinkedIn)

R. Kanawati (LIPN) Détection de communautés October 31, 2016 8 / 69


Identification de communautés

Identification de communautés : approche générale


Contraintes
Vision partielle du graphe centré sur le nœud cible.

V =D ⊕S ⊕U
D : Ensemble de nœuds explorés
S : Ensemble de nœuds
partiellement explorés.
U : Ensemble de nœuds
non-explorés
D =C ⊕B
C : Ensemble de nœuds dont tous
les voisins sont aussi dans D
B : Ensemble de nœuds de D qui
ont au moins un voisin dans S
R. Kanawati (LIPN) Détection de communautés October 31, 2016 9 / 69
Identification de communautés

Identification de communautés : approche générale

1 C ← φ, B ← {n0 }, S ← Γ(n0 )
2 Q ← 0 /* Une fonction de qualité /
3 Tant que on peut améliorer Q faire
1 n ← argmaxn∈S Q
2 S ← S − {n}
3 D ← D + {n} /* D = C ∪ B*/
4 Mettre à jour B, S, C
4 Retourner D : la communauté de n0

R. Kanawati (LIPN) Détection de communautés October 31, 2016 10 / 69


Identification de communautés

Fonction de qualité : exemples I

La modularité locale R [Clauset05]


Bin
R= Bin +Bout
Bin =len(g.es.select( within=B))
Bout =len(g.es.select( between=(B,S)))

R. Kanawati (LIPN) Détection de communautés October 31, 2016 11 / 69


Identification de communautés

Fonction de qualité : exemples II

La modularité locale M
Din
M= Dout
Din =len(g.es.select( within=D))
Dout =len(g.es.select( between=(B,S)))

R. Kanawati (LIPN) Détection de communautés October 31, 2016 12 / 69


Identification de communautés

Fonction de qualité : exemples III

La modularité locale L
Lin
L= Lex où :
P
kΓ(i)∩Dk
i∈D
Lin = kDk

P
kΓ(i)∩Sk
i∈B
Lex = kBk

R. Kanawati (LIPN) Détection de communautés October 31, 2016 13 / 69


Partitionnement de graphe

Partitionnement de graphe
Définition
P = {P1 , . . . , Pn }, ∩i:1→n Pi = φ , ∪i:1→n Pi = V
Nombre de partitions : Nombre de Bell Bn = nk=1 Ckn Bn−1
P

R. Kanawati (LIPN) Détection de communautés October 31, 2016 14 / 69


Partitionnement de graphe

Approches

v Approches centrées groupes où des nœuds sont regroupés en


communautés en fonction de propriétés topologiques partagées.
v Approches centrées réseau où la structure globale du réseau est
examinée pour la décomposition du graphe en communautés.
v Approches centrées propagation qui appliquent souvent une procédure
d’émergence de la structure communautaire par échange de messages
entre nœuds voisins.
v Approches centrées graines où la structure communautaire est
construite autour d’un ensemble de nœuds choisis d’une manière
informée.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 15 / 69


Partitionnement de graphe

Approches centrées groupes

v Recherche de groupes denses :


v Cliques maximales
v γ-dense quasi clique.
v K-core : sous-graphe connexe maximal dans lequel le degré de
chaque nœud est supérieur ou égale à k
v ...
v Adéquat pour graphes denses
v Souvent NP-Complet.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 16 / 69


Partitionnement de graphe

Group-based approches

from Symeon Papadopoulos, Community Detection in Social Media, CERTH-ITI, 22 June 2011

R. Kanawati (LIPN) Détection de communautés October 31, 2016 17 / 69


Partitionnement de graphe

Example: Clique percolation

Suits fairly dense graph.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 18 / 69


Partitionnement de graphe

Approches centrées Réseau

v Algorithme de clustering
v Approches d’optimisation
v Approches basées sur la propagation locale
v Approches centrées graine

R. Kanawati (LIPN) Détection de communautés October 31, 2016 19 / 69


Partitionnement de graphe

Approche de clustering : Classification hiérarchique

Chaque sommet = communauté.


On itère jusqu’au avoir une seule communauté :
Calcule les distances entre chaque 2 communautés
Fusionner les deux communautés les plus proches
On obtient un dendrogramme de communautés.
Distance entre communautés : La distance minimale, maximale, ou
moyenne entre deux sommets des 2 communautés. Distance entre
barycentres des communautés.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 20 / 69


Partitionnement de graphe

Approches d’optimisation

v Définition d’une fonction de qualité de partition


v Application d’approches d’optimisation.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 21 / 69


Partitionnement de graphe

Fonction de qualité : La modularité


La modularité
1 XX di dj
Q(P) = (Aij − ) (1)
2m 2m
c∈P i,j∈c

(15+6)−(11.25+2.56)
Figure: Exemple de calcul de la modularité : Q = 25 = 0.275

R. Kanawati (LIPN) Détection de communautés October 31, 2016 22 / 69


Partitionnement de graphe

Optimisation : Algorithmique génétique

Une population de solutions : chaque individu est représenté par une


séquence de gènes
Evolution de la population par mécanismes de : croisement,
mutation et sélection naturelle.
Gène : vecteur d’affectation de communauté aux sommets.
Mécanismes de sélection : Modularité.
Intérêt : Parrallélisation facile.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 23 / 69


Partitionnement de graphe

Approches séparatives

igraph.Graph.community edge betweenness

Principe : A chaque itération retirer un lien inter-communuaté


Différents critères pour identifier un lien inter-communauté
Algo. de Girvan et Newman :la centralité d’intermédiarité.
Complexité O(m2 n).
Algo. de Fortunato : centralité d’information. L’efficacité d’un
graph E est donné par la moyenne de d1ij , La centralité d’une
arête (i, j) est donné par la diminution de E en retirant ce lien.
Complexité O(m3 n).

R. Kanawati (LIPN) Détection de communautés October 31, 2016 24 / 69


Partitionnement de graphe

Approche Agglomérative I

igraph.community multilevel

Chaque nœud est associé à une communauté


Répéter jusqu’à stabilisation :
pour chaque nœud i évaluer le gain de modularité ∆Q si i rejoint la
communauté
P
d’un noœud
P
voisin j P P
in +2ki,in tot +ki 2 ki 2
∆Q = ( 2m − ( 2m ) ) − ( 2min − ( 2mtot )2 − ( 2m ) )
P
in est la somme des poids des liens dans la communauté cible,

R. Kanawati (LIPN) Détection de communautés October 31, 2016 25 / 69


Partitionnement de graphe

Approche Agglomérative II

P
tot est la somme des liens adjacents aux nœuds de la
communauté cible,
ki,in est la somme des poids des liens reliant i à des nœuds de la
communauté cible.

(suite Répéter jusqu’à stabilisation)


i est ajouté á la communauté qui maximise le gain si ce gain est positif.
Remplacer le graphe actuel par le graphe de connexion de
communautés calculé comme suit :
Les nœuds sont les communautés
Le poids d’un lien (u, v ) est la somme des poids des liens reliant
tous les nœuds de u aux nœuds de v

R. Kanawati (LIPN) Détection de communautés October 31, 2016 26 / 69


Partitionnement de graphe

Approche Agglomérative III

R. Kanawati (LIPN) Détection de communautés October 31, 2016 27 / 69


Partitionnement de graphe

Optimisation de la modularité: Limites

Hypothèses
La meilleure partition est celle qui maximise la modularité
Si un graphe a une structure communautaire alors il est possible de
trouver une partition precise qui avec une modularité maximales.

Les partitions ayant des modularités élevées sont similaires entre elles.

Les trois hypothèses sont fausses [GdMC10, LF11].

R. Kanawati (LIPN) Détection de communautés October 31, 2016 28 / 69


Partitionnement de graphe

Modularité: limite de la résolution

m = R.3 Kanawati
: Max(LIPN)
Q = 0.675 tandisDétection
que la modularité de la partition
de communautés naturelle
October 31, 2016 29 / 69
Partitionnement de graphe

Distribution de la modularité

R. Kanawati (LIPN) Détection de communautés October 31, 2016 30 / 69


Partitionnement de graphe

Approches de propagation

Algorithm 1 Label propagation


Require: G =< V , E > a connected graph,
1: Initialize each node with unique label lv
2: while Labels are not stable do
3: for v ∈ V do
lv = arg max |Γl (v )| /* random tie-breaking */
l
4: end for
5: end while
6: return communities from labels

Γl (v ) : set of neighbors having label l

R. Kanawati (LIPN) Détection de communautés October 31, 2016 31 / 69


Partitionnement de graphe

Approche de propagation d’étiquettes

igraph.community label propagation

1 Chaque nœud est attribué une étiquette unique.


2 Chaque nœud propage son étiquette à ses voisins.
3 A réception, chaque nœud adopte l’étiquette majoritaire.
4 En cas de conflit, un nœud choisit une étiquette aléatoirement.
5 Deux approches : Propagation synchrone et propagation asynchrone.

Problème :
Stabilité des partitions retrouvées.
Solution : calcul de cœurs de communautés

R. Kanawati (LIPN) Détection de communautés October 31, 2016 32 / 69


Partitionnement de graphe

Label propagation
Avantages
I Complexité : O(m)
I Simplicité de Paralléllisation

Inconvénients

I Problème de convergence, d’oscillation.

I Problème de stabilité
Différentes exécutions donnent différentes
solutions pour un même réseau

R. Kanawati (LIPN) Détection de communautés October 31, 2016 33 / 69


Partitionnement de graphe

Label propagation: Convergence

I Asynchronous label update, [RAK07]


I Semi-synchronous label update (graph coloring + propagation by
color) [CG12].

I Accentuer le problème de instabilité !


I Plus difficile à paralléliser.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 34 / 69


Partitionnement de graphe

Robust Label propagation

I Label hop attenuation [LHLC09]


I Balanced label propagation [SB11].

I Multiplex approach !
I Ensemble clustering → cœurs de communautés
[OGS10, SG12, LF12].

R. Kanawati (LIPN) Détection de communautés October 31, 2016 35 / 69


Partitionnement de graphe

Cœurs de communautés I

v Etant donné N partitions d’un graphe G de n nœuds


v Calculer la matrice n × n de consensus C = cij où cij est la fréquence
de co-occurrence des nœuds i; j dans une même communauté.
v C est la matrice d’adjacence du graphe de consensus.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 36 / 69


Partitionnement de graphe

Cœurs de communautés II

R. Kanawati (LIPN) Détection de communautés October 31, 2016 37 / 69


Partitionnement de graphe

Exemple : Club de Karaté de Zachary I

R. Kanawati (LIPN) Détection de communautés October 31, 2016 38 / 69


Partitionnement de graphe

Exemple : Club de Karaté de Zachary II

R. Kanawati (LIPN) Détection de communautés October 31, 2016 39 / 69


Partitionnement de graphe

Exemple : Club de Karaté de Zachary III

R. Kanawati (LIPN) Détection de communautés October 31, 2016 40 / 69


Partitionnement de graphe

Exemple : Club de Karaté de Zachary IV

R. Kanawati (LIPN) Détection de communautés October 31, 2016 41 / 69


Partitionnement de graphe

Exemple : Club de Karaté de Zachary V

R. Kanawati (LIPN) Détection de communautés October 31, 2016 42 / 69


Partitionnement de graphe

Exemple : Club de Karaté de Zachary VI

R. Kanawati (LIPN) Détection de communautés October 31, 2016 43 / 69


Partitionnement de graphe

Cœurs de communautés

v Etant donné un seuil α ∈ [0, 1]


v Retirer du graphe de consensus les liens dont le poids ≤ α
v Les composantes connexes du graphe résultat sont les cœurs de
communautés

R. Kanawati (LIPN) Détection de communautés October 31, 2016 44 / 69


Partitionnement de graphe

Exemple : Club de Karaté de Zachary

R. Kanawati (LIPN) Détection de communautés October 31, 2016 45 / 69


Partitionnement de graphe

Label propagation preprocessing (EPP)

1 Appliquer l’algorithme LP n fois


2 Calculer les cœurs de communautés pour α = 1
3 Réduire le graphe en substituant chaque communauté par un simple
nœud.
4 Appliquer un algorithme de détection de communautés sur le graphe
réduit.
5 Expansion des résultats.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 46 / 69


Partitionnement de graphe

Approches centrées graine

Algorithm 2 General seed-centric community detection algorithm


Require: G =< V , E > a connected graph,
1: C ← ∅
2: S ← compute seeds(G)
3: for s ∈ S do
4: Cs ← compute local com(s,G)
5: C ← C + Cs
6: end for
7: return compute community(C)

R. Kanawati (LIPN) Détection de communautés October 31, 2016 47 / 69


Partitionnement de graphe

Seed-centric approaches

Table: Characteristics of major seed-centric algorithms


Algorithm Seed Nature Seed Number Seed selection Local Com. Com. computation
Leaders-Followers [SZ10] Single Computed informed Agglomerative -
Top-Leaders [KCZ10] Single Input Random Expansion -
PapadopoulosKVS12 Subgraph Computed Informed Expansion -
WhangGD13 Single Computed informed Expansion -
BollobasR09 Subgraph Computed informed expansion -

Licod [Kan11] Set Computed Informed Agglomerative -


Yasca [Kan14] Single Computed Informed Expansion Ensemble clustering

R. Kanawati (LIPN) Détection de communautés October 31, 2016 48 / 69


Partitionnement de graphe

L’algorithme LICOD

1 Déterminer l’ensemble des Leaders L


2 Répéter jusqu’à stabilisation ou max fois :
Chaque x ∈ V trie les communautés c ∈ C dans un ordre
décroissant selon le degré d’appartenance Px0
Pour chaque x ∈ V , calculer
Pxt = FusionVotes(Pyt−1 y ∈ {X } ∪ Γ(x))
Recalculer L
3 Retourner pour chaque nœud la communauté placée en tête de
vecteur de préférence.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 49 / 69


Partitionnement de graphe

LICOD: Identification de Leaders

Pour chaque x ∈ V , calculer les propriétés suivantes prop(x):


Propriété locale: centralité de degré
Propriétés globales: centralité de proximité, centralité de
d’intermédiarité (?)
Autre: PageRank
Soit Fx = {y ∈ Γ(x) : prop(x) > prop(y )}
|Fx |
x est un Leader si |Γ(x)| > σ ∈ [0, 1]

R. Kanawati (LIPN) Détection de communautés October 31, 2016 50 / 69


Partitionnement de graphe

LICOD: Degré d’appartenance

Le degré d’appartenance d’un nœud v à une communauté c est donnée


par l’inverse du plus court chemin SP liant v à un des leaders de c:
1
appartenance(v , c) = (min SP(v ,x))+1
x∈COM(c)

R. Kanawati (LIPN) Détection de communautés October 31, 2016 51 / 69


Partitionnement de graphe

LICOD: Fusion des votes

Application des méthode de votes:


Méthodes de condercet non-consistantes: Majority, Borda
Méthodes de condercet consistantes: Kemeny, local Kemeny
Exemple:
A>B>C >D
A>B>C >D
B>C >A>D
D>A>B>C
B>D>A>C
Borda → B > A > D > C > E
Kemeny → A > B > C > D > E

R. Kanawati (LIPN) Détection de communautés October 31, 2016 52 / 69


Partitionnement de graphe

The YASCA algorithm

Algorithm 3 The Yasca community detection algorithm


Require: G =< V , E > a connected graph,
1: C ← ∅
2: S ← compute seeds(G) /* diverse seed nodes */
3: for s ∈ S do
4: Cs ← compute local com(s,G)
5: C ← C + (Cs , Cs )
6: end for
7: return Ensemble Clustering(C)

R. Kanawati (LIPN) Détection de communautés October 31, 2016 53 / 69


Partitionnement de graphe

Selection de graine

Diversité guidée par les attributs topologiques


Diversité basée sur la centralisé (Degrés , betweenness, . . . , etc)
Nœuds d’articulation + nœuds centrals dans le bi-connected core

Bi-connected core
Composant bi-connecté : A sous-graphe maximal qui reste connexe
après la suppression de n’importe quel nœud.
A bi-connected core: Un graphe connexe maximal après la
suppression de tous les compensates bi-connecté de taille 1.
Pont: Un composnat bi-connecté de taille 1 connexe à un
bi-connected core
Nœud d’articulation : L’intersection d’un pont et d’un bi-connected
core.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 54 / 69


Partitionnement de graphe

Yasca: Résultats
Comparative Results on benchmark networks : NMI
Nœus d’articulation + top15% nodes centrales dans le
bi-connected-core

R. Kanawati (LIPN) Détection de communautés October 31, 2016 55 / 69


Evaluation de communautés

Evaluation des algorithmes de détection de communautés

3 grandes approches :
Qualités structurelles des communautés retrouvées.
Comparaison avec une vérité de terrain.
Evaluation orientés tâches

R. Kanawati (LIPN) Détection de communautés October 31, 2016 56 / 69


Evaluation de communautés

Fonctions d’évaluation structurelle

La qualité de C = {S1 , . . . , Si } est donnée par :


P
f (Si )
i
Q(C) = (2)
|C|

f () est une fonction de qualité d’une communauté.


4 familles de fonctions de scoring :
Fonctions basées sur la connectivité interne.
Fonctions basées sur la connectivité externe.
Fonctions hybrides
Fonctions informées par des modèles.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 57 / 69


Evaluation de communautés

Fonctions d’évaluation de la connectivité interne

2×mS
Densité interne : f (S) = nS ×(nS −1)
2×mS
Degrés moyen : f (S) = nS
|{u:u∈S,|(u,v ),v ∈S|>dm }|
FOMD: Fraction over Median Degree : f (s) = nS ,
dm est le médian de degrés des nœuds dans V
|{u∈S}:∃v ,w ∈S:(u,v ),(w ,v ),(u,w )∈E |
TPR: Triangle Participation Ratio : nS

R. Kanawati (LIPN) Détection de communautés October 31, 2016 58 / 69


Evaluation de communautés

Fonctions d’évaluation de la connectivité externe

CS
Expansion : f (S) = nS
Cs
Cut : f (S) = nS ×(N−nS )

R. Kanawati (LIPN) Détection de communautés October 31, 2016 59 / 69


Evaluation de communautés

Fonctions hybrides

CS
Conductance : f (S) = 2mS +CS

MAX-ODF : Out Degree Fraction : f (S) = maxu∈S |{(u,v )∈E


d(u)
,v 6∈S}|

P |{(u,v )∈E ,v 6∈S}|


AVG-ODF : f (S) = n1S × d(u)
u∈S

R. Kanawati (LIPN) Détection de communautés October 31, 2016 60 / 69


Evaluation de communautés

Fonctions guidées par un modèle

La modularité : f (s) = 14 (mS − E (mS ))


E (mS ) le nombre attendu de liens dans un graphe aléatoire ayant la
même distribution de degrés.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 61 / 69


Evaluation de communautés

Comparaison avec une véritié de terrain

Principe : calculer une similarité (ou distance) entre une partition


calculée et une partition de référence.
La partition de référence peur être :
annotée par un expert
ou générée par un modèle.
Deux types de mesures :
Mesures basées sur le compte des accords.
Mesures basées sur la théorie de l’information.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 62 / 69


Evaluation de communautés

Mesures basées sur le comptes des accords

Soient U, V deux partitions d’un graphe G


Indice de Rand :
a pairs placés dans une même communauté selon U et V
b pairs placés en même communauté selon U et en différents
communauté selon V
c pairs placés en même communauté selon V et en différents
communauté selon V
d pairs placées en différentes communauté selon U et selon V.
a+d
rand = a+b+c+d
2
ARI = Cn(C(a+d)−[(a+b)(a+c)+(c+d)(b+d)]
2 2
n ) −[(a+b)(a+c)+(c+d)(b+d)]
E(ARI)=0
n!
rappel : Cnk = k!(n−k)!

R. Kanawati (LIPN) Détection de communautés October 31, 2016 63 / 69


Evaluation de communautés

L’information mutuelle

Rappel : L’information mutuelle entre deux variables aléatoires X , Y


est : I (X , Y ) = H(X ) + H(Y ) − H(X , Y )
H(X ) = ni=1 p(xi ) × log ( p(x1 i ) )
P x

Normalisation : NMI (U, V ) = √ I (U,V )


H(U)H(V )

R. Kanawati (LIPN) Détection de communautés October 31, 2016 64 / 69


Evaluation de communautés

Problème de vérité de terrain

Existence de quelques graphes de benchmark (Zachary, Football, . . . ,


etc.),
Graphe de très petits tailles.
Difficile de trouver de grands graphes avec vérité de terrain.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 65 / 69


Evaluation de communautés

Benchmarks artificiels : Le modèle LFR


But : Génération d’un graphe composé d’un ensemble de k
communautés plus au moins interconnectés entre elles.
Algorithme :
Soit N le nombre de nœuds du graphe à générer. La distribution
de degrés est tirée selon une loi de puissance de paramètre γ tel
que le degrés d’un nœud est dans un intervalle [Kmin , Kmax ].
µ est un paramètre de connexion entre communauté : µ ∈ [0, 1]
La distribution des tailles de communautés suit une autre lois de
puissance de paramètre β.
Par itération : assigner un nœud à une communauté
aléatoirement choisi de sorte que la taille de la communauté soit
supérieur au degrés interne du nœud.
Si la communauté élue est complet on exclue un de ses membres
choisi d’une manière aléatoire. Le nœud exclu devint un nœud
non assigné.
L’algorithme s’arrête lorsque tous les nœuds sont assignés à des
R. Kanawati (LIPN) Détection de communautés October 31, 2016 66 / 69
Evaluation de communautés

Bibliography I

Gennaro Cordasco and Luisa Gargano, Label propagation algorithm: a semi-synchronous approach, IJSNM 1 (2012),
no. 1, 3–26.

B. H. Good, Y.-A. de Montjoye, and A. Clauset., The performance of modularity maximization in practical contexts.,
Physical Review E (2010), no. 81, 046106.

Rushed Kanawati, Licod: Leaders identification for community detection in complex networks, SocialCom/PASSAT,
2011, pp. 577–582.

, Yasca: An ensemble-based approach for community detection in complex networks, COCOON (Zhipeng Cai,
Alex Zelikovsky, and Anu G. Bourgeois, eds.), Lecture Notes in Computer Science, vol. 8591, Springer, 2014,
pp. 657–666.

Reihaneh Rabbany Khorasgani, Jiyang Chen, and Osmar R Zaiane, Top leaders community detection approach in
information networks, 4th SNA-KDD Workshop on Social Network Mining and Analysis (Washington D.C.), 2010.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 67 / 69


Evaluation de communautés

Bibliography II

Andrea Lancichinetti and Santo Fortunato, Limits of modularity maximization in community detection, CoRR
abs/1107.1 (2011).

, Consensus clustering in complex networks, Sci. Rep. 2 (2012).

Ian X.Y. Leung, Pan Hui, Pietro Lio, and Jon Crowcroft, Towards real-time community detection in large networks, Phys.
Phy. E. 79 (2009), no. 6, 066107.

Michael Ovelgönne and Andreas Geyer-Schulz, Cluster cores and modularity maximization, ICDM Workshops, 2010,
pp. 1204–1213.

Usha N. Raghavan, Roka Albert, and Soundar Kumara, Near linear time algorithm to detect community structures in
large-scale networks, Physical Review E 76 (2007), 1–12.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 68 / 69


Evaluation de communautés

Bibliography III

Lovro Subelj and Marko Bajec, Robust network community detection using balanced propagation, European Physics
Journal B 81 (2011), no. 3, 353–362.

Massoud Seifi and Jean-Loup Guillaume, Community cores in evolving networks, WWW (Companion Volume) (Alain
Mille, Fabien L. Gandon, Jacques Misselis, Michael Rabinovich, and Steffen Staab, eds.), ACM, 2012, pp. 1173–1180.

D Shah and T Zaman, Community detection in networks: The leader-follower algorithm, Workshop on Networks Across
Disciplines in Theory and Applications, NIPS, 2010.

R. Kanawati (LIPN) Détection de communautés October 31, 2016 69 / 69

Vous aimerez peut-être aussi