Fouille de données pour de grands graphes. Recherche de communautés et organisation
1. Fouille de données pour de grands graphes.
Recherche de communautés et organisation
Taofiq Dkaki2
, Jean-Michel Inglebert2
, Sébastien Gadat1
, Dinh
Truong2
& Nathalie Villa1
1
Institut de Mathématiques de Toulouse
2
Institut de Recherche en Informatique de Toulouse
Journées FREMIT, 8 décembre 2008
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 1 / 22
2. Sommaire
1 Classification et organisation de graphes
Motivations
Outils existants et limites : cartes auto-organisatrices à noyau
Une approche stochastique : algorithme de recuit simulé
2 Recherche d’informations
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 2 / 22
3. Comprendre la structure de grands graphes
Quelques exemples de problèmes modélisés par de grands graphes
1 Réseaux sociaux
réseaux de connaissances
réseaux de l’internet
réseaux de citations
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 3 / 22
4. Comprendre la structure de grands graphes
Quelques exemples de problèmes modélisés par de grands graphes
1 Réseaux sociaux
réseaux de connaissances
réseaux de l’internet
réseaux de citations
2 Réseaux biologiques
réseaux d’interactions de protéines
réseau d’interactions de gènes
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 3 / 22
5. Comprendre la structure de grands graphes
Quelques exemples de problèmes modélisés par de grands graphes
1 Réseaux sociaux
réseaux de connaissances
réseaux de l’internet
réseaux de citations
2 Réseaux biologiques
réseaux d’interactions de protéines
réseau d’interactions de gènes
3 documents, préférences (graphes bipartis), . . .
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 3 / 22
6. Comprendre la structure de grands graphes
Quelques exemples de problèmes modélisés par de grands graphes
1 Réseaux sociaux
réseaux de connaissances
réseaux de l’internet
réseaux de citations
2 Réseaux biologiques
réseaux d’interactions de protéines
réseau d’interactions de gènes
3 documents, préférences (graphes bipartis), . . .
Problèmes rencontrés lors de la manipulation de ce type de données :
comment représenter le graphe de manière lisible et interprétable ?
quelles méthodes de fouille de données car aucune structure
euclidienne ?
taille des données (plusieurs centaines ou plusieurs milliers de
sommets...) nécessite de faire attention à la complexité des
algorithmes utilisés.
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 3 / 22
7. Exemples réels
Un réseau social venu du Moyen-Âge
Utilisation d’un corpus de 5000 contrats agraires issus des archives de
Cahors (Lot). Ces contrats viennent de 4 seigneuries (environ 25 petits
villages au total) du Sud-Ouest de la France et ont été établis entre
1240 et 1520 (avant et après la guerre de cent ans).
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 4 / 22
8. Exemples réels
Un réseau social venu du Moyen-Âge
Utilisation d’un corpus de 5000 contrats agraires issus des archives de
Cahors (Lot). Ces contrats viennent de 4 seigneuries (environ 25 petits
villages au total) du Sud-Ouest de la France et ont été établis entre
1240 et 1520 (avant et après la guerre de cent ans).
À partir de 1000 contrats datant d’avant la guerre de 100 ans, nous avons
modélisé le réseau social sur la base de mentions communes sur un
contrat donné de deux paysans. Le résultat est un graphe pondéré de
615 sommets.
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 4 / 22
9. Exemples réels
Un réseau de collaborations
Un réseau de collaborations scientifiques autour de la thématique des
réseaux sociaux [Newman, 2006] : graphe connexe pondéré avec 379
sommets.
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 4 / 22
10. Point de vue adopté
[Newman and Girvan, 2004]
“reducing [the] level of complexity [of a network] to one that can be
interpreted readily by the human eye, will be invaluable in helping us to
understand the large-scale structure of these new network data”
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 5 / 22
11. Point de vue adopté
[Newman and Girvan, 2004]
“reducing [the] level of complexity [of a network] to one that can be
interpreted readily by the human eye, will be invaluable in helping us to
understand the large-scale structure of these new network data”
Méthodologie : Mise en valeur de groupes homogènes (ou fortement
connectés) liés à une visualisation permettant de comprendre facilement
les relations entre ces groupes : outils statistiques liés à la
classification (de sommets d’un graphe) et/ou à l’organisation.
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 5 / 22
12. Point de vue adopté
[Newman and Girvan, 2004]
“reducing [the] level of complexity [of a network] to one that can be
interpreted readily by the human eye, will be invaluable in helping us to
understand the large-scale structure of these new network data”
Méthodologie : Mise en valeur de groupes homogènes (ou fortement
connectés) liés à une visualisation permettant de comprendre facilement
les relations entre ces groupes : outils statistiques liés à la
classification (de sommets d’un graphe) et/ou à l’organisation.
Problématique de la recherche de communautés: groupes sociaux
homogènes, groupes de protéines, de gènes fortement liés, etc...
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 5 / 22
13. Principe général des cartes auto-organisatrices à
noyau
φ
−→
Plongement des sommets dans un espace de Hilbert par le biais d’un
noyau:
K(xi, xj) = φ(xi), φ(xj) .
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 6 / 22
14. Principe général des cartes auto-organisatrices à
noyau
p1
p2
p3
1
2
3
Utilisation de la structure hilbertienne pour effectuer une classification
(k-means par exemple) ou une classification organisée du graphe
(cartes de Kohonen, par exemple).
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 6 / 22
15. Quel noyau pour les graphes ?
Des noyaux basés sur le Laplacien
Pour un graphe de sommets V = {x1, . . . , xn} et de poids positifs
(wi,j)i,j=1,...,n tels que, pour tout i, j = 1, . . . , n, wi,j = wj,i and di = n
j=1 wi,j,
Laplacien : L = (Li,j)i,j=1,...,n où
Li,j =
−wi,j if i j
di if i = j
;
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 7 / 22
16. Quel noyau pour les graphes ?
Des noyaux basés sur le Laplacien
Pour un graphe de sommets V = {x1, . . . , xn} et de poids positifs
(wi,j)i,j=1,...,n tels que, pour tout i, j = 1, . . . , n, wi,j = wj,i and di = n
j=1 wi,j,
Laplacien : L = (Li,j)i,j=1,...,n où
Li,j =
−wi,j if i j
di if i = j
;
À partir du Laplacien, on définit divers noyaux régularisant:
noyau de la chaleur : K(xi, xj) = e−βL
ij
est la quantité d’énergie
accumulée en xj après un temps donné lorsque l’énergie a été
injectée en xi au temps 0 et que la propagation s’est faite de manière
continue le long des arêtes du graphe.
inverse généralisée du Laplacien : K(xi, xj) = [L+]ij est relatif est
au temps moyen du premier passage dans xj pour une marche
aléatoire le long des arêtes du graphe débutant en xi.
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 7 / 22
17. Exemple de résultat obtenu
Réseau social médiéval avec noyau de la chaleur [Boulet et al., 2008]
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 8 / 22
18. Exemple de résultat obtenu
Réseau de collaborations avec inverse généralisée
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 8 / 22
19. Exemple de résultat obtenu
Réseau de collaborations avec inverse généralisée
Questions : Comment utiliser ce travail de classification comme première
étape d’une représentation complète du graphe ? Comment représenter
complètement la classification (ie, le plongement du graphe sur la carte) ?
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 8 / 22
20. Algorithmes force et repousse contraints
[Truong et al., 2007, Truong et al., 2008, Villa et al., 2008] La Suite...
En ajoutant des contraintes sur les algorithmes de force et repousse
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 9 / 22
21.
22.
23. Pourquoi une approche alternative aux approches à
noyau ?
Limites de ces approches :
nécessitent une décomposition spectrale du Laplacien : trop
coûteuse si le graphe a plusieurs milliers de sommets ;
dépendent du choix du noyau (ie, de la structure euclidienne placée
sur les sommets) ;
problèmes de sélection des paramètres (noyau, taille de la carte)
car le critère de qualité habituel de l’algorithme de Kohonen (énergie)
dépend de ces paramètres.
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 11 / 22
24. Un critère de mesure de la qualité de la classification
[Newman and Girvan, 2004] ont proposé une mesure de qualité d’un
découpage en communautés, la modularité :
Q = {arêtes à l’intérieur des communautés}
− {arêtes attendues dans un modèle “nul”}
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 12 / 22
25. Un critère de mesure de la qualité de la classification
[Newman and Girvan, 2004] ont proposé une mesure de qualité d’un
découpage en communautés, la modularité :
Q = {arêtes à l’intérieur des communautés}
− {arêtes attendues dans un modèle “nul”}
Que peut-être le modèle nul ? Différentes définitions sont
possibles. . . [Newman, 2006] propose
le nombre d’arêtes du modèle nul est celui du graphe observé ;
le degré de chaque sommet du modèle nul est celui du graphe
observé (l’attachement à un individu de fort degré est plus probable).
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 12 / 22
26. Un critère de mesure de la qualité de la classification
[Newman and Girvan, 2004] ont proposé une mesure de qualité d’un
découpage en communautés, la modularité :
Q = {arêtes à l’intérieur des communautés}
− {arêtes attendues dans un modèle “nul”}
Que peut-être le modèle nul ? Différentes définitions sont
possibles. . . [Newman, 2006] propose
le nombre d’arêtes du modèle nul est celui du graphe observé ;
le degré de chaque sommet du modèle nul est celui du graphe
observé (l’attachement à un individu de fort degré est plus probable).
Le modèle nul donne pij =
didj
n où di est le degré du sommet xi. On a donc
Q =
1
2m
i,j
[aij − pij] I[C(xi)=C(xj)]
où A = (aij)ij est la matrice d’adjacence du graphe.
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 12 / 22
27. Comment adapter un tel critère dans le cadre
“classification organisée” ? en cours avec Fabrice Rossi, ENST
Si h est une similarité sur la carte (h(i, j) = e−γd(i,j)2
),
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 13 / 22
28. Comment adapter un tel critère dans le cadre
“classification organisée” ? en cours avec Fabrice Rossi, ENST
Si h est une similarité sur la carte (h(i, j) = e−γd(i,j)2
),
une approche organisée de la modularité est obtenue par maximisation
sur l’ensemble des plongements possibles sur la carte des noeuds du
graphe de :
S =
i,j
h(f(xi), f(xj)) (aij − pij)
où f(xi) désigne le neurone de la carte dans lequel le sommet xi est
classé.
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 13 / 22
29. Comment adapter un tel critère dans le cadre
“classification organisée” ? en cours avec Fabrice Rossi, ENST
Si h est une similarité sur la carte (h(i, j) = e−γd(i,j)2
),
une approche organisée de la modularité est obtenue par maximisation
sur l’ensemble des plongements possibles sur la carte des noeuds du
graphe de :
S =
i,j
h(f(xi), f(xj)) (aij − pij)
où f(xi) désigne le neurone de la carte dans lequel le sommet xi est
classé.
Problème : La maximisation de Q ou de S sont des problèmes
NP-complets (nombre de classifications possibles sur la carte : m2n
).
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 13 / 22
30. Optimisation de modularité par recuit simulé en cours
avec Sébastien Gadat, IMT
Principe : Lorsque l’on cherche à minimiser une énergie E(f) (= −Q(f) ou
−S(f)), on simule de manière stochastique (chaîne de Markov sur les
états, f : classifications des sommets) ,la probabilité
PT (f) =
e−E(f)/T
g e−E(g)/T
.
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 14 / 22
31. Optimisation de modularité par recuit simulé en cours
avec Sébastien Gadat, IMT
Principe : Lorsque l’on cherche à minimiser une énergie E(f) (= −Q(f) ou
−S(f)), on simule de manière stochastique (chaîne de Markov sur les
états, f : classifications des sommets) ,la probabilité
PT (f) =
e−E(f)/T
g e−E(g)/T
.
Lorque T → 0, PT (f) se concentre sur minf E(f).
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 14 / 22
32. Algorithme de recuit simulé pour optimisation de la
modularité
Algorithme
1 On initialise la classification des sommets à un état aléatoire
f0
∈ {1, . . . , m}⊗n
2 On répète
1 On tire deux classes j1 et j2 dans {1, . . . , m} et un sommet xi dans
(f0
)−1
(j1) ∩ (f0
)−1
(j2) (les deux opérations équiprobables)
2 Notons ˜f l’état dans lequel xi a subi un échange de classe entre j1 et j2.
On note ∆E = Q(˜f) − Q(f0
)
3 si ∆E > 0 alors f1
= ˜f
4 sinon f1
= ˜f avec probabilité e∆E/T
et f1
= f0
avec probabilité e−∆E/T
5 On diminue T
3 On stoppe à stabilisation de l’algorithme.
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 15 / 22
33. Algorithme de recuit simulé pour optimisation de la
modularité
Algorithme
1 On initialise la classification des sommets à un état aléatoire
f0
∈ {1, . . . , m}⊗n
2 On répète
1 On tire deux classes j1 et j2 dans {1, . . . , m} et un sommet xi dans
(f0
)−1
(j1) ∩ (f0
)−1
(j2) (les deux opérations équiprobables)
2 Notons ˜f l’état dans lequel xi a subi un échange de classe entre j1 et j2.
On note ∆E = Q(˜f) − Q(f0
)
3 si ∆E > 0 alors f1
= ˜f
4 sinon f1
= ˜f avec probabilité e∆E/T
et f1
= f0
avec probabilité e−∆E/T
5 On diminue T
3 On stoppe à stabilisation de l’algorithme.
Chacun des calculs ∆E ne coûte “presque rien” (multiplication vectorielle).
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 15 / 22
34. Exemples
Optimisation de la modularité sur le réseau de collaborations
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 16 / 22
35. Exemples
Optimisation de la modularité sur le réseau de collaborations
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 16 / 22
36. Exemples
Optimisation de la modularité organisée sur le réseau de
collaborations
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 16 / 22
37. Conclusions et perspectives
Ce que nous avons proposé :
Approches alternatives à la recherche et à l’organisation de
communautés non basées sur des décompositions spectrales ;
Ajout d’un aspect visualisation à la classification.
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 17 / 22
38. Conclusions et perspectives
Ce que nous avons proposé :
Approches alternatives à la recherche et à l’organisation de
communautés non basées sur des décompositions spectrales ;
Ajout d’un aspect visualisation à la classification.
Questions et travail en cours :
Vitesse de convergence du recuit simulé dans ce cas particulier ?
Comment superposer / comparer des cartes ?
Utilisation d’un algorithme de recuit en champ moyen, plus efficace
que le recuit simulé.
Quel critère de comparaison de deux organisations sur une carte ?
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 17 / 22
39. Sommaire
1 Classification et organisation de graphes
Motivations
Outils existants et limites : cartes auto-organisatrices à noyau
Une approche stochastique : algorithme de recuit simulé
2 Recherche d’informations
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 18 / 22
40. Présentation du contexte et relations avec les
graphes
Jeu de données :
des documents décrits par des mots
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 19 / 22
41. Présentation du contexte et relations avec les
graphes
Jeu de données :
des documents décrits par des mots
Problème : Une requête (décrite aussi par des mots) est confrontée aux
documents. Quels sont les documents pertinents pour cette requête ?
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 19 / 22
42. Présentation du contexte et relations avec les
graphes
Jeu de données :
des documents décrits par des mots
Problème : Une requête (décrite aussi par des mots) est confrontée aux
documents. Quels sont les documents pertinents pour cette requête ?
Modélisation par un graphe biparti
Document 1
Document 2
Document n
...
Requête
Mot 1
Mot 2
Mot 3
Mot 4
Mot m
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 19 / 22
43. Présentation du contexte et relations avec les
graphes
Jeu de données :
des documents décrits par des mots
Problème : Une requête (décrite aussi par des mots) est confrontée aux
documents. Quels sont les documents pertinents pour cette requête ?
Modélisation par un graphe pondéré
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 19 / 22
44. Distance entre documents
Les noyaux usuels de graphes sont de bons candidats pour construire
une “distance” entre sommets (notamment entre documents et entre
une requête et un document).
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 20 / 22
45. Distance entre documents
Les noyaux usuels de graphes sont de bons candidats pour construire
une “distance” entre sommets (notamment entre documents et entre
une requête et un document).
La règle de réponse à la requête est alors :
1 Déterminer K(r, xi) pour r la requête est xi les documents
2 Retenir les k documents maximisant K(r, xk ) (mesure de simularité)
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 20 / 22
46. Distance entre documents
Les noyaux usuels de graphes sont de bons candidats pour construire
une “distance” entre sommets (notamment entre documents et entre
une requête et un document).
La règle de réponse à la requête est alors :
1 Déterminer K(r, xi) pour r la requête est xi les documents
2 Retenir les k documents maximisant K(r, xk ) (mesure de simularité)
Problème : Les graphes bipartis considérés dans ces problèmes ont
plusieurs milliers de sommets... Nécessité d’un filtre préalable pour
diminuer la taille du graphe.
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 20 / 22
47. Un exemple basé sur la base de données CRAN
Similarité basée sur le graphe des correspondances
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 21 / 22
48. Un exemple basé sur la base de données CRAN
Similarité basée sur le graphe biparti
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 21 / 22
49. Un exemple basé sur la base de données CRAN
Similarité basée sur le graphe biparti
Conclusion : Ne semble pas très pertinent pour ce type de graphes...
Reste à explorer la classification de documents !
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 21 / 22
50. Références
Boulet, R., Jouve, B., Rossi, F., and Villa, N. (2008).
Batch kernel SOM and related laplacian methods for social network analysis.
Neurocomputing, 71(7-9):1257–1273.
Newman, M. (2006).
Finding community structure in networks using the eigenvectors of matrices.
Physical Review, E, 74(036104).
Newman, M. and Girvan, M. (2004).
Finding and evaluating community structure in networks.
Physical Review, E, 69:026113.
Truong, Q., Dkaki, T., and Charrel, P. (2007).
An energy model for the drawing of clustered graphs.
In Proceedings of Vème colloque international VSST, Marrakech, Maroc.
Truong, Q., Dkaki, T., and Charrel, P. (2008).
Clustered graphs drawing.
In Proceedings of Stimulating Manufacturing Excellence in SME, Hammamet, Tunisie.
Villa, N., Rossi, F., and Truong, Q. (2008).
Mining a medieval social network by kernel som and related methods.
In Proceedings of MASHS 2008 (Modèles et Apprentissages en Sciences Humaines et Sociales), Créteil, France.
Nathalie Villa (IMT & TSE) Fouille de données & graphes FREMIT - 08/12/2008 22 / 22