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 [email protected] February 4, 2014 R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 1 / 52 Plan 1 Probl´ ematique 2 Identification de communauat´ es 3 Partitionnement de graphe 4 Evaluation de communaut´ es R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 2 / 52 Probl´ ematique Communaut´e ? D´efinition Un sous-graphe dense faiblement li´e au reste du graphe. R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 3 / 52 Probl´ ematique Communaut´e ? Definition Un sous-graphe dense faiblement li´e au reste du graphe. R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 4 / 52 Probl´ ematique 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. R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 5 / 52 Probl´ ematique Application v Parall´elisation v Visualisation v Compression R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 6 / 52 Probl´ ematique 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) R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 7 / 52 Identification de communaut´ es Identification de communaut´es Exemple : communaut´e ´ego-centr´ee (LinkedIn) R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 8 / 52 Identification de communaut´ es 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 ont au moins un voisin dans S R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 9 / 52 Identification de communaut´ es Identification de communaut´es : approche g´en´erale 1 C ← {n0 }, S ← Γ(n0 ) 2 Q ← 0 /* Une fonction de qualit´e / 3 Tant que on peut am´eliorer Q faire 1 2 3 4 n ← argmaxn∈S Q S ← S − {n} D ← D + {n} Mettre `a jour B, S, C 4 Retourner D : la communaut´e de n0 R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 10 / 52 Identification de communaut´ es Fonction de qualit´e : exemples I La modularit´e locale R Bin Bin +Bout R= La modularit´e locale M M= Din Dout R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 11 / 52 Identification de communaut´ es Fonction de qualit´e : exemples II La modularit´e locale L L= Lin Lex o` u: P Lin = kΓ(i)∩Dk i∈D kDk P Lex = kΓ(i)∩Sk i∈B kBk R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 12 / 52 Partitionnement de graphe Partitionnement de graphe D´efinition P = {P1 , . . . , Pn }, ∩i:1→n Pi = φ , ∪i:1→n Pi = V 2n partitions diff´erentes ! R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 13 / 52 Partitionnement de graphe 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. R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 14 / 52 Partitionnement de graphe 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. R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 15 / 52 Partitionnement de graphe 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 R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 16 / 52 Partitionnement de graphe 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´e. R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 17 / 52 Partitionnement de graphe Approches d’optimisation v D´efinition d’une fonction de qualit´e de partition v Application d’approches d’optimisation. R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 18 / 52 Partitionnement de graphe Fonction de qualit´e : La modularit´e La modularit´e Q(P) = di dj 1 XX ) (Aij − 2m 2m (1) c∈P i,j∈c Figure: Exemple de calcul de la modularit´e : Q = R. Kanawati (LIPN) D´ etection de communaut´ es (15+6)−(11.25+2.56) 25 = 0.275 February 4, 2014 19 / 52 Partitionnement de graphe 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. R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 20 / 52 Partitionnement de graphe 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(m2 n). Algo. de Fortunato : centralit´e d’information. L’efficacit´e d’un graph E est donn´e par la moyenne de d1ij , La centralit´e d’une arˆete (i, j) est donn´e par la diminution de E en retirant ce lien. Complexit´e O(m3 n). R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 21 / 52 Partitionnement de graphe 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´ voisin j P P e d’un noœud P P +2k +ki 2 ki 2 in tot 2 ∆Q = ( in 2m i,in − ( tot ) ) − ( − ( 2m 2m 2m ) − ( 2m ) ) P est la somme des poids des liens dans la communaut´e cible, Pin tot est la somme des liens adjacents aux nœuds de la communaut´e cible, R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 22 / 52 Partitionnement de graphe Approche Agglom´erative II ki,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 R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 23 / 52 Partitionnement de graphe Approche Agglom´erative III R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 24 / 52 Partitionnement de graphe 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 R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 25 / 52 Partitionnement de graphe 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 = cij o` u cij 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. R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 26 / 52 Partitionnement de graphe Cœurs de communaut´es II R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 27 / 52 Partitionnement de graphe Exemple : Club de Karat´e de Zachary I R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 28 / 52 Partitionnement de graphe Exemple : Club de Karat´e de Zachary II R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 29 / 52 Partitionnement de graphe Exemple : Club de Karat´e de Zachary III R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 30 / 52 Partitionnement de graphe Exemple : Club de Karat´e de Zachary IV R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 31 / 52 Partitionnement de graphe Exemple : Club de Karat´e de Zachary V R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 32 / 52 Partitionnement de graphe Exemple : Club de Karat´e de Zachary VI R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 33 / 52 Partitionnement de graphe 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 R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 34 / 52 Partitionnement de graphe Exemple : Club de Karat´e de Zachary R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 35 / 52 Partitionnement de graphe L’algorithme LICOD 1 D´eterminer l’ensemble des Leaders L 2 R´ep´eter jusqu’au stabilisation ou max fois : Chaque x ∈ V trie les communaut´es c ∈ C dans un ordre d´ecroissant selon le degr´e 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´e plac´ee en tˆete de vecteur de pr´ef´erence. R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 36 / 52 Partitionnement de graphe 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 Fx = {y ∈ Γ(x) : prop(x) > prop(y )} x est un Leader si R. Kanawati (LIPN) |Fx | |Γ(x)| > σ ∈ [0, 1] D´ etection de communaut´ es February 4, 2014 37 / 52 Partitionnement de graphe 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: 1 appartenance(v , c) = (min SP(v ,x))+1 x∈COM(c) R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 38 / 52 Partitionnement de graphe 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 R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 39 / 52 Evaluation de communaut´ es 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 R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 40 / 52 Evaluation de communaut´ es Fonctions d’´evaluation structurelle La qualit´e de C = {S1 , . . . , Si } est donn´ee par : P f (Si ) i Q(C) = |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. R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 41 / 52 Evaluation de communaut´ es Fonctions d’´evaluation de la connectivit´e interne 2×mS nS ×(nS −1) 2×mS nS Densit´e interne : f (S) = Degr´es moyen : f (S) = FOMD: Fraction over Median Degree : f (s) = dm est le m´edian de degr´es des nœuds dans V TPR: Triangle Participation Ratio : R. Kanawati (LIPN) |{u:u∈S,|(u,v ),v ∈S|>dm }| , nS |{u∈S}:∃v ,w ∈S:(u,v ),(w ,v ),(u,w )∈E | nS D´ etection de communaut´ es February 4, 2014 42 / 52 Evaluation de communaut´ es Fonctions d’´evaluation de la connectivit´e externe Expansion : f (S) = Cut : f (S) = R. Kanawati (LIPN) CS nS Cs nS ×(N−nS ) D´ etection de communaut´ es February 4, 2014 43 / 52 Evaluation de communaut´ es Fonctions hybrides Conductance : f (S) = CS 2mS +CS ,v 6∈S}| MAX-ODF : Out Degree Fraction : f (S) = maxu∈S |{(u,v )∈E d(u) P |{(u,v )∈E ,v 6∈S}| AVG-ODF : f (S) = n1S × d(u) u∈S R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 44 / 52 Evaluation de communaut´ es Fonctions guid´ees par un mod`ele La modularit´e : f (s) = 14 (mS − E (mS )) E (mS ) le nombre attendu de liens dans un graphe al´eatoire ayant la mˆeme distribution de degr´es. R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 45 / 52 Evaluation de communaut´ es 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. R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 46 / 52 Evaluation de communaut´ es 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. 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´ etection de communaut´ es February 4, 2014 47 / 52 Evaluation de communaut´ es 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 ) P x H(X ) = ni=1 p(xi ) × log ( p(x1 i ) ) Normalisation : NMI (U, V ) = √ I (U,V ) H(U)H(V ) R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 48 / 52 Evaluation de communaut´ es 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. R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 49 / 52 Evaluation de communaut´ es 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 [Kmin , Kmax ]. µ 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 R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 50 / 52 communaut´ es. Evaluation de communaut´ es TP 3 1 G´en´erer le graphe de club de Karat´e de Zachary : ig.Graph.Famous("zachary") 2 Calculer les communaut´es locales des nœuds 0 et 33 en utilisant les diff´erentes mesures de modularit´e locales R, M et L. 3 Comparer les communaut´es avec celles trouv´ees avec l’algorithme de Girvan-Newman : community edge betweenness (Question bonus) : Proposer une m´ethode de combinaison de trois modularit´e locales. R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 51 / 52 Evaluation de communaut´ es TP4 1 Tester les algorithmes de d´etection de communaut´e : Louvai, edge-betweeness et label propagation sur les deux r´eseaux : Zachary, football. Comparer les r´esultats. 2 Implementer l’algorithme de calcul de c:oe ur de communaut´es et comparer le r´esultat obtenu sur football en utilisant label propagation avec celui obtenu par louvain. 3 Implementer l’algorithme Licod R. Kanawati (LIPN) D´ etection de communaut´ es February 4, 2014 52 / 52
© Copyright 2024 ExpyDoc