détection de communautés dans les réseaux sociaux

26
Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés Détection de communautés dans les réseaux sociaux Rushed Kanawati A3 - LIPN UMR CNRS 7030 Université Paris 13 [email protected] Rushed Kanawati 1 / 25

Upload: others

Post on 13-Mar-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Détection de communautés dans les réseauxsociaux

Rushed Kanawati

A3 - LIPN UMR CNRS 7030Université Paris 13

[email protected]

Rushed Kanawati 1 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Plan

Introduction

Partitionnement en communuatés

Fonctions de qualité

Algorithme de détection de communautés

Rushed Kanawati 2 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Communauté : définition

• Un sous-graphe dont les nœuds sont plus liés entre euxqu’avec d’autres nœuds.

Rushed Kanawati 3 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Intérêts

• Réseaux sociaux : identification de groupes d’amis• Web : ensemble de pages web traitant un même thème,• Réseaux biologiques : un ensemble de gènes dédiés à unemême fonction,

• etc.

Rushed Kanawati 4 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Application

• Parallélisation• Visualisation• Compression

Rushed Kanawati 5 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Problèmes

• Partitionnement du graphe en N sous-graphes(communautés non chevauchantes).

• Detection de communautés (potentiellementchevauchantes)

• Identification de communauté : délimiter la communautéd’un nœud.

• Apprentissage d’une similarité entre les nœuds du réseau.

Rushed Kanawati 6 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Partitionnement du graphe

Recherche de communautés = partitionnement du graphe en Ncommunautés.• Soit P = {C1, C2, . . . , Cn} une partition du graphe.• Soit Q(P) une fonction de qualité de la partition• Objectif trouver Pm qui maximise Q(P).• Problème NP-difficile.• Trouver des heuristiques pour résoudre le problème encomplexité raisonnable

Rushed Kanawati 7 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Exemples de fonctions de qualité

• La modularité QM (la fonction la plus utilisée)• La performance QP

• . . .

Rushed Kanawati 8 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

La Modularité QM

• La somme, sur toutes les communautés Ci , des différencesentre la proportion de liens à l’intérieur de la communauté Ciet la proportion de liens que peut avoir une communauté dansun graphe aléatoire de même taille dans un graphe ayant lamêm distribution de degrés.

• Proportion de liens interne• Graphe non ponderé : e(C) = 1

2×m

∑i∈C

∑j∈C Aij

• Graphe pondéré : e(C) =∑

i∈C∑

j∈C wij∑i∈V

∑j∈V wij

• La proportion de liens liées à C : a(C) =∑

i∈C∑

j∈V wij∑i∈V

∑j∈V wij

• QM(P) =∑

c∈P e(C)− a(C )2

• −1 ≤ QM ≤ 1• Complexité de calcul : O(m)

Rushed Kanawati 9 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

La performance QP

• Définitions : 2 nœuds x , y sont en accord sur une partition Psi :

• (x , y) ∈ E et ∃Ci ∈ (P) tel que x , y ∈ Ci• (x , y) 6∈ E et 6 ∃Ci ∈ (P) tel que x , y ∈ Ci

• QP est donné par la proportion de nœuds en accord sur unepartition P

• 0 ≤ QP ≤ 1• Complexité de calcul : O(m)

Rushed Kanawati 10 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Approches de partitionnement

Une grande variété d’approches :• Approches de bisection de graphes• Approches de classification hiérarchiques• Approches d’optimisation• Approches séparatives• Approches agglomératives• Approches basées sur les marches aléatoires• . . .

Rushed Kanawati 11 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Bisection de graphes

But Grouper les nœuds en un nombre prédéterminé de parties(souvent 2) tout en minimisant le nombre de liens inter-groupes.• Bissection spectrale :

• Calculer le vecteur propre correspondant à la plus petite valeurpropre non nulle de la matrice Laplacienne du grapheL = D − A

• Le graphe est séparé en deux parties en fonction du signe deleur composante selon ce vecteur propre.

• Complexité O(n3)

• Méthode de Kernighan et Lin• Trouver la coupe du graphe minimisant le nombre d’arêtes

tombant entre les deux groupes.• Une coupe est choisie arbitrairement comme point de départ• La bissection est améliorée itérativement en faisant des

échanges de sommets entre les communautés.• Complexité O(n3)

Rushed Kanawati 12 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

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 2communautés. Distance entre barycentre des communauté.

Rushed Kanawati 13 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

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.

Rushed Kanawati 14 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Approches séparatives

• 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(m2n).

• Algo. de Fortunato : centralité d’information. L’efficacité d’ungraph E est donné par la moyenne de 1

dij, La centralité d’une

arête (i , j) est donné par la diminution de E en retirant ce lien.Complexité O(m3n).

