SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de...

31
SARIKAYA Ilhami CUI - 2006 1 Computing communities in large networks using random walks Détection de communautés dans les Détection de communautés dans les réseaux réseaux d’interactions basé sur les marches d’interactions basé sur les marches aléatoires aléatoires 20th International Symposium on Computer and Information Sciences, 20th International Symposium on Computer and Information Sciences, Istanbul, Turquie, 2005 Istanbul, Turquie, 2005 auteurs : auteurs : Pascal Pons Pascal Pons Mathieu Latapy Mathieu Latapy

Transcript of SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de...

Page 1: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 1

Computing communities in largenetworks using random walksDétection de communautés dans les Détection de communautés dans les réseauxréseauxd’interactions basé sur les marches d’interactions basé sur les marches aléatoiresaléatoires

20th International Symposium on Computer and Information Sciences,20th International Symposium on Computer and Information Sciences,

Istanbul, Turquie, 2005Istanbul, Turquie, 2005

auteurs : auteurs : Pascal Pons Pascal Pons Mathieu LatapyMathieu Latapy

Page 2: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 2

Contenue de la Contenue de la présentationprésentation

Introduction (communautés) Définition (communautés) Les algorithmes et leurs défauts (détection

de communautés) Les marches aléatoires dans un graphe

– Exemple– Propriétés générales

La distance – Entre sommets – Entre communautés

Walktrap Conclusion

Page 3: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 3

Introduction – 1Introduction – 1

Les grands réseaux d'interactions jouent un Les grands réseaux d'interactions jouent un rôle essentiel dans de nombreux contextes : rôle essentiel dans de nombreux contextes : • en sciences sociales (réseau de connaissance, en sciences sociales (réseau de connaissance,

réseau de collaboration professionnelle, réseau réseau de collaboration professionnelle, réseau des appels téléphoniques)des appels téléphoniques)

• en biologie (réseau d'interactions protéique, en biologie (réseau d'interactions protéique, réseau trophique)réseau trophique)

• en informatique (en informatique (graphe du Web,graphe du Web, réseau réseau physique de l'Internet, réseau d'échanges pair à physique de l'Internet, réseau d'échanges pair à pair), pair),

