SlideShare une entreprise Scribd logo
1  sur  73
Télécharger pour lire hors ligne
Fouille de données sur des grands graphes
Nathalie Villa-Vialaneix
http://www.nathalievilla.org
Toulouse School of Economics
Séminaire de Statistique et Applications, Luminy
18 décembre 2008
Luminy (18/12/08) Nathalie Villa Data mining & graphes 1 / 31
Sommaire
1 Motivations
2 Méthodes à noyau pour graphes
3 Optimisation de la modularité
Luminy (18/12/08) Nathalie Villa Data mining & graphes 2 / 31
Motivations
Sommaire
1 Motivations
2 Méthodes à noyau pour graphes
3 Optimisation de la modularité
Luminy (18/12/08) Nathalie Villa Data mining & graphes 3 / 31
Motivations
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
Luminy (18/12/08) Nathalie Villa Data mining & graphes 4 / 31
Motivations
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, de gènes
Luminy (18/12/08) Nathalie Villa Data mining & graphes 4 / 31
Motivations
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, de gènes
3 documents, préférences (graphes bipartis), . . .
Luminy (18/12/08) Nathalie Villa Data mining & graphes 4 / 31
Motivations
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, 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é.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 4 / 31
Motivations
Exemple réel 1 : un graphe venu du Moyen-Âge
Un très grand corpus
Aux archives de Cahors (Lot), corpus de 5000 contrats agraires. Ces
contrats
• viennent de 4 seigneuries (environ 25 petits villages au total) du
Sud-Ouest de la France ;
• ont été établis entre 1240 et 1520 (avant et après la guerre de cent
ans) ;
Luminy (18/12/08) Nathalie Villa Data mining & graphes 5 / 31
Motivations
Exemple réel 1 : un graphe venu du Moyen-Âge
Un très grand corpus
Aux archives de Cahors (Lot), corpus de 5000 contrats agraires. Ces
contrats
• viennent de 4 seigneuries (environ 25 petits villages au total) du
Sud-Ouest de la France ;
• ont été établis entre 1240 et 1520 (avant et après la guerre de cent
ans) ;
Ce corpus intéresse les historiens car :
• seul un petit nombre de documents du Moyen-Âge parlent de la vie
quotidienne des paysans ;
• il peut permettre d’étudier sans a priori l’évolution de la structure du
réseau social avant et après la guerre de 100 ans.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 5 / 31
Motivations
Modélisation du réseau social par un graphe
À partir de 1000 contracts datant d’avant la guerre de 100 ans, nous
avons modélisé le réseau social par un graphe pondéré :
• sommets : les paysans nommés dans les contrats (sans les nobles);
Luminy (18/12/08) Nathalie Villa Data mining & graphes 6 / 31
Motivations
Modélisation du réseau social par un graphe
À partir de 1000 contracts datant d’avant la guerre de 100 ans, nous
avons modélisé le réseau social par un graphe pondéré :
• sommets : les paysans nommés dans les contrats (sans les nobles);
• 2 paysans sont liés par une arête si :
• ils apparaissent ensemble dans le même contrat ;
• ils apparaissent dans deux contrats différents dans lesquels ils sont
affiliés au même seigneur et qui différent l’un de l’autre de moins de 15
ans.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 6 / 31
Motivations
Modélisation du réseau social par un graphe
À partir de 1000 contracts datant d’avant la guerre de 100 ans, nous
avons modélisé le réseau social par un graphe pondéré :
• sommets : les paysans nommés dans les contrats (sans les nobles);
• 2 paysans sont liés par une arête si :
• ils apparaissent ensemble dans le même contrat ;
• ils apparaissent dans deux contrats différents dans lesquels ils sont
affiliés au même seigneur et qui différent l’un de l’autre de moins de 15
ans.
• les arêtes du graphe sont pondérés par (wi,j)i,j=1...,n qui
correspondent au nombre de contrats satisfaisant ces conditions. Les
poids vérifient :
• wi,j = wj,i ≥ 0
• wi,i = 0.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 6 / 31
Motivations
Modélisation du réseau social par un graphe
À partir de 1000 contracts datant d’avant la guerre de 100 ans, nous
avons modélisé le réseau social par un graphe pondéré :
• sommets : les paysans nommés dans les contrats (sans les nobles);
• 2 paysans sont liés par une arête si :
• ils apparaissent ensemble dans le même contrat ;
• ils apparaissent dans deux contrats différents dans lesquels ils sont
affiliés au même seigneur et qui différent l’un de l’autre de moins de 15
ans.
• les arêtes du graphe sont pondérés par (wi,j)i,j=1...,n qui
correspondent au nombre de contrats satisfaisant ces conditions. Les
poids vérifient :
• wi,j = wj,i ≥ 0
• wi,i = 0.
But : Fournir aux historiens des outils pour les aider à comprendre la
structure de ce réseau social.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 6 / 31
Motivations
Première description du graphe
La plus grande composante connexe du réseau social médiéval :
• a 615 sommets (i.e. 615 paysans différents cités dans les contrats),
Luminy (18/12/08) Nathalie Villa Data mining & graphes 7 / 31
Motivations
Première description du graphe
La plus grande composante connexe du réseau social médiéval :
• a 615 sommets (i.e. 615 paysans différents cités dans les contrats),
• a 4193 arêtes dont la somme des poids est 40 329 mais 50% de ces
arêtes ont un poids égal à 1 et moins de 2% ont un poids supérieur à
100,
Luminy (18/12/08) Nathalie Villa Data mining & graphes 7 / 31
Motivations
Première description du graphe
La plus grande composante connexe du réseau social médiéval :
• a 615 sommets (i.e. 615 paysans différents cités dans les contrats),
• a 4193 arêtes dont la somme des poids est 40 329 mais 50% de ces
arêtes ont un poids égal à 1 et moins de 2% ont un poids supérieur à
100,
• est un “graphe petit monde” avec une petite densité globale (2.2%)
et une grande connectivité locale (77%),
Luminy (18/12/08) Nathalie Villa Data mining & graphes 7 / 31
Motivations
Première description du graphe
La plus grande composante connexe du réseau social médiéval :
• a 615 sommets (i.e. 615 paysans différents cités dans les contrats),
• a 4193 arêtes dont la somme des poids est 40 329 mais 50% de ces
arêtes ont un poids égal à 1 et moins de 2% ont un poids supérieur à
100,
• est un “graphe petit monde” avec une petite densité globale (2.2%)
et une grande connectivité locale (77%),
• est un “graphe sans échelle typique”.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 7 / 31
Motivations
Exemple réel 2 : Réseau de collaborations scientifiques
[Newman, 2006]
Un réseau de collaborations scientifiques autour de la thématique des
réseaux sociaux : graphe connexe pondéré avec 379 sommets.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 8 / 31
Motivations
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”
Luminy (18/12/08) Nathalie Villa Data mining & graphes 9 / 31
Motivations
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.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 9 / 31
Motivations
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...
Luminy (18/12/08) Nathalie Villa Data mining & graphes 9 / 31
Méthodes à noyau pour graphes
Sommaire
1 Motivations
2 Méthodes à noyau pour graphes
3 Optimisation de la modularité
Luminy (18/12/08) Nathalie Villa Data mining & graphes 10 / 31
Méthodes à noyau pour graphes
Principe général de “Batch kernel SOM”
[Villa and Rossi, 2007, Boulet et al., 2008]
Les sommets du graphe sont plongés dans un espace euclidien (par le
biais d’un noyau).
Luminy (18/12/08) Nathalie Villa Data mining & graphes 11 / 31
Méthodes à noyau pour graphes
Principe général de “Batch kernel SOM”
[Villa and Rossi, 2007, Boulet et al., 2008]
Chaque sommet xi est assigné à un neurone (une classe) de la carte de
Kohonen, f(xi).
Les neurones sont dépendants les un des autres par une relation de
voisinage (“distance”: d).
Luminy (18/12/08) Nathalie Villa Data mining & graphes 11 / 31
Méthodes à noyau pour graphes
Principe général de “Batch kernel SOM”
[Villa and Rossi, 2007, Boulet et al., 2008]
p1
p2
p3
1
2
3
Chaque neurone j de la carte est représenté par un prototype pj.
Les couples (j, pj) et (xi, f(xi)) dépendent l’un de l’autre et sont mis à jour
alternativement afin d’approcher la minimisation de l’énergie de la carte :
En
=
n
j=1
M
i=1
h(d(f(xj), i)) φ(xi) − pj
2
Luminy (18/12/08) Nathalie Villa Data mining & graphes 11 / 31
Méthodes à noyau pour graphes
“Astuce noyau” et calcul de l’énergie
On utilise les propriétés de noyau reproduisant de K pour écrire l’énergie :
En
=
n
j=1
M
i=1
h(d(f(xj), i)) φ(xi) − pj
2
Luminy (18/12/08) Nathalie Villa Data mining & graphes 12 / 31
Méthodes à noyau pour graphes
“Astuce noyau” et calcul de l’énergie
On utilise les propriétés de noyau reproduisant de K pour écrire l’énergie :
En
=
n
j=1
M
i=1
h(d(f(xj), i)) φ(xi) − pj
2
=
n
j=1
M
i=1
h(d(f(xj), i)) φ(xi) −
n
k=1
αj
k
φ(xk ) 2
Luminy (18/12/08) Nathalie Villa Data mining & graphes 12 / 31
Méthodes à noyau pour graphes
“Astuce noyau” et calcul de l’énergie
On utilise les propriétés de noyau reproduisant de K pour écrire l’énergie :
En
=
n
j=1
M
i=1
h(d(f(xj), i)) φ(xi) − pj
2
=
n
j=1
M
i=1
h(d(f(xj), i)) φ(xi) −
n
k=1
αj
k
φ(xk ) 2
=
n
j=1
M
i=1
h(d(f(xj), i))

