• Aucun résultat trouvé

Identification de communautés locales

N/A
N/A
Protected

Academic year: 2022

Partager "Identification de communautés locales"

Copied!
69
0
0

Texte intégral

(1)

D´ etection de communaut´ es dans les grands graphes de terrain

Rushed Kanawati

LIPN, CNRS UMR 7030 Universit´e Paris Sorbonne Cit´e

http://lipn.fr/∼kanawati rushed.kanawati@lipn.univ-paris13.fr

October 31, 2016

(2)

Plan

1 Probl´ematique

2 Identification de communaut´es

3 Partitionnement de graphe

4 Evaluation de communaut´es

(3)

Communaut´ e ?

D´ efinition

Un sous-graphe dense faiblement li´ e au reste du graphe.

(4)

Communaut´ e ?

Definition

Un sous-graphe dense faiblement li´ e au reste du graphe.

(5)

Int´ erˆ ets

v R´ eseaux sociaux : identification de groupes d’amis v Web : ensemble de pages web traitant un mˆ eme th` eme,

v R´ eseaux biologiques : un ensemble de g` enes d´ edi´ es ` a une mˆ eme fonction,

v etc.

(6)

Application

v Parall´ elisation

v Visualisation

v Compression

(7)

Probl` emes

v Identification de communaut´ e : d´ elimiter la communaut´ e d’un nœud.

v Partitionnement du graphe en N sous-graphes (communaut´ es non chevauchantes).

v Detection de communaut´ es (potentiellement chevauchantes)

(8)

Identification de communaut´ es

Exemple : communaut´ e ´ ego-centr´ ee (LinkedIn)

(9)

Identification de communaut´ es : approche g´ en´ erale

Contraintes

Vision partielle du graphe centr´ e sur le nœud cible.

V = D ⊕ S ⊕ U

D : Ensemble de nœuds explor´ es S : Ensemble de nœuds

partiellement explor´ es.

U : Ensemble de nœuds non-explor´ es

D = C ⊕ B

C : Ensemble de nœuds dont tous

les voisins sont aussi dans D

B : Ensemble de nœuds de D qui

(10)

Identification de communaut´ es : approche g´ en´ erale

1 C ← φ, B ← {n

0

}, S ← Γ(n

0

) 2 Q ← 0 /* Une fonction de qualit´ e / 3 Tant que on peut am´ eliorer Q faire

1 n ← argmax

n∈S

Q 2 S ← S − {n}

3 D ← D + {n} /* D = C ∪ B*/

4 Mettre ` a jour B, S , C

4 Retourner D : la communaut´ e de n

0

(11)

Fonction de qualit´ e : exemples I

La modularit´ e locale R [Clauset05]

R =

B Bin

in+Bout

B

in

=len(g.es.select( within=B))

B

out

=len(g.es.select( between=(B,S)))

(12)

Fonction de qualit´ e : exemples II

La modularit´ e locale M M =

DDin

out

D

in

=len(g.es.select( within=D))

D

out

=len(g.es.select( between=(B,S)))

(13)

Fonction de qualit´ e : exemples III

La modularit´ e locale L L =

LLin

ex

o` u : L

in

=

P

i∈D

kΓ(i)∩Dk kDk

L

ex

=

P

i∈B

kΓ(i)∩Sk kBk

(14)

Partitionnement de graphe

D´ efinition

P = {P

1

, . . . , P

n

}, ∩

i:1→n

P

i

= φ , ∪

i:1→n

P

i

= V Nombre de partitions : Nombre de Bell B

n

= P

n

k=1

C

kn

B

n−1

(15)

Approches

v Approches centr´ ees groupes o` u des nœuds sont regroup´ es en communaut´ es en fonction de propri´ et´ es topologiques partag´ ees.

v Approches centr´ ees r´ eseau o` u la structure globale du r´ eseau est examin´ ee pour la d´ ecomposition du graphe en communaut´ es.

v Approches centr´ ees propagation qui appliquent souvent une proc´ edure d’´ emergence de la structure communautaire par ´ echange de messages entre nœuds voisins.

v Approches centr´ ees graines o` u la structure communautaire est

construite autour d’un ensemble de nœuds choisis d’une mani` ere