• en linguistique (graphe de synonymie, graphe de en linguistique (graphe de synonymie, graphe de co-occurrence d'un mot)co-occurrence d'un mot)

• ......

Page 4: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 4

Introduction – 2Introduction – 2

Ces réseaux peuvent être modélisés par des graphes dont les sommetsCes réseaux peuvent être modélisés par des graphes dont les sommetsreprésententreprésentent

les acteurs du phénomène et les liens représentent les interactions entre eux.les acteurs du phénomène et les liens représentent les interactions entre eux.Toutes ces réseaux présenté sous forme des graphes en pratique ont des Toutes ces réseaux présenté sous forme des graphes en pratique ont des

propriétés propriétés statistiques non triviales comme : statistiques non triviales comme :

• Une distance moyenne entre sommets qui est faible. Une distance moyenne entre sommets qui est faible. tout le monde est proche de tout le monde ; tout le monde est proche de tout le monde ;

• Globalement peu denses mais localement denses, Globalement peu denses mais localement denses, les sommets sont fortement connectés entre eux mais faiblement les sommets sont fortement connectés entre eux mais faiblement connectés vers l'extérieur ; connectés vers l'extérieur ;

• Leur distribution de degrés suit une loi de puissance,Leur distribution de degrés suit une loi de puissance,Cette propriété traduit une forte hétérogénéité entre les sommets : alors Cette propriété traduit une forte hétérogénéité entre les sommets : alors que la plupart ont un très faible degré, un nombre faible mais non que la plupart ont un très faible degré, un nombre faible mais non négligeable d'entre eux ont un très fort degré. négligeable d'entre eux ont un très fort degré.

Ces propriétés statistiques n'ont pratiquement jamais été prises en compte pour Ces propriétés statistiques n'ont pratiquement jamais été prises en compte pour l'évaluation des performances des algorithmes de graphesl'évaluation des performances des algorithmes de graphes

Page 5: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 5

Définition – 1Définition – 1

La définition d’une communauté est difficile. Toutes les définitions données sont restrictive Elles ne prêtent pas à des algorithmes efficaces de

détection de communautés.

CommunautéCommunauté Un ensemble de sommets dont la densité de

connexionsinternes est plus forte que la densité de connexions

versl'extérieur.

Page 6: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 6

Définition – 2Définition – 2

CommunautéCommunauté Un ensemble de sommets

dont la densité de connexionsinternes est plus forte que la

densité de connexions vers l'extérieur.

But est alors de trouver une partition C =C1,C2,…CkC =C1,C2,…Ck des sommets en communautés

vérifiant cette définition (sans savoir a priori le nombre de elles communautés)

minimiser k maximiser le score Q(la qualité de partition) définie pour chaque Ci.

Page 7: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 7

Les approches et Les approches et défautsdéfauts

Beaucoup d’algorithmes existent pour détecter les communautés dans un graphe.

Première approche : Ils construit le graphe en plusieurs communautés en retirant progressivement les arêtes reliant deux communautés distinctes.

Deuxième approche :Ils regroupent les sommets itérativement en communautés.

Ces algorithmes ont besoin comme paramètres :• Le nombre de communautés cherchés.• Les tailles de ces communautés.

Algorithmes le plus récentes:• L'algorithme de Girvan et Newman• L'algorithme de Radicchi• L'algorithme de Fortunato• L'algorithme de Newman• La méthode de bissection spectrale• La méthode de Kernighan et Lin

Page 8: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 8

NotationNotation

G = (V,E) : un graphe non orientén = |V| : nombre de sommets m = |E| : nombre d’arêtes. Aij : la matrice d’adjacencePi j : la probabilité transition du sommet ii au

sommet jj d(i) : le degré du sommet ii.P : la matrice de transition de la chaîne de Markov

D : la matrice diagonale des degrés des sommets : la probabilité d'aller du sommet i i au sommet j j en tt étapes: la distribution de la probabilité au temps t

Page 9: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 9

Marches aleatoires dans un graphe

Definitions

Le temps est discrétisé donc t = (0,1,2, . . .) A chaque t, un marcheur localisé sur un sommet se déplace à l’instant

suivant vers un sommet choisi aléatoirement et uniformément parmi les sommets voisins.

La suite des sommets visités est alors une marche aléatoire, et la probabilité de transition du sommet i au sommet j est à chaque étape :

Ai j A est la matrice d’adjacence du graphe Pi j = --------

d(i) d(i) le degré du sommet i.

Ceci définit la matrice de transition P de la chaîne de Markov correspondante.

Nous pouvons aussi écrire en introduisant la matrice

diagonale des degrés des sommets

Nous noterons la probabilité d’aller du sommet i au sommet j en t étapes.

Page 10: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 10

Marches aleatoires dans un graphe

exemple -1

• :la distribution de la probabilité :la distribution de la probabilité au tau t

Page 11: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 11

Marches aleatoires dans un graphe

exemple -2

• :la distribution de la probabilité :la distribution de la probabilité au tau t

Page 12: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 12

Marches aleatoires dans un graphe

exemple - 3

• :la distribution de la probabilité :la distribution de la probabilité au tau t

Page 13: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 13

Marches aleatoires dans un graphe

exemple - 4

Page 14: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 14

Marches aleatoires dans un graphe

exemple - 5

Page 15: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 15

Marches aleatoires dans un graphe

exemple -6

Page 16: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 16

Marches aleatoires dans un graphe

Proprietes GeneralesProprietes Generales

P1 - Lors d'une marche aléatoire suffisamment longue dans un graphe, la probabilité de se trouver sur un sommet donné est directement (et uniquement) proportionnelle au degré de ce sommet.

P2 - La probabilité d'aller de i à j et celle d'aller de j à i par une marche aléatoire de longueur fixée ont un rapport de proportionnalité qui ne dépend que des degrés des sommets de départ et d'arrivée.

Page 17: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 17

Marches aleatoires dans un grapheDistance « r » entre sommets Distance « r » entre sommets - 1- 1

La façon de comparer deux sommets i et j doit s'appuyer sur les constatations suivantes :

1. Si deux sommets i et j sont dans une même communauté, la probabilité certainement élevée. Par contre si est élevée il n'est pas toujours garanti que i et j soient dans la même communauté.

2. La probabilité est influencée par le degré d(j) du sommet d'arrivé : les marches aléatoires ont plus de chances de passer par les sommets de fort degré (dans le cas limite d'une marche aléatoire infinie, cette probabilité est proportionnelle au degré.

3. Les sommets d'une même communauté ont tendance à voir les sommets éloignes de la même façon, ainsi si i et j sont dans la même communauté et k dans une autre communauté il y a de fortes chances que

Page 18: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 18

Marches aleatoires dans un grapheDistance « r » entre sommets Distance « r » entre sommets - 2- 2

Afin de pouvoir grouper les sommets du graphe par communautés, nous allons introduire une distanceune distance entre sommets.

La distance entre deux sommets d'une même communauté doit être beaucoup plus faible que la distance entre deux sommets appartenant à deux communautés distinctes.

sont les lignes i et j de la matrice Psont les lignes i et j de la matrice P

Page 19: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 19

Marches aleatoires dans un grapheDistance « r » entre Distance « r » entre communautescommunautes

On définit une marche aléatoire partant de C On définit une marche aléatoire partant de C La distribution initiale La distribution initiale

– po(i) = 1/|C| si i appartient à Cpo(i) = 1/|C| si i appartient à C– po(i) = 0 sinonpo(i) = 0 sinon

Pour tout sommet j ; la probabilité d’atteindre j en partant Pour tout sommet j ; la probabilité d’atteindre j en partant de la communauté C en t étapes se définit par :de la communauté C en t étapes se définit par :

Page 20: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 20

Marches aleatoires dans un graphe Choix de la longueur t

t est le paramètre essentielt est le paramètre essentiel• t est très grand, tendent vers la même t est très grand, tendent vers la même

probabilité. Donc impossible de distinguer deux probabilité. Donc impossible de distinguer deux sommets car la distance rij tend vers 0.sommets car la distance rij tend vers 0.

• t est très petit, les marches aléatoires ne t est très petit, les marches aléatoires ne fournissent aucune information sur le voisinage fournissent aucune information sur le voisinage des sommetsdes sommets

• t dépend de la taille des communautés à t dépend de la taille des communautés à détecter.détecter.– t = 0, n minuscules communautést = 0, n minuscules communautés– t = 1, une seule communautét = 1, une seule communauté

Page 21: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 21

WALKTRAP – 1 Description de l'algorithme

r entre sommet ou communautés nous donne une idée sur r entre sommet ou communautés nous donne une idée sur niveau de la structure du graphe. Le but est de construire une niveau de la structure du graphe. Le but est de construire une structure de communautés en respectant cette distance structure de communautés en respectant cette distance calculée.calculée.

On commence par une partitionOn commence par une partitionn communautés contenant un seul sommet.n communautés contenant un seul sommet.

Évoluer cette partition jusqu’à obtenir une seule communauté Évoluer cette partition jusqu’à obtenir une seule communauté correspondant au graphe entier.correspondant au graphe entier.• Choisir deux communautés C1 et C2 à fusionner en fonction de leurs Choisir deux communautés C1 et C2 à fusionner en fonction de leurs

distances.distances.• Fusionner ces communautés en C3 = C1 U C2Fusionner ces communautés en C3 = C1 U C2• Mise à jour les distances entre communautésMise à jour les distances entre communautés• Calculer et mémoriser un paramètre de qualité Q pour cette partition Calculer et mémoriser un paramètre de qualité Q pour cette partition

. . On effectue n-1 étapes et on obtient Pn = {V}. Chaque étape On effectue n-1 étapes et on obtient Pn = {V}. Chaque étape

nous donne une partition P1,P2,…Pnnous donne une partition P1,P2,…Pn Choisir la meilleur d’entre P1,P2,…Pn selon le paramètre de Choisir la meilleur d’entre P1,P2,…Pn selon le paramètre de

qualité calculé à chaque étape.(maximiser Q)qualité calculé à chaque étape.(maximiser Q)

Page 22: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 22

WALKTRAP – 2 Choix du fusion et mise a jour

A chaque étape de WALKTRAP, il faut choisir deux communautés Ci et Cj à fusionner.

But est d’éviter d’avoir des sommets trop éloignées dans une même communauté.

L’heuristique est :• La fusion s’effectue entre deux communautés ssi ils ont au moins une

arrête entre elles.• On cherche à minimiser la moyenne de la distance au carre de chaque

sommet à sa communauté.

• Il faut connaître après chaque étape, les variations de la mioyenneau carré de chaque sommet après chaque fusion possibles de communautés.

• La variation lors d’une fusion C1 et C2 peut être calculé en une nouvelle communauté C1UC2

Page 23: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 23

WALKTRAP – 3La qualite d’une partition « Q »

Une partition C, on définit la fraction eUne partition C, on définit la fraction eijij d’arêtes du d’arêtes du graphe joignant deux communautés i à jgraphe joignant deux communautés i à j

On noteOn note

ai est la fraction d’arêtes ayant une extrémité dans la ai est la fraction d’arêtes ayant une extrémité dans la communauté icommunauté i

La modularité Q est définit par : La modularité Q est définit par :

Donc le resultat est la partition C est la meilleur s’il Donc le resultat est la partition C est la meilleur s’il maximise Q. maximise Q.

Page 24: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 24

WALKTRAP – 4Exemple t = 3

Structure de Structure de communautés trouvécommunautés trouvé

Q calculée après Q calculée après chaque fusion. Chaque chaque fusion. Chaque nœud représente la nœud représente la fusion de deux fusion de deux communautéscommunautés

Page 25: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 25

WALKTRAP – 5Evaluation experimentale

Génération des graphes testGénération des graphes test• Construire des graphes Construire des graphes nn sommets possédant sommets possédant cc ≥ ≥1 communautés.1 communautés.• Générer une graphe de telle manière queGénérer une graphe de telle manière que

– ZZinin (degré interne) et Z (degré interne) et Zout out (degré externe) donné(degré externe) donné Création de n sommets sans arêtes. Création de n sommets sans arêtes. Attribuer chaque sommet à une communauté de sorte à créer Attribuer chaque sommet à une communauté de sorte à créer

cc communautés de tailles égales.communautés de tailles égales.

Une arête reliant deux sommets d’une même communauté Une arête reliant deux sommets d’une même communauté existera avec une probabilité existera avec une probabilité

Une arête reliant deux sommets de deux communautés Une arête reliant deux sommets de deux communautés existera avec une probabilité existera avec une probabilité

But : L’algorithme trouve But : L’algorithme trouve cc communautés communautés

Page 26: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 26

WALKTRAP – 6 Influence de la densite zin et zout

Page 27: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 27

WALKTRAP – 7Influence de la longueur

t

Pourcentage de sommets correctement identifiés dans des graphes 64,128 et 256 sommets possédant Pourcentage de sommets correctement identifiés dans des graphes 64,128 et 256 sommets possédant 4 4

communautés avec zcommunautés avec zinin =9 et z =9 et zout out = 7= 7

Page 28: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 28

WALKTRAP – 8 Tests et comparaisons

Page 29: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 29

WALKTRAP – 9Complexite

Le calcul initial des probabilités se fait pour tous les sommets en O(tmn)

Après chaque fusion le calcul de la probabilité de la nouvelle partition se fait en O(n).

Deux étapes pour n-1 étapes, en temps total O(n2) chaque fusion, il faut recalculer les distances entre la nouvelle

communauté crée et chacune de ses communautés voisines en temps O(n).

Théorème :Théorème :Le nombre total de calculs de distances effectue lors des Le nombre total de calculs de distances effectue lors des fusion est au plus 2Hm oú H est la hauteur de la structure fusion est au plus 2Hm oú H est la hauteur de la structure arborescente des communautés trouvées par l’algorithme. H arborescente des communautés trouvées par l’algorithme. H est la taille de dendrogramme.est la taille de dendrogramme.

La complexité totale de l’algorithme est donc O(mnH)O(mn2) dans le pire cas

Page 30: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 30

ConclusionConclusion

Le choix de la longueur des marches aléatoires Le choix de la longueur des marches aléatoires à utiliser est problème qui n’est pas résolu à ce à utiliser est problème qui n’est pas résolu à ce jour.jour.

Les communautés détectés par l’algorithme Les communautés détectés par l’algorithme sont forcement disjointes. Il se peut que un sont forcement disjointes. Il se peut que un sommet appartienne à plusieurs communautés sommet appartienne à plusieurs communautés

D’ailleurs il existe aucune algorithme qui D’ailleurs il existe aucune algorithme qui détecte les communautés qui se chevauchent.détecte les communautés qui se chevauchent.

Les structures de communautés de graphes de tailles allant jusqu’à 100 000 sommets

Page 31: SARIKAYA IlhamiCUI - 20061 Computing communities in large networks using random walks Détection de communautés dans les réseaux dinteractions basé sur.

SARIKAYA Ilhami CUI - 2006 31

Merci de votre attentionMerci de votre attention