K(xi, xi) − 2
n
k=1
αj
k
K(xi, xk )
+
n
k,k =1
αk αk K(xk , xk )


où K(x, x ) = φ(x), φ(x ) H .
Luminy (18/12/08) Nathalie Villa Data mining & graphes 12 / 31
Méthodes à noyau pour graphes
Quel noyau ?
Définition du Laplacien [Kondor and Lafferty, 2002]
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
;
Luminy (18/12/08) Nathalie Villa Data mining & graphes 13 / 31
Méthodes à noyau pour graphes
Propriétés du Laplacien I [von Luxburg, 2007]
Composantes connexes
KerL = Span{IA1
, . . . , IAk
} où Ai indique les positions des sommets de la
ième composante connexe du graphe.
1
4
5
2
3
KerL = Span





1
0
0
1
1


;


0
1
1
0
0





Luminy (18/12/08) Nathalie Villa Data mining & graphes 14 / 31
Méthodes à noyau pour graphes
Propriétés du Laplacien II [Boulet et al., 2008]
Communauté parfaite : Sous-graphe complet (clique) dont les sommets
possèdent les mêmes voisins à l’extérieur de la clique.
Laplacien and communautés parfaites
Pour un graphe non pondéré,
Le graphe a une communauté parfaite à m sommets
⇔
L possède m vecteurs propres qui ont les mêmes n − m coordonnées
nulles.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 15 / 31
Méthodes à noyau pour graphes
Propriétés du Laplacien II [Boulet et al., 2008]
Communauté parfaite : Sous-graphe complet (clique) dont les sommets
possèdent les mêmes voisins à l’extérieur de la clique.
Application :
Luminy (18/12/08) Nathalie Villa Data mining & graphes 15 / 31
Méthodes à noyau pour graphes
Propriétés du Laplacien II [Boulet et al., 2008]
Communauté parfaite : Sous-graphe complet (clique) dont les sommets
possèdent les mêmes voisins à l’extérieur de la clique.
Application :
Limite : Seuls 1/3 des sommets du graphe peuvent être représentés de
cette manière.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 15 / 31
Méthodes à noyau pour graphes
Propriétés du Laplacien III [von Luxburg, 2007]
Problème de la coupe optimale : Supposons que le graphe soit connexe.
Trouver une classification des sommets du graphe, A1, . . . , Ak telle que
1
2
k
i=1 j∈Ai,j Ai
wj,j
est minimale , est équivalent à
H = arg min
h∈Rn×k
Tr hT
Lh subject to
hT
h = I
hi = 1/
√
|Ai|1Ai
Luminy (18/12/08) Nathalie Villa Data mining & graphes 16 / 31
Méthodes à noyau pour graphes
Propriétés du Laplacien III [von Luxburg, 2007]
Problème de la coupe optimale : Supposons que le graphe soit connexe.
Trouver une classification des sommets du graphe, A1, . . . , Ak telle que
1
2
k
i=1 j∈Ai,j Ai
wj,j
est minimale , est équivalent à
H = arg min
h∈Rn×k
Tr hT
Lh subject to
hT
h = I
hi = 1/
√
|Ai|1Ai
⇒ problème NP-complet.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 16 / 31
Méthodes à noyau pour graphes
Propriétés du Laplacien III [von Luxburg, 2007]
Problème de la coupe optimale : Supposons que le graphe soit connexe.
Trouver une classification des sommets du graphe, A1, . . . , Ak telle que
1
2
k
i=1 j∈Ai,j Ai
wj,j
est minimale peut être approché par
H = arg min
h∈Rn×k
Tr hT
Lh subject to hT
h = I
Luminy (18/12/08) Nathalie Villa Data mining & graphes 16 / 31
Méthodes à noyau pour graphes
Propriétés du Laplacien III [von Luxburg, 2007]
Problème de la coupe optimale : Supposons que le graphe soit connexe.
Trouver une classification des sommets du graphe, A1, . . . , Ak telle que
1
2
k
i=1 j∈Ai,j Ai
wj,j
est minimale peut être approché par
H = arg min
h∈Rn×k
Tr hT
Lh subject to hT
h = I
Spectral clustering : Trouver les vecteurs propres associés aux k plus
petites valeurs propres de L, H, et faire la classification sur les colonnes
de H.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 16 / 31
Méthodes à noyau pour graphes
Propriétés du Laplacien III [von Luxburg, 2007]
Problème de la coupe optimale : Supposons que le graphe soit connexe.
Trouver une classification des sommets du graphe, A1, . . . , Ak telle que
1
2
k
i=1 j∈Ai,j Ai
wj,j
est minimale peut être approché par
H = arg min
h∈Rn×k
Tr hT
Lh subject to hT
h = I
Spectral clustering : Trouver les vecteurs propres associés aux k plus
petites valeurs propres de L, H, et faire la classification sur les colonnes
de H.
Quelques problèmes du “spectral clustering” : Utilisation d’une partie
du spectre seulement (laquelle ?), a tendance à produire un faible nombre
de classes de très grosses tailles et beaucoup de micro classes (un à cinq
individus).
Luminy (18/12/08) Nathalie Villa Data mining & graphes 16 / 31
Méthodes à noyau pour graphes
Des versions régularisées de L
1 La matrice de diffusion [Kondor and Lafferty, 2002] : pour β > 0,
Kβ = e−βL
= +∞
k=1
(−βL)k
k! .
⇒
Kβ
: V × V → R
(xi, xj) → K
β
i,j
noyau de diffusion (ou noyau de la chaleur)
Luminy (18/12/08) Nathalie Villa Data mining & graphes 17 / 31
Méthodes à noyau pour graphes
Des versions régularisées de L
1 La matrice de diffusion [Kondor and Lafferty, 2002] : pour β > 0,
Kβ = e−βL
= +∞
k=1
(−βL)k
k! .
⇒
Kβ
: V × V → R
(xi, xj) → K
β
i,j
noyau de diffusion (ou noyau de la chaleur)
Quantité d’énergie reçue en xi lorsque l’énergie est injectée en xj et
que la diffusion se fait de manière continue le long des arêtes du
graphe.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 17 / 31
Méthodes à noyau pour graphes
Des versions régularisées de L
1 La matrice de diffusion [Kondor and Lafferty, 2002] : pour β > 0,
Kβ = e−βL
= +∞
k=1
(−βL)k
k! .
⇒
Kβ
: V × V → R
(xi, xj) → K
β
i,j
noyau de diffusion (ou noyau de la chaleur)
Quantité d’énergie reçue en xi lorsque l’énergie est injectée en xj et
que la diffusion se fait de manière continue le long des arêtes du
graphe.
2 L’inverse généralisée du Laplacien [Fouss et al., 2007] : K = L+.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 17 / 31
Méthodes à noyau pour graphes
Des versions régularisées de L
1 La matrice de diffusion [Kondor and Lafferty, 2002] : pour β > 0,
Kβ = e−βL
= +∞
k=1
(−βL)k
k! .
⇒
Kβ
: V × V → R
(xi, xj) → K
β
i,j
noyau de diffusion (ou noyau de la chaleur)
Quantité d’énergie reçue en xi lorsque l’énergie est injectée en xj et
que la diffusion se fait de manière continue le long des arêtes du
graphe.
2 L’inverse généralisée du Laplacien [Fouss et al., 2007] : K = L+.
Temps moyen pour atteindre xi à partir de xj lors d’une marche
aléatoire sur le graphe.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 17 / 31
Méthodes à noyau pour graphes
Exemple de résultat obtenu
Réseau social médiéval avec noyau de la chaleur [Boulet et al., 2008]
Luminy (18/12/08) Nathalie Villa Data mining & graphes 18 / 31
Méthodes à noyau pour graphes
Exemple de résultat obtenu
Réseau social médiéval avec noyau de la chaleur [Boulet et al., 2008]
Luminy (18/12/08) Nathalie Villa Data mining & graphes 18 / 31
Méthodes à noyau pour graphes
Exemple de résultat obtenu
Réseau social médiéval avec noyau de la chaleur [Boulet et al., 2008]
Luminy (18/12/08) Nathalie Villa Data mining & graphes 18 / 31
Méthodes à noyau pour graphes
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) ?
Luminy (18/12/08) Nathalie Villa Data mining & graphes 18 / 31
Méthodes à noyau pour graphes
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
Luminy (18/12/08) Nathalie Villa Data mining & graphes 19 / 31
Optimisation de la modularité
Sommaire
1 Motivations
2 Méthodes à noyau pour graphes
3 Optimisation de la modularité
Luminy (18/12/08) Nathalie Villa Data mining & graphes 21 / 31
Optimisation de la modularité
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.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 22 / 31
Optimisation de la modularité
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”}
Luminy (18/12/08) Nathalie Villa Data mining & graphes 23 / 31
Optimisation de la modularité
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).
Luminy (18/12/08) Nathalie Villa Data mining & graphes 23 / 31
Optimisation de la modularité
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
2p
i,j
[aij − pij] I[C(xi)=C(xj)]
où A = (aij)ij est la matrice d’adjacence du graphe et 2p = aij.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 23 / 31
Optimisation de la modularité
Comment adapter un tel critère dans le cadre
“classification organisée” ? [Rossi and Villa, 2008]
Si h est une similarité sur la carte (h(i, j) = e−γd(i,j)2
),
Luminy (18/12/08) Nathalie Villa Data mining & graphes 24 / 31
Optimisation de la modularité
Comment adapter un tel critère dans le cadre
“classification organisée” ? [Rossi and Villa, 2008]
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 dans lequel le sommet xi est classé.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 24 / 31
Optimisation de la modularité
Comment adapter un tel critère dans le cadre
“classification organisée” ? [Rossi and Villa, 2008]
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 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
).
Luminy (18/12/08) Nathalie Villa Data mining & graphes 24 / 31
Optimisation de la modularité
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
.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 25 / 31
Optimisation de la modularité
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).
Luminy (18/12/08) Nathalie Villa Data mining & graphes 25 / 31
Optimisation de la modularité
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.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 26 / 31
Optimisation de la modularité
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).
Luminy (18/12/08) Nathalie Villa Data mining & graphes 26 / 31
Optimisation de la modularité
Exemples
Optimisation de la modularité sur le réseau de collaborations
Luminy (18/12/08) Nathalie Villa Data mining & graphes 27 / 31
Optimisation de la modularité
Exemples
Optimisation de la modularité sur le réseau de collaborations
Luminy (18/12/08) Nathalie Villa Data mining & graphes 27 / 31
Optimisation de la modularité
Optimisation de modularité organisée par recuit
déterministe [Rossi and Villa, 2008]
Principe général : Approcher EPT
(f) = eS(f)/T
g eS(g)/T en approchant PT par
une distribution qui se factorise:
• PT (f) est approchée par RE
T
(f) = e i,k Fik Eik /T
g e i,k Gik Eik /T où F (resp. G) est la
matrice d’affectation de taille n × m de la classification f (resp. g) et E
est une matrice réelle de même taille.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 28 / 31
Optimisation de la modularité
Optimisation de modularité organisée par recuit
déterministe [Rossi and Villa, 2008]
Principe général : Approcher EPT
(f) = eS(f)/T
g eS(g)/T en approchant PT par
une distribution qui se factorise:
• PT (f) est approchée par RE
T
(f) = e i,k Fik Eik /T
g e i,k Gik Eik /T où F (resp. G) est la
matrice d’affectation de taille n × m de la classification f (resp. g) et E
est une matrice réelle de même taille.
Sous RE
T
(f), les Fik sont indépendants pour i = 1, . . . , n.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 28 / 31
Optimisation de la modularité
Optimisation de modularité organisée par recuit
déterministe [Rossi and Villa, 2008]
Principe général : Approcher EPT
(f) = eS(f)/T
g eS(g)/T en approchant PT par
une distribution qui se factorise:
• PT (f) est approchée par RE
T
(f) = e i,k Fik Eik /T
g e i,k Gik Eik /T où F (resp. G) est la
matrice d’affectation de taille n × m de la classification f (resp. g) et E
est une matrice réelle de même taille.
Sous RE
T
(f), les Fik sont indépendants pour i = 1, . . . , n.
• On choisit E de manière à minimiser la distance de
Kullback-Leibler : KL(R|P) = f RE
T
(f) log
RE
T
(f)
PT (f)
.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 28 / 31
Optimisation de la modularité
Optimisation de modularité organisée par recuit
déterministe [Rossi and Villa, 2008]
Principe général : Approcher EPT
(f) = eS(f)/T
g eS(g)/T en approchant PT par
une distribution qui se factorise:
• PT (f) est approchée par RE
T
(f) = e i,k Fik Eik /T
g e i,k Gik Eik /T où F (resp. G) est la
matrice d’affectation de taille n × m de la classification f (resp. g) et E
est une matrice réelle de même taille.
Sous RE
T
(f), les Fik sont indépendants pour i = 1, . . . , n.
• On choisit E de manière à minimiser la distance de
Kullback-Leibler : KL(R|P) = f RE
T
(f) log
RE
T
(f)
PT (f)
.
• Les quantités E et ERE
T
(Fik ) sont estimées itérativement
alternativement par un algorithme EM.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 28 / 31
Optimisation de la modularité
Algorithme de recuit déterministe pour optimisation de la
modularité organisée
Algorithme
Pour une suite décroissante de valeurs T1, T2, . . . , TL ,
1 On initialise ERE
T
(Fik ) de manière aléatoire dans [0, 1]
2 On répète pour l = 1, . . . , L
1 Phase E : Eik = 2 j i k ERE
T
(Fjk )Hkk Bji où H est la matrice des
similarités sur la carte et B = 1
2p
(A − P);
2 Phase M : ERE
T
(Fik ) = eEik /Tl
k eEik /Tl
3 On convertit ERE
T
(Fik ) en classification :
f(xi) = arg max
k=1,...,m
ERE
T
(Fik ).
Luminy (18/12/08) Nathalie Villa Data mining & graphes 29 / 31
Optimisation de la modularité
Exemple : Analyse du réseau de collaborations
scientifiques
Recuit déterministe Kernel SOM (Inv. généralisée)
Modularité = 0,836 Modularité = 0,816
% d’arêtes coupées sur la carte : 0 % d’arêtes coupées : 0,04
Luminy (18/12/08) Nathalie Villa Data mining & graphes 30 / 31
Optimisation de la modularité
Conclusions et perspectives
Conclusions
• Présentation d’algorithmes d’organisation pour les graphes
• Approches spectrales, approches issues de l’optimisation
• Ajout d’un aspect visuel
Luminy (18/12/08) Nathalie Villa Data mining & graphes 31 / 31
Optimisation de la modularité
Conclusions et perspectives
Conclusions
• Présentation d’algorithmes d’organisation pour les graphes
• Approches spectrales, approches issues de l’optimisation
• Ajout d’un aspect visuel
Perspectives
• Essai sur de très grands graphes (plusieurs milliers de sommets) :
réseaux biologiques, recherche d’informations
• Comparaison / Évolution ???
Luminy (18/12/08) Nathalie Villa Data mining & graphes 31 / 31
Optimisation de la modularité
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.
Fouss, F., Pirotte, A., Renders, J., and Saerens, M. (2007).
Random-walk computation of similarities between nodes of a graph, with application to collaborative recommendation.
IEEE Transactions on Knowledge and Data Engineering, 19(3):355–369.
Kondor, R. and Lafferty, J. (2002).
Diffusion kernels on graphs and other discrete structures.
In Proceedings of the 19th International Conference on Machine Learning, pages 315–322.
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.
Rossi, F. and Villa, N. (2008).
Topologically ordered graph clustering via deterministic annealing.
soumis.
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. and Rossi, F. (2007).
A comparison between dissimilarity SOM and kernel SOM for clustering the vertices of a graph.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 31 / 31
Optimisation de la modularité
In Proceedings of the 6th Workshop on Self-Organizing Maps (WSOM 07), Bielefield, Germany.
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.
von Luxburg, U. (2007).
A tutorial on spectral clustering.
Statistics and Computing, 17(4):395–416.
Luminy (18/12/08) Nathalie Villa Data mining & graphes 31 / 31