inform´ ee.

(16)

Approches centr´ ees groupes

v Recherche de groupes denses : v Cliques maximales

v γ-dense quasi clique.

v K-core : sous-graphe connexe maximal dans lequel le degr´ e de chaque nœud est sup´ erieur ou ´ egale ` a k

v . . .

v Ad´ equat pour graphes denses

v Souvent NP-Complet.

(17)

Group-based approches

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

(18)

Example: Clique percolation

Suits fairly dense graph.

(19)

Approches centr´ ees R´ eseau

v Algorithme de clustering v Approches d’optimisation

v Approches bas´ ees sur la propagation locale

v Approches centr´ ees graine

(20)

Approche de clustering : Classification hi´ erarchique

Chaque sommet = communaut´ e.

On it` ere jusqu’au avoir une seule communaut´ e :

Calcule les distances entre chaque 2 communaut´ es Fusionner les deux communaut´ es les plus proches On obtient un dendrogramme de communaut´ es.

Distance entre communaut´ es : La distance minimale, maximale, ou

moyenne entre deux sommets des 2 communaut´ es. Distance entre

barycentres des communaut´ es.

(21)

Approches d’optimisation

v D´ efinition d’une fonction de qualit´ e de partition

v Application d’approches d’optimisation.

(22)

Fonction de qualit´ e : La modularit´ e

La modularit´ e

Q(P ) = 1 2m

X

c∈P

X

i,j∈c

(A

ij

− d

i

d

j

2m ) (1)

Figure: Exemple de calcul de la modularit´ e : Q =

(15+6)−(11.25+2.56)

25

= 0.275

(23)

Optimisation : Algorithmique g´ en´ etique

Une population de solutions : chaque individu est repr´ esent´ e par une s´ equence de g` enes

Evolution de la population par m´ ecanismes de : croisement, mutation et s´ election naturelle.

G` ene : vecteur d’affectation de communaut´ e aux sommets.

M´ ecanismes de s´ election : Modularit´ e.

Int´ erˆ et : Parrall´ elisation facile.

(24)

Approches s´ eparatives

igraph.Graph.community edge betweenness Principe : A chaque it´ eration retirer un lien inter-communuat´ e

Diff´ erents crit` eres pour identifier un lien inter-communaut´ e Algo. de Girvan et Newman :la centralit´ e d’interm´ ediarit´ e.

Complexit´ e O(m

2

n).

Algo. de Fortunato : centralit´ e d’information. L’efficacit´ e d’un graph E est donn´ e par la moyenne de

d1

ij

, La centralit´ e d’une arˆ ete (i , j ) est donn´ e par la diminution de E en retirant ce lien.

Complexit´ e O(m

3

n).

(25)

Approche Agglom´ erative I

igraph.community multilevel

Chaque nœud est associ´ e ` a une communaut´ e R´ ep´ eter jusqu’` a stabilisation :

pour chaque nœud i ´ evaluer le gain de modularit´ e ∆Q si i rejoint la communaut´ e d’un noœud voisin j

∆Q = (

P

in+2ki,in

2m

− (

P

tot+ki

2m

)

2

) − (

P

in

2m

− (

P

tot

2m

)

2

− (

2mki

)

2

) P

in

est la somme des poids des liens dans la communaut´ e cible,

(26)

Approche Agglom´ erative II

P

tot

est la somme des liens adjacents aux nœuds de la communaut´ e cible,

k

i,in

est la somme des poids des liens reliant i ` a des nœuds de la communaut´ e cible.