Rushed Kanawati 15 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Approche Agglomérative

• Chaque nœud est associé à une communauté

• Répéter jusqu’à stabilisation :

• pour chaque nœud i évaluer le gain de modularité ∆Q si irejoint la communauté d’un noœud voisin j

• ∆Q = (∑

in +2ki,in2m − (

∑tot +ki2m )2)− (

∑in

2m − (∑

tot2m )2 − ( ki

2m )2)•

∑in est la somme des poids des liens dans la communauté

cible,•

∑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.

Rushed Kanawati 16 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Approche Agglomérative (suite)

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

• i est ajouté á la communauté qui maximise le gain si ce gainest positif.

• Remplacer le graphe actuel par le graphe de connexion decommunauté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

code :http://perso.crans.org/∼aynaud/communities/community.py

Rushed Kanawati 17 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Algorithme agglomératif

Rushed Kanawati 18 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Approche de propagation d’étiquettes

• Chaque nœud est attribué une étiquette unique.• Chaque nœud propage son étiquette à ses voisins.• A réception, chaque nœud adopte l’étiquette majoritaire.• En cas de conflit, un nœud choisit une étiquette aléatoirement.• Deux approches : Propagation synchrone et propagationasynchrone.

Rushed Kanawati 19 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Algorithme de Leaders/suiveurs [SZ10]

• Principe : Dans une communauté il y a (au moins) un leaderet des suiveurs.

• La centralité de proximité d’un suiveur > centralité d’un leader.• Un nœud est dit leader si sa centralité de proximité est < à lacentralité de tous ses voisins.

• Trier les leaders par ordre croissant de centralité.• Associer un suiveur au premier voisin leader.• Un nœud isolé est associé au leader majoritaire de ses voisins.

Rushed Kanawati 20 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Algorithme de Top Leaders [KCZ10]

• Entrée : Graphe (connexe) G =< V ,E > et k : nombre decommunautés à trouver

• initialization d’un ensemble L de k leaders• répéter

• pour chaque n ∈ V − L associer n à un leader de L .• pour chaque l ∈ L l ← argmaxn∈Community(l)Centralite(n)

• Jusqu’au stabilisation de L

Rushed Kanawati 21 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Approches d’initialisation de L

Différentes approches testées :• Choix aléatoire de k leaders• Trier les nœuds par la centralité décroissante : choix de top knœuds.

• Choix de top k nœuds de sorte que aucun pair de sélectionnésne soient de voisins directes.

• Choix de top k nœuds de sorte que le nombre de voisinscommuns de chaque pair de sélectionnés soit < δ

Rushed Kanawati 22 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Attribution de leaders

• Entrées : Graphe G , un nœud n et les leaders L• d ← 1 /* profondeur de voisinage */• candidats ← L• Répéter

• candidats ← argmaxc∈candidats |Γ(n, d) ∩ Γ(c , d)|• d ← d + 1

• jusque d ≥ σ OU |candidats| ≤ 1• if |candidats| == 1 Then Community(n)← candidats• elif |candidats| == 0 Then n est un nœud libre• else n est un hub.

Rushed Kanawati 23 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Comparaison de partitions

Soient U,V deux partitions d’un graphe G• Pureté : p(U,V ) = 1

|G |∑

j maxi (|Uj ∩ Vj |)• Pureté ∈ [0, 1]

• 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.• rand = a+d

a+b+c+d

• ARI =C2

n (a+d)−[(a+b)(a+c)+(c+d)(b+d)](C2

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

• E(ARI)=0• rappel : C k

n = n!k!(n−k)!

Rushed Kanawati 24 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

TP : Détection de communautés prédéterminées

• Zacahry Karaté Club : 2 communautés de 34 nœuds• http ://vlado.fmf.uni-lj.si/pub/networks/data/ucinet/ucidata.htmzachary

• Mouvement de grèves :http ://vlado.fmf.uni-lj.si/pub/networks/data/esna/strike.htmBut : appliquer les différentes algorithmes de détection decommunauté et mesurer leur performance par rapport auxcommaunautés établies.

Rushed Kanawati 25 / 25

Introduction Partitionnement en communuatés Fonctions de qualité Algorithme de détection de communautés

Reihaneh Rabbany Khorasgani, Jiyang Chen et Osmar R.Zaiane :Top leaders community detection approach in informationnetworks.In 4th SNA-KDD Workshop on Social Network Mining andAnalysis, Washington D.C., July 2010.

D. Shah et T. Zaman :Community detection in networks : The leader-followeralgorithm.In Workshop on Networks Across Disciplines in Theory andApplications, NIPS, November 2010.

Rushed Kanawati 25 / 25