Contenu connexe

En vedette

Techniques du data mining
Techniques du data miningTechniques du data mining
Techniques du data miningDonia Hammami
 
Introduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniquesIntroduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniquesIsmail CHAIB
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data MiningTakfarinas KENOUCHE
 
Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseAbderrahmane Filali
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexitéSana Aroussi
 

En vedette (7)

Techniques du data mining
Techniques du data miningTechniques du data mining
Techniques du data mining
 
Datamining damien-jubeau
Datamining damien-jubeauDatamining damien-jubeau
Datamining damien-jubeau
 
Data Mining
Data MiningData Mining
Data Mining
 
Introduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniquesIntroduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniques
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data Mining
 
Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data Warehouse
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 

Plus de tuxette

Racines en haut et feuilles en bas : les arbres en maths
Racines en haut et feuilles en bas : les arbres en mathsRacines en haut et feuilles en bas : les arbres en maths
Racines en haut et feuilles en bas : les arbres en mathstuxette
 
Méthodes à noyaux pour l’intégration de données hétérogènes
Méthodes à noyaux pour l’intégration de données hétérogènesMéthodes à noyaux pour l’intégration de données hétérogènes
Méthodes à noyaux pour l’intégration de données hétérogènestuxette
 
Méthodologies d'intégration de données omiques
Méthodologies d'intégration de données omiquesMéthodologies d'intégration de données omiques
Méthodologies d'intégration de données omiquestuxette
 