(suite R´ ep´ eter jusqu’` a stabilisation)

i est ajout´ e ´ a la communaut´ e qui maximise le gain si ce gain est positif.

Remplacer le graphe actuel par le graphe de connexion de communaut´ es calcul´ e comme suit :

Les nœuds sont les communaut´ es

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

(27)

Approche Agglom´ erative III

(28)

Optimisation de la modularit´ e: Limites

Hypoth` eses

La meilleure partition est celle qui maximise la modularit´ e

Si un graphe a une structure communautaire alors il est possible de trouver une partition precise qui avec une modularit´ e maximales.

Les partitions ayant des modularit´ es ´ elev´ ees sont similaires entre elles.

Les trois hypoth` eses sont fausses [GdMC10, LF11].

(29)

Modularit´ e: limite de la r´ esolution

(30)

Distribution de la modularit´ e

(31)

Approches de propagation

Algorithm 1 Label propagation

Require: G =< V , E > a connected graph,

1: Initialize each node with unique label l

v

2: while Labels are not stable do

3: for v ∈ V do l

v

= arg max

l

l

(v )| /* random tie-breaking */

4: end for

5: end while

6: return communities from labels

Γ

l

(v ) : set of neighbors having label l

(32)

Approche de propagation d’´ etiquettes

igraph.community label propagation 1 Chaque nœud est attribu´ e une ´ etiquette unique.

2 Chaque nœud propage son ´ etiquette ` a ses voisins.

3 A r´ eception, chaque nœud adopte l’´ etiquette majoritaire.

4 En cas de conflit, un nœud choisit une ´ etiquette al´ eatoirement.

5 Deux approches : Propagation synchrone et propagation asynchrone.

Probl` eme :

Stabilit´ e des partitions retrouv´ ees.

Solution : calcul de cœurs de communaut´ es

(33)

Label propagation

Avantages

I Complexit´ e : O(m)

I Simplicit´ e de Parall´ ellisation

Inconv´ enients

I Probl` eme de convergence, d’oscillation.

I Probl` eme de stabilit´ e

Diff´ erentes ex´ ecutions donnent diff´ erentes

solutions pour un mˆ eme r´ eseau

(34)

Label propagation: Convergence

I Asynchronous label update, [RAK07]

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

I Accentuer le probl` eme de instabilit´ e !

I Plus difficile ` a parall´ eliser.

(35)

Robust Label propagation

I Label hop attenuation [LHLC09]

I Balanced label propagation [SB11].

I Multiplex approach !

I Ensemble clustering → cœurs de communaut´ es

[OGS10, SG12, LF12].

(36)

Cœurs de communaut´ es I

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

v Calculer la matrice n × n de consensus C = c

ij

o` u c

ij

est la fr´ equence de co-occurrence des nœuds i; j dans une mˆ eme communaut´ e.

v C est la matrice d’adjacence du graphe de consensus.

(37)

Cœurs de communaut´ es II

(38)

Exemple : Club de Karat´ e de Zachary I

(39)

Exemple : Club de Karat´ e de Zachary II

(40)

Exemple : Club de Karat´ e de Zachary III

(41)

Exemple : Club de Karat´ e de Zachary IV

(42)

Exemple : Club de Karat´ e de Zachary V

(43)

Exemple : Club de Karat´ e de Zachary VI

(44)

Cœurs de communaut´ es

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

v Retirer du graphe de consensus les liens dont le poids ≤ α v Les composantes connexes du graphe r´ esultat sont les cœurs de

communaut´ es

(45)

Exemple : Club de Karat´ e de Zachary

(46)

Label propagation preprocessing (EPP)

1 Appliquer l’algorithme LP n fois

2 Calculer les cœurs de communaut´ es pour α = 1

3 R´ eduire le graphe en substituant chaque communaut´ e par un simple nœud.

4 Appliquer un algorithme de d´ etection de communaut´ es sur le graphe r´ eduit.

5 Expansion des r´ esultats.

(47)

Approches centr´ ees 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: C

s

← compute local com(s,G)

5: C ← C + C

s

6: end for

7: return compute community(C)

(48)

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

(49)

L’algorithme LICOD

1 D´ eterminer l’ensemble des Leaders L 2 R´ ep´ eter jusqu’` a stabilisation ou max fois :

Chaque x ∈ V trie les communaut´ es c ∈ C dans un ordre d´ ecroissant selon le degr´ e d’appartenance P

x0

Pour chaque x ∈ V , calculer

P

xt

= FusionVotes(P

yt−1

y ∈ {X } ∪ Γ(x)) Recalculer L

3 Retourner pour chaque nœud la communaut´ e plac´ ee en tˆ ete de

vecteur de pr´ ef´ erence.

(50)

LICOD: Identification de Leaders

Pour chaque x ∈ V , calculer les propri´ et´ es suivantes prop(x):

Propri´ et´ e locale: centralit´ e de degr´ e

Propri´ et´ es globales: centralit´ e de proximit´ e, centralit´ e de d’interm´ ediarit´ e (?)

Autre: PageRank

Soit F

x

= {y ∈ Γ(x) : prop(x ) > prop(y)}

x est un Leader si

|Γ(x)||Fx|

> σ ∈ [0, 1]

(51)

LICOD: Degr´ e d’appartenance

Le degr´ e d’appartenance d’un nœud v ` a une communaut´ e c est donn´ ee par l’inverse du plus court chemin SP liant v ` a un des leaders de c : appartenance (v, c) =

(min 1

x∈COM(c)SP(v,x))+1

(52)

LICOD: Fusion des votes

Application des m´ ethode de votes:

M´ ethodes de condercet non-consistantes: Majority, Borda M´ ethodes 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

(53)

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: C

s

← compute local com(s,G)

5: C ← C + (C

s

, C

s

)

6: end for

7: return Ensemble Clustering(C)

(54)

Selection de graine

Diversit´ e guid´ ee par les attributs topologiques

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

Composant bi-connect´ e : A sous-graphe maximal qui reste connexe apr` es la suppression de n’importe quel nœud.

A bi-connected core: Un graphe connexe maximal apr` es la suppression de tous les compensates bi-connect´ e de taille 1.

Pont: Un composnat bi-connect´ e de taille 1 connexe ` a un bi-connected core

Nœud d’articulation : L’intersection d’un pont et d’un bi-connected

core.

(55)

Yasca: R´ esultats

Comparative Results on benchmark networks : NMI

Nœus d’articulation + top15% nodes centrales dans le

bi-connected-core

(56)

Evaluation des algorithmes de d´ etection de communaut´ es

3 grandes approches :

Qualit´ es structurelles des communaut´ es retrouv´ ees.

Comparaison avec une v´ erit´ e de terrain.

Evaluation orient´ es tˆ aches

(57)

Fonctions d’´ evaluation structurelle

La qualit´ e de C = {S

1

, . . . , S

i

} est donn´ ee par :

Q (C) = P

i

f (S

i

)

|C| (2)

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

4 familles de fonctions de scoring :

Fonctions bas´ ees sur la connectivit´ e interne.

Fonctions bas´ ees sur la connectivit´ e externe.

Fonctions hybrides

Fonctions inform´ ees par des mod` eles.

(58)

Fonctions d’´ evaluation de la connectivit´ e interne

Densit´ e interne : f (S) =

n 2×mS

S×(nS−1)

Degr´ es moyen : f (S) =

2×mn S

S

FOMD: Fraction over Median Degree : f (s ) =

|{u:u∈S,|(u,v),v∈S|>dm}|

nS

,

d

m

est le m´ edian de degr´ es des nœuds dans V

TPR: Triangle Participation Ratio :

|{u∈S}:∃v,w∈S:(u,v),(w,v),(u,w)∈E|

nS

(59)

Fonctions d’´ evaluation de la connectivit´ e externe

Expansion : f (S ) =

CnS

S

Cut : f (S ) =

n Cs

S×(N−nS)

(60)

Fonctions hybrides

Conductance : f (S ) =

2mCS

S+CS

MAX-ODF : Out Degree Fraction : f (S ) = max

u∈S|{(u,v)∈E,v6∈S}|

d(u)

AVG-ODF : f (S) =

n1

S

× P

u∈S

|{(u,v)∈E,v6∈S}|

d(u)

(61)

Fonctions guid´ ees par un mod` ele

La modularit´ e : f (s ) =

14

(m

S

− E (m

S

))

E (m

S

) le nombre attendu de liens dans un graphe al´ eatoire ayant la

mˆ eme distribution de degr´ es.

(62)

Comparaison avec une v´ eriti´ e de terrain

Principe : calculer une similarit´ e (ou distance) entre une partition calcul´ ee et une partition de r´ ef´ erence.

La partition de r´ ef´ erence peur ˆ etre : annot´ ee par un expert

ou g´ en´ er´ ee par un mod` ele.

Deux types de mesures :

Mesures bas´ ees sur le compte des accords.

Mesures bas´ ees sur la th´ eorie de l’information.

(63)

Mesures bas´ ees sur le comptes des accords

Soient U, V deux partitions d’un graphe G Indice de Rand :

a pairs plac´ es dans une mˆ eme communaut´ e selon U et V b pairs plac´ es en mˆ eme communaut´ e selon U et en diff´ erents communaut´ e selon V

c pairs plac´ es en mˆ eme communaut´ e selon V et en diff´ erents communaut´ e selon V

d pairs plac´ ees en diff´ erentes communaut´ e selon U et selon V.

rand =

a+b+c+da+d

ARI =

Cn2(a+d)−[(a+b)(a+c)+(c+d)(b+d)]

(Cn2)2−[(a+b)(a+c)+(c+d)(b+d)]

E(ARI)=0

rappel : C

nk

=

k!(n−k)!n!

(64)

L’information mutuelle

Rappel : L’information mutuelle entre deux variables al´ eatoires X , Y est : I (X , Y ) = H(X ) + H(Y ) − H(X , Y )

H(X ) = P

nx

i=1

p(x

i

) × log (

p(x1

i)

) Normalisation : NMI (U, V ) = √

I(U,V)

H(U)H(V)

(65)

Probl` eme de v´ erit´ e de terrain

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

Graphe de tr` es petits tailles.

Difficile de trouver de grands graphes avec v´ erit´ e de terrain.

(66)

Benchmarks artificiels : Le mod` ele LFR

But : G´ en´ eration d’un graphe compos´ e d’un ensemble de k communaut´ es plus au moins interconnect´ es entre elles.

Algorithme :

Soit N le nombre de nœuds du graphe ` a g´ en´ erer. La distribution de degr´ es est tir´ ee selon une loi de puissance de param` etre γ tel que le degr´ es d’un nœud est dans un intervalle [K

min

, K

max

].

µ est un param` etre de connexion entre communaut´ e : µ ∈ [0, 1]

La distribution des tailles de communaut´ es suit une autre lois de puissance de param` etre β.

Par it´ eration : assigner un nœud ` a une communaut´ e

al´ eatoirement choisi de sorte que la taille de la communaut´ e soit sup´ erieur au degr´ es interne du nœud.

Si la communaut´ e ´ elue est complet on exclue un de ses membres choisi d’une mani` ere al´ eatoire. Le nœud exclu devint un nœud non assign´ e.

L’algorithme s’arrˆ ete lorsque tous les nœuds sont assign´ es ` a des

(67)

Bibliography I

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

B. H. Good, Y.-A. de Montjoye, and A. Clauset.,The performance of modularity maximization in practical contexts., Physical ReviewE(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.

(68)

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¨onne 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 E76(2007), 1–12.

(69)

Bibliography III

Lovro Subelj and Marko Bajec,Robust network community detection using balanced propagation, European Physics Journal B81(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éférences

Documents relatifs

Served from 7am to 12pm Net prices € | 5€ Room delivery charge. The breakfast is served in rooms for 23€ or 29€ depending on the

[r]

A cette époque, les bouteilles de cognac sont rangées dans de lourdes et peu commodes caisses en bois : le carton ondulé ne va pas tarder à les remplacer. Au fil des ans,

Cette partie s’articule autour d’un exemple qui permettra de comprendre la d´emarche `a suivre pour parvenir `a obtenir un mod`ele du syst`eme usuel en Automatique, `a savoir

La poussière monte de la grand-route et la vieille Délira est accroupie devant sa case, elle ne lève pas les yeux, elle remue la tête doucement, son madras a glissé de côté et on

Thé noir de Chine Chinese black tea Thé vert de Chine Chinese green tea Roïboos Roïboos.. Darjeeling Darjeeling Verveine Verbena

Service de 6h30 à 22h | Prix nets € | Frais de prestation en chambre 7 € Service from 6.30am to 10pm | Net prices € | Delivery charge 7 €. La Fabrikathé, jeune maison lyonnaise

The vehicle routing and truck driver scheduling problem (VRTDSP) aims to find a set of routes for a fleet of vehicles, such that each customer requesting service is visited within