Projets autour de l'Hi-C
Projets autour de l'Hi-CProjets autour de l'Hi-C
Projets autour de l'Hi-Ctuxette
 
Can deep learning learn chromatin structure from sequence?
Can deep learning learn chromatin structure from sequence?Can deep learning learn chromatin structure from sequence?
Can deep learning learn chromatin structure from sequence?tuxette
 
Multi-omics data integration methods: kernel and other machine learning appro...
Multi-omics data integration methods: kernel and other machine learning appro...Multi-omics data integration methods: kernel and other machine learning appro...
Multi-omics data integration methods: kernel and other machine learning appro...tuxette
 
ASTERICS : une application pour intégrer des données omiques
ASTERICS : une application pour intégrer des données omiquesASTERICS : une application pour intégrer des données omiques
ASTERICS : une application pour intégrer des données omiquestuxette
 
Autour des projets Idefics et MetaboWean
Autour des projets Idefics et MetaboWeanAutour des projets Idefics et MetaboWean
Autour des projets Idefics et MetaboWeantuxette
 
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...tuxette
 
Apprentissage pour la biologie moléculaire et l’analyse de données omiques
Apprentissage pour la biologie moléculaire et l’analyse de données omiquesApprentissage pour la biologie moléculaire et l’analyse de données omiques
Apprentissage pour la biologie moléculaire et l’analyse de données omiquestuxette
 
Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...
Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...
Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...tuxette
 
Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...
Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...
Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...tuxette
 
Journal club: Validation of cluster analysis results on validation data
Journal club: Validation of cluster analysis results on validation dataJournal club: Validation of cluster analysis results on validation data
Journal club: Validation of cluster analysis results on validation datatuxette
 
Overfitting or overparametrization?
Overfitting or overparametrization?Overfitting or overparametrization?
Overfitting or overparametrization?tuxette
 
Selective inference and single-cell differential analysis
Selective inference and single-cell differential analysisSelective inference and single-cell differential analysis
Selective inference and single-cell differential analysistuxette
 
SOMbrero : un package R pour les cartes auto-organisatrices
SOMbrero : un package R pour les cartes auto-organisatricesSOMbrero : un package R pour les cartes auto-organisatrices
SOMbrero : un package R pour les cartes auto-organisatricestuxette
 
Graph Neural Network for Phenotype Prediction
Graph Neural Network for Phenotype PredictionGraph Neural Network for Phenotype Prediction
Graph Neural Network for Phenotype Predictiontuxette
 
A short and naive introduction to using network in prediction models
A short and naive introduction to using network in prediction modelsA short and naive introduction to using network in prediction models
A short and naive introduction to using network in prediction modelstuxette
 
Explanable models for time series with random forest
Explanable models for time series with random forestExplanable models for time series with random forest
Explanable models for time series with random foresttuxette
 
Présentation du projet ASTERICS
Présentation du projet ASTERICSPrésentation du projet ASTERICS
Présentation du projet ASTERICStuxette
 

Plus de tuxette (20)

Racines en haut et feuilles en bas : les arbres en maths
Racines en haut et feuilles en bas : les arbres en mathsRacines en haut et feuilles en bas : les arbres en maths
Racines en haut et feuilles en bas : les arbres en maths
 
Méthodes à noyaux pour l’intégration de données hétérogènes
Méthodes à noyaux pour l’intégration de données hétérogènesMéthodes à noyaux pour l’intégration de données hétérogènes
Méthodes à noyaux pour l’intégration de données hétérogènes
 
Méthodologies d'intégration de données omiques
Méthodologies d'intégration de données omiquesMéthodologies d'intégration de données omiques
Méthodologies d'intégration de données omiques
 
Projets autour de l'Hi-C
Projets autour de l'Hi-CProjets autour de l'Hi-C
Projets autour de l'Hi-C
 
Can deep learning learn chromatin structure from sequence?
Can deep learning learn chromatin structure from sequence?Can deep learning learn chromatin structure from sequence?
Can deep learning learn chromatin structure from sequence?
 
Multi-omics data integration methods: kernel and other machine learning appro...
Multi-omics data integration methods: kernel and other machine learning appro...Multi-omics data integration methods: kernel and other machine learning appro...
Multi-omics data integration methods: kernel and other machine learning appro...
 
ASTERICS : une application pour intégrer des données omiques
ASTERICS : une application pour intégrer des données omiquesASTERICS : une application pour intégrer des données omiques
ASTERICS : une application pour intégrer des données omiques
 
Autour des projets Idefics et MetaboWean
Autour des projets Idefics et MetaboWeanAutour des projets Idefics et MetaboWean
Autour des projets Idefics et MetaboWean
 
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...
 
Apprentissage pour la biologie moléculaire et l’analyse de données omiques
Apprentissage pour la biologie moléculaire et l’analyse de données omiquesApprentissage pour la biologie moléculaire et l’analyse de données omiques
Apprentissage pour la biologie moléculaire et l’analyse de données omiques
 
Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...
Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...
Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...
 
Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...
Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...
Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...
 
Journal club: Validation of cluster analysis results on validation data
Journal club: Validation of cluster analysis results on validation dataJournal club: Validation of cluster analysis results on validation data
Journal club: Validation of cluster analysis results on validation data
 
Overfitting or overparametrization?
Overfitting or overparametrization?Overfitting or overparametrization?
Overfitting or overparametrization?
 
Selective inference and single-cell differential analysis
Selective inference and single-cell differential analysisSelective inference and single-cell differential analysis
Selective inference and single-cell differential analysis
 
SOMbrero : un package R pour les cartes auto-organisatrices
SOMbrero : un package R pour les cartes auto-organisatricesSOMbrero : un package R pour les cartes auto-organisatrices
SOMbrero : un package R pour les cartes auto-organisatrices
 
Graph Neural Network for Phenotype Prediction
Graph Neural Network for Phenotype PredictionGraph Neural Network for Phenotype Prediction
Graph Neural Network for Phenotype Prediction
 
A short and naive introduction to using network in prediction models
A short and naive introduction to using network in prediction modelsA short and naive introduction to using network in prediction models
A short and naive introduction to using network in prediction models
 
Explanable models for time series with random forest
Explanable models for time series with random forestExplanable models for time series with random forest
Explanable models for time series with random forest
 
Présentation du projet ASTERICS
Présentation du projet ASTERICSPrésentation du projet ASTERICS
Présentation du projet ASTERICS
 

Fouille de données pour des grands graphes

  • 1. Fouille de données sur des grands graphes Nathalie Villa-Vialaneix http://www.nathalievilla.org Toulouse School of Economics Séminaire de Statistique et Applications, Luminy 18 décembre 2008 Luminy (18/12/08) Nathalie Villa Data mining & graphes 1 / 31
  • 2. Sommaire 1 Motivations 2 Méthodes à noyau pour graphes 3 Optimisation de la modularité Luminy (18/12/08) Nathalie Villa Data mining & graphes 2 / 31
  • 3. Motivations Sommaire 1 Motivations 2 Méthodes à noyau pour graphes 3 Optimisation de la modularité Luminy (18/12/08) Nathalie Villa Data mining & graphes 3 / 31
  • 4. Motivations 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 Luminy (18/12/08) Nathalie Villa Data mining & graphes 4 / 31
  • 5. Motivations 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, de gènes Luminy (18/12/08) Nathalie Villa Data mining & graphes 4 / 31
  • 6. Motivations 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, de gènes 3 documents, préférences (graphes bipartis), . . . Luminy (18/12/08) Nathalie Villa Data mining & graphes 4 / 31
  • 7. Motivations 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, 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é. Luminy (18/12/08) Nathalie Villa Data mining & graphes 4 / 31
  • 8. Motivations Exemple réel 1 : un graphe venu du Moyen-Âge Un très grand corpus Aux archives de Cahors (Lot), corpus de 5000 contrats agraires. Ces contrats • viennent de 4 seigneuries (environ 25 petits villages au total) du Sud-Ouest de la France ; • ont été établis entre 1240 et 1520 (avant et après la guerre de cent ans) ; Luminy (18/12/08) Nathalie Villa Data mining & graphes 5 / 31
  • 9. Motivations Exemple réel 1 : un graphe venu du Moyen-Âge Un très grand corpus Aux archives de Cahors (Lot), corpus de 5000 contrats agraires. Ces contrats • viennent de 4 seigneuries (environ 25 petits villages au total) du Sud-Ouest de la France ; • ont été établis entre 1240 et 1520 (avant et après la guerre de cent ans) ; Ce corpus intéresse les historiens car : • seul un petit nombre de documents du Moyen-Âge parlent de la vie quotidienne des paysans ; • il peut permettre d’étudier sans a priori l’évolution de la structure du réseau social avant et après la guerre de 100 ans. Luminy (18/12/08) Nathalie Villa Data mining & graphes 5 / 31
  • 10. Motivations Modélisation du réseau social par un graphe À partir de 1000 contracts datant d’avant la guerre de 100 ans, nous avons modélisé le réseau social par un graphe pondéré : • sommets : les paysans nommés dans les contrats (sans les nobles); Luminy (18/12/08) Nathalie Villa Data mining & graphes 6 / 31
  • 11. Motivations Modélisation du réseau social par un graphe À partir de 1000 contracts datant d’avant la guerre de 100 ans, nous avons modélisé le réseau social par un graphe pondéré : • sommets : les paysans nommés dans les contrats (sans les nobles); • 2 paysans sont liés par une arête si : • ils apparaissent ensemble dans le même contrat ; • ils apparaissent dans deux contrats différents dans lesquels ils sont affiliés au même seigneur et qui différent l’un de l’autre de moins de 15 ans. Luminy (18/12/08) Nathalie Villa Data mining & graphes 6 / 31
  • 12. Motivations Modélisation du réseau social par un graphe À partir de 1000 contracts datant d’avant la guerre de 100 ans, nous avons modélisé le réseau social par un graphe pondéré : • sommets : les paysans nommés dans les contrats (sans les nobles); • 2 paysans sont liés par une arête si : • ils apparaissent ensemble dans le même contrat ; • ils apparaissent dans deux contrats différents dans lesquels ils sont affiliés au même seigneur et qui différent l’un de l’autre de moins de 15 ans. • les arêtes du graphe sont pondérés par (wi,j)i,j=1...,n qui correspondent au nombre de contrats satisfaisant ces conditions. Les poids vérifient : • wi,j = wj,i ≥ 0 • wi,i = 0. Luminy (18/12/08) Nathalie Villa Data mining & graphes 6 / 31
  • 13. Motivations Modélisation du réseau social par un graphe À partir de 1000 contracts datant d’avant la guerre de 100 ans, nous avons modélisé le réseau social par un graphe pondéré : • sommets : les paysans nommés dans les contrats (sans les nobles); • 2 paysans sont liés par une arête si : • ils apparaissent ensemble dans le même contrat ; • ils apparaissent dans deux contrats différents dans lesquels ils sont affiliés au même seigneur et qui différent l’un de l’autre de moins de 15 ans. • les arêtes du graphe sont pondérés par (wi,j)i,j=1...,n qui correspondent au nombre de contrats satisfaisant ces conditions. Les poids vérifient : • wi,j = wj,i ≥ 0 • wi,i = 0. But : Fournir aux historiens des outils pour les aider à comprendre la structure de ce réseau social. Luminy (18/12/08) Nathalie Villa Data mining & graphes 6 / 31
  • 14. Motivations Première description du graphe La plus grande composante connexe du réseau social médiéval : • a 615 sommets (i.e. 615 paysans différents cités dans les contrats), Luminy (18/12/08) Nathalie Villa Data mining & graphes 7 / 31
  • 15. Motivations Première description du graphe La plus grande composante connexe du réseau social médiéval : • a 615 sommets (i.e. 615 paysans différents cités dans les contrats), • a 4193 arêtes dont la somme des poids est 40 329 mais 50% de ces arêtes ont un poids égal à 1 et moins de 2% ont un poids supérieur à 100, Luminy (18/12/08) Nathalie Villa Data mining & graphes 7 / 31
  • 16. Motivations Première description du graphe La plus grande composante connexe du réseau social médiéval : • a 615 sommets (i.e. 615 paysans différents cités dans les contrats), • a 4193 arêtes dont la somme des poids est 40 329 mais 50% de ces arêtes ont un poids égal à 1 et moins de 2% ont un poids supérieur à 100, • est un “graphe petit monde” avec une petite densité globale (2.2%) et une grande connectivité locale (77%), Luminy (18/12/08) Nathalie Villa Data mining & graphes 7 / 31
  • 17. Motivations Première description du graphe La plus grande composante connexe du réseau social médiéval : • a 615 sommets (i.e. 615 paysans différents cités dans les contrats), • a 4193 arêtes dont la somme des poids est 40 329 mais 50% de ces arêtes ont un poids égal à 1 et moins de 2% ont un poids supérieur à 100, • est un “graphe petit monde” avec une petite densité globale (2.2%) et une grande connectivité locale (77%), • est un “graphe sans échelle typique”. Luminy (18/12/08) Nathalie Villa Data mining & graphes 7 / 31
  • 18. Motivations Exemple réel 2 : Réseau de collaborations scientifiques [Newman, 2006] Un réseau de collaborations scientifiques autour de la thématique des réseaux sociaux : graphe connexe pondéré avec 379 sommets. Luminy (18/12/08) Nathalie Villa Data mining & graphes 8 / 31
  • 19. Motivations 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” Luminy (18/12/08) Nathalie Villa Data mining & graphes 9 / 31
  • 20. Motivations 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. Luminy (18/12/08) Nathalie Villa Data mining & graphes 9 / 31
  • 21. Motivations 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... Luminy (18/12/08) Nathalie Villa Data mining & graphes 9 / 31
  • 22. Méthodes à noyau pour graphes Sommaire 1 Motivations 2 Méthodes à noyau pour graphes 3 Optimisation de la modularité Luminy (18/12/08) Nathalie Villa Data mining & graphes 10 / 31
  • 23. Méthodes à noyau pour graphes Principe général de “Batch kernel SOM” [Villa and Rossi, 2007, Boulet et al., 2008] Les sommets du graphe sont plongés dans un espace euclidien (par le biais d’un noyau). Luminy (18/12/08) Nathalie Villa Data mining & graphes 11 / 31
  • 24. Méthodes à noyau pour graphes Principe général de “Batch kernel SOM” [Villa and Rossi, 2007, Boulet et al., 2008] Chaque sommet xi est assigné à un neurone (une classe) de la carte de Kohonen, f(xi). Les neurones sont dépendants les un des autres par une relation de voisinage (“distance”: d). Luminy (18/12/08) Nathalie Villa Data mining & graphes 11 / 31
  • 25. Méthodes à noyau pour graphes Principe général de “Batch kernel SOM” [Villa and Rossi, 2007, Boulet et al., 2008] p1 p2 p3 1 2 3 Chaque neurone j de la carte est représenté par un prototype pj. Les couples (j, pj) et (xi, f(xi)) dépendent l’un de l’autre et sont mis à jour alternativement afin d’approcher la minimisation de l’énergie de la carte : En = n j=1 M i=1 h(d(f(xj), i)) φ(xi) − pj 2 Luminy (18/12/08) Nathalie Villa Data mining & graphes 11 / 31
  • 26. Méthodes à noyau pour graphes “Astuce noyau” et calcul de l’énergie On utilise les propriétés de noyau reproduisant de K pour écrire l’énergie : En = n j=1 M i=1 h(d(f(xj), i)) φ(xi) − pj 2 Luminy (18/12/08) Nathalie Villa Data mining & graphes 12 / 31
  • 27. Méthodes à noyau pour graphes “Astuce noyau” et calcul de l’énergie On utilise les propriétés de noyau reproduisant de K pour écrire l’énergie : En = n j=1 M i=1 h(d(f(xj), i)) φ(xi) − pj 2 = n j=1 M i=1 h(d(f(xj), i)) φ(xi) − n k=1 αj k φ(xk ) 2 Luminy (18/12/08) Nathalie Villa Data mining & graphes 12 / 31
  • 28. Méthodes à noyau pour graphes “Astuce noyau” et calcul de l’énergie On utilise les propriétés de noyau reproduisant de K pour écrire l’énergie : En = n j=1 M i=1 h(d(f(xj), i)) φ(xi) − pj 2 = n j=1 M i=1 h(d(f(xj), i)) φ(xi) − n k=1 αj k φ(xk ) 2 = n j=1 M i=1 h(d(f(xj), i))  K(xi, xi) − 2 n k=1 αj k K(xi, xk ) + n k,k =1 αk αk K(xk , xk )   où K(x, x ) = φ(x), φ(x ) H . Luminy (18/12/08) Nathalie Villa Data mining & graphes 12 / 31
  • 29. Méthodes à noyau pour graphes Quel noyau ? Définition du Laplacien [Kondor and Lafferty, 2002] 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 ; Luminy (18/12/08) Nathalie Villa Data mining & graphes 13 / 31
  • 30. Méthodes à noyau pour graphes Propriétés du Laplacien I [von Luxburg, 2007] Composantes connexes KerL = Span{IA1 , . . . , IAk } où Ai indique les positions des sommets de la ième composante connexe du graphe. 1 4 5 2 3 KerL = Span      1 0 0 1 1   ;   0 1 1 0 0      Luminy (18/12/08) Nathalie Villa Data mining & graphes 14 / 31
  • 31. Méthodes à noyau pour graphes Propriétés du Laplacien II [Boulet et al., 2008] Communauté parfaite : Sous-graphe complet (clique) dont les sommets possèdent les mêmes voisins à l’extérieur de la clique. Laplacien and communautés parfaites Pour un graphe non pondéré, Le graphe a une communauté parfaite à m sommets ⇔ L possède m vecteurs propres qui ont les mêmes n − m coordonnées nulles. Luminy (18/12/08) Nathalie Villa Data mining & graphes 15 / 31
  • 32. Méthodes à noyau pour graphes Propriétés du Laplacien II [Boulet et al., 2008] Communauté parfaite : Sous-graphe complet (clique) dont les sommets possèdent les mêmes voisins à l’extérieur de la clique. Application : Luminy (18/12/08) Nathalie Villa Data mining & graphes 15 / 31
  • 33. Méthodes à noyau pour graphes Propriétés du Laplacien II [Boulet et al., 2008] Communauté parfaite : Sous-graphe complet (clique) dont les sommets possèdent les mêmes voisins à l’extérieur de la clique. Application : Limite : Seuls 1/3 des sommets du graphe peuvent être représentés de cette manière. Luminy (18/12/08) Nathalie Villa Data mining & graphes 15 / 31
  • 34. Méthodes à noyau pour graphes Propriétés du Laplacien III [von Luxburg, 2007] Problème de la coupe optimale : Supposons que le graphe soit connexe. Trouver une classification des sommets du graphe, A1, . . . , Ak telle que 1 2 k i=1 j∈Ai,j Ai wj,j est minimale , est équivalent à H = arg min h∈Rn×k Tr hT Lh subject to hT h = I hi = 1/ √ |Ai|1Ai Luminy (18/12/08) Nathalie Villa Data mining & graphes 16 / 31
  • 35. Méthodes à noyau pour graphes Propriétés du Laplacien III [von Luxburg, 2007] Problème de la coupe optimale : Supposons que le graphe soit connexe. Trouver une classification des sommets du graphe, A1, . . . , Ak telle que 1 2 k i=1 j∈Ai,j Ai wj,j est minimale , est équivalent à H = arg min h∈Rn×k Tr hT Lh subject to hT h = I hi = 1/ √ |Ai|1Ai ⇒ problème NP-complet. Luminy (18/12/08) Nathalie Villa Data mining & graphes 16 / 31
  • 36. Méthodes à noyau pour graphes Propriétés du Laplacien III [von Luxburg, 2007] Problème de la coupe optimale : Supposons que le graphe soit connexe. Trouver une classification des sommets du graphe, A1, . . . , Ak telle que 1 2 k i=1 j∈Ai,j Ai wj,j est minimale peut être approché par H = arg min h∈Rn×k Tr hT Lh subject to hT h = I Luminy (18/12/08) Nathalie Villa Data mining & graphes 16 / 31
  • 37. Méthodes à noyau pour graphes Propriétés du Laplacien III [von Luxburg, 2007] Problème de la coupe optimale : Supposons que le graphe soit connexe. Trouver une classification des sommets du graphe, A1, . . . , Ak telle que 1 2 k i=1 j∈Ai,j Ai wj,j est minimale peut être approché par H = arg min h∈Rn×k Tr hT Lh subject to hT h = I Spectral clustering : Trouver les vecteurs propres associés aux k plus petites valeurs propres de L, H, et faire la classification sur les colonnes de H. Luminy (18/12/08) Nathalie Villa Data mining & graphes 16 / 31
  • 38. Méthodes à noyau pour graphes Propriétés du Laplacien III [von Luxburg, 2007] Problème de la coupe optimale : Supposons que le graphe soit connexe. Trouver une classification des sommets du graphe, A1, . . . , Ak telle que 1 2 k i=1 j∈Ai,j Ai wj,j est minimale peut être approché par H = arg min h∈Rn×k Tr hT Lh subject to hT h = I Spectral clustering : Trouver les vecteurs propres associés aux k plus petites valeurs propres de L, H, et faire la classification sur les colonnes de H. Quelques problèmes du “spectral clustering” : Utilisation d’une partie du spectre seulement (laquelle ?), a tendance à produire un faible nombre de classes de très grosses tailles et beaucoup de micro classes (un à cinq individus). Luminy (18/12/08) Nathalie Villa Data mining & graphes 16 / 31
  • 39. Méthodes à noyau pour graphes Des versions régularisées de L 1 La matrice de diffusion [Kondor and Lafferty, 2002] : pour β > 0, Kβ = e−βL = +∞ k=1 (−βL)k k! . ⇒ Kβ : V × V → R (xi, xj) → K β i,j noyau de diffusion (ou noyau de la chaleur) Luminy (18/12/08) Nathalie Villa Data mining & graphes 17 / 31
  • 40. Méthodes à noyau pour graphes Des versions régularisées de L 1 La matrice de diffusion [Kondor and Lafferty, 2002] : pour β > 0, Kβ = e−βL = +∞ k=1 (−βL)k k! . ⇒ Kβ : V × V → R (xi, xj) → K β i,j noyau de diffusion (ou noyau de la chaleur) Quantité d’énergie reçue en xi lorsque l’énergie est injectée en xj et que la diffusion se fait de manière continue le long des arêtes du graphe. Luminy (18/12/08) Nathalie Villa Data mining & graphes 17 / 31
  • 41. Méthodes à noyau pour graphes Des versions régularisées de L 1 La matrice de diffusion [Kondor and Lafferty, 2002] : pour β > 0, Kβ = e−βL = +∞ k=1 (−βL)k k! . ⇒ Kβ : V × V → R (xi, xj) → K β i,j noyau de diffusion (ou noyau de la chaleur) Quantité d’énergie reçue en xi lorsque l’énergie est injectée en xj et que la diffusion se fait de manière continue le long des arêtes du graphe. 2 L’inverse généralisée du Laplacien [Fouss et al., 2007] : K = L+. Luminy (18/12/08) Nathalie Villa Data mining & graphes 17 / 31
  • 42. Méthodes à noyau pour graphes Des versions régularisées de L 1 La matrice de diffusion [Kondor and Lafferty, 2002] : pour β > 0, Kβ = e−βL = +∞ k=1 (−βL)k k! . ⇒ Kβ : V × V → R (xi, xj) → K β i,j noyau de diffusion (ou noyau de la chaleur) Quantité d’énergie reçue en xi lorsque l’énergie est injectée en xj et que la diffusion se fait de manière continue le long des arêtes du graphe. 2 L’inverse généralisée du Laplacien [Fouss et al., 2007] : K = L+. Temps moyen pour atteindre xi à partir de xj lors d’une marche aléatoire sur le graphe. Luminy (18/12/08) Nathalie Villa Data mining & graphes 17 / 31
  • 43. Méthodes à noyau pour graphes Exemple de résultat obtenu Réseau social médiéval avec noyau de la chaleur [Boulet et al., 2008] Luminy (18/12/08) Nathalie Villa Data mining & graphes 18 / 31
  • 44. Méthodes à noyau pour graphes Exemple de résultat obtenu Réseau social médiéval avec noyau de la chaleur [Boulet et al., 2008] Luminy (18/12/08) Nathalie Villa Data mining & graphes 18 / 31
  • 45. Méthodes à noyau pour graphes Exemple de résultat obtenu Réseau social médiéval avec noyau de la chaleur [Boulet et al., 2008] Luminy (18/12/08) Nathalie Villa Data mining & graphes 18 / 31
  • 46. Méthodes à noyau pour graphes 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) ? Luminy (18/12/08) Nathalie Villa Data mining & graphes 18 / 31
  • 47. Méthodes à noyau pour graphes 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 Luminy (18/12/08) Nathalie Villa Data mining & graphes 19 / 31
  • 48.
  • 49.
  • 50. Optimisation de la modularité Sommaire 1 Motivations 2 Méthodes à noyau pour graphes 3 Optimisation de la modularité Luminy (18/12/08) Nathalie Villa Data mining & graphes 21 / 31
  • 51. Optimisation de la modularité 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. Luminy (18/12/08) Nathalie Villa Data mining & graphes 22 / 31
  • 52. Optimisation de la modularité 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”} Luminy (18/12/08) Nathalie Villa Data mining & graphes 23 / 31
  • 53. Optimisation de la modularité 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). Luminy (18/12/08) Nathalie Villa Data mining & graphes 23 / 31
  • 54. Optimisation de la modularité 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 2p i,j [aij − pij] I[C(xi)=C(xj)] où A = (aij)ij est la matrice d’adjacence du graphe et 2p = aij. Luminy (18/12/08) Nathalie Villa Data mining & graphes 23 / 31
  • 55. Optimisation de la modularité Comment adapter un tel critère dans le cadre “classification organisée” ? [Rossi and Villa, 2008] Si h est une similarité sur la carte (h(i, j) = e−γd(i,j)2 ), Luminy (18/12/08) Nathalie Villa Data mining & graphes 24 / 31
  • 56. Optimisation de la modularité Comment adapter un tel critère dans le cadre “classification organisée” ? [Rossi and Villa, 2008] 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 dans lequel le sommet xi est classé. Luminy (18/12/08) Nathalie Villa Data mining & graphes 24 / 31
  • 57. Optimisation de la modularité Comment adapter un tel critère dans le cadre “classification organisée” ? [Rossi and Villa, 2008] 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 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 ). Luminy (18/12/08) Nathalie Villa Data mining & graphes 24 / 31
  • 58. Optimisation de la modularité 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 . Luminy (18/12/08) Nathalie Villa Data mining & graphes 25 / 31
  • 59. Optimisation de la modularité 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). Luminy (18/12/08) Nathalie Villa Data mining & graphes 25 / 31
  • 60. Optimisation de la modularité 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. Luminy (18/12/08) Nathalie Villa Data mining & graphes 26 / 31
  • 61. Optimisation de la modularité 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). Luminy (18/12/08) Nathalie Villa Data mining & graphes 26 / 31
  • 62. Optimisation de la modularité Exemples Optimisation de la modularité sur le réseau de collaborations Luminy (18/12/08) Nathalie Villa Data mining & graphes 27 / 31
  • 63. Optimisation de la modularité Exemples Optimisation de la modularité sur le réseau de collaborations Luminy (18/12/08) Nathalie Villa Data mining & graphes 27 / 31
  • 64. Optimisation de la modularité Optimisation de modularité organisée par recuit déterministe [Rossi and Villa, 2008] Principe général : Approcher EPT (f) = eS(f)/T g eS(g)/T en approchant PT par une distribution qui se factorise: • PT (f) est approchée par RE T (f) = e i,k Fik Eik /T g e i,k Gik Eik /T où F (resp. G) est la matrice d’affectation de taille n × m de la classification f (resp. g) et E est une matrice réelle de même taille. Luminy (18/12/08) Nathalie Villa Data mining & graphes 28 / 31
  • 65. Optimisation de la modularité Optimisation de modularité organisée par recuit déterministe [Rossi and Villa, 2008] Principe général : Approcher EPT (f) = eS(f)/T g eS(g)/T en approchant PT par une distribution qui se factorise: • PT (f) est approchée par RE T (f) = e i,k Fik Eik /T g e i,k Gik Eik /T où F (resp. G) est la matrice d’affectation de taille n × m de la classification f (resp. g) et E est une matrice réelle de même taille. Sous RE T (f), les Fik sont indépendants pour i = 1, . . . , n. Luminy (18/12/08) Nathalie Villa Data mining & graphes 28 / 31
  • 66. Optimisation de la modularité Optimisation de modularité organisée par recuit déterministe [Rossi and Villa, 2008] Principe général : Approcher EPT (f) = eS(f)/T g eS(g)/T en approchant PT par une distribution qui se factorise: • PT (f) est approchée par RE T (f) = e i,k Fik Eik /T g e i,k Gik Eik /T où F (resp. G) est la matrice d’affectation de taille n × m de la classification f (resp. g) et E est une matrice réelle de même taille. Sous RE T (f), les Fik sont indépendants pour i = 1, . . . , n. • On choisit E de manière à minimiser la distance de Kullback-Leibler : KL(R|P) = f RE T (f) log RE T (f) PT (f) . Luminy (18/12/08) Nathalie Villa Data mining & graphes 28 / 31
  • 67. Optimisation de la modularité Optimisation de modularité organisée par recuit déterministe [Rossi and Villa, 2008] Principe général : Approcher EPT (f) = eS(f)/T g eS(g)/T en approchant PT par une distribution qui se factorise: • PT (f) est approchée par RE T (f) = e i,k Fik Eik /T g e i,k Gik Eik /T où F (resp. G) est la matrice d’affectation de taille n × m de la classification f (resp. g) et E est une matrice réelle de même taille. Sous RE T (f), les Fik sont indépendants pour i = 1, . . . , n. • On choisit E de manière à minimiser la distance de Kullback-Leibler : KL(R|P) = f RE T (f) log RE T (f) PT (f) . • Les quantités E et ERE T (Fik ) sont estimées itérativement alternativement par un algorithme EM. Luminy (18/12/08) Nathalie Villa Data mining & graphes 28 / 31
  • 68. Optimisation de la modularité Algorithme de recuit déterministe pour optimisation de la modularité organisée Algorithme Pour une suite décroissante de valeurs T1, T2, . . . , TL , 1 On initialise ERE T (Fik ) de manière aléatoire dans [0, 1] 2 On répète pour l = 1, . . . , L 1 Phase E : Eik = 2 j i k ERE T (Fjk )Hkk Bji où H est la matrice des similarités sur la carte et B = 1 2p (A − P); 2 Phase M : ERE T (Fik ) = eEik /Tl k eEik /Tl 3 On convertit ERE T (Fik ) en classification : f(xi) = arg max k=1,...,m ERE T (Fik ). Luminy (18/12/08) Nathalie Villa Data mining & graphes 29 / 31
  • 69. Optimisation de la modularité Exemple : Analyse du réseau de collaborations scientifiques Recuit déterministe Kernel SOM (Inv. généralisée) Modularité = 0,836 Modularité = 0,816 % d’arêtes coupées sur la carte : 0 % d’arêtes coupées : 0,04 Luminy (18/12/08) Nathalie Villa Data mining & graphes 30 / 31
  • 70. Optimisation de la modularité Conclusions et perspectives Conclusions • Présentation d’algorithmes d’organisation pour les graphes • Approches spectrales, approches issues de l’optimisation • Ajout d’un aspect visuel Luminy (18/12/08) Nathalie Villa Data mining & graphes 31 / 31
  • 71. Optimisation de la modularité Conclusions et perspectives Conclusions • Présentation d’algorithmes d’organisation pour les graphes • Approches spectrales, approches issues de l’optimisation • Ajout d’un aspect visuel Perspectives • Essai sur de très grands graphes (plusieurs milliers de sommets) : réseaux biologiques, recherche d’informations • Comparaison / Évolution ??? Luminy (18/12/08) Nathalie Villa Data mining & graphes 31 / 31
  • 72. Optimisation de la modularité 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. Fouss, F., Pirotte, A., Renders, J., and Saerens, M. (2007). Random-walk computation of similarities between nodes of a graph, with application to collaborative recommendation. IEEE Transactions on Knowledge and Data Engineering, 19(3):355–369. Kondor, R. and Lafferty, J. (2002). Diffusion kernels on graphs and other discrete structures. In Proceedings of the 19th International Conference on Machine Learning, pages 315–322. 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. Rossi, F. and Villa, N. (2008). Topologically ordered graph clustering via deterministic annealing. soumis. 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. and Rossi, F. (2007). A comparison between dissimilarity SOM and kernel SOM for clustering the vertices of a graph. Luminy (18/12/08) Nathalie Villa Data mining & graphes 31 / 31
  • 73. Optimisation de la modularité In Proceedings of the 6th Workshop on Self-Organizing Maps (WSOM 07), Bielefield, Germany. 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. von Luxburg, U. (2007). A tutorial on spectral clustering. Statistics and Computing, 17(4):395–416. Luminy (18/12/08) Nathalie Villa Data mining & graphes 31 / 31