Sous-espace propre pertinent d’un graphe : détermination par un test
de randomisation.
Alain Lelu
- Université de Franche-Comté / LASELDI
alain.lelu@univ-fcomte.fr - LORIA, Nancy
Démarche dominante en fouille de graphes : recherche de communautés
– Question préliminaire : y a-t-il des communautés ?
– Il peut aussi y avoir :
• des individus marginaux ou isolés
• des individus marginaux ou isolés
• des continuums entre pôles, des chaînes, des
« variétés »
– Si oui, trouver ces communautés, quelle que soit leur forme (concaves, bien tranchées, recouvrantes…)
2
Recherche de structures dans un graphe
– Réponse : d’abord se placer dans un espace de représentation adapté (!)
– Meilleure proposition à ce jour : l’espace défini par les vecteurs propres dominants de la matrice laplacienne du graphe. Plusieurs variantes :
• Laplacien non normalisé L = D – A
A : matrice d’adjacence ; D : diag(degrés) A : matrice d’adjacence ; D : diag(degrés)
• Laplacien normalisé symétrique Lsym = I – D-1/2 A D-1/2
• Laplacien normalisé « marche aléatoire » Lma = I – D-1 A
– Nota 1 : les éléments propres de Lsym et Lma sont liés.
– Nota 2 : 1... c = 0, c étant le nombre de composantes connexes
3
Laplacien symétrique et analyse factorielle des correspondances
– AFC (et ACMultiples) : se déduisent de la décomposition aux valeurs singulières de Q = Dr-1/2 X Dc-1/2
où Dr = diag(sommes en lignes de X)
Dc = diag(sommes en colonnes de X) – donc Lsym = I – Q
– donc Lsym = I – Q
où Q est la matrice « transformée pour AFC » de la matrice symétrique A :
Q = D-1/2 A D-1/2
– Par souci d’homogénéité on utilisera les valeurs
singulières de Q, positives ou nulles, inférieures à la (ou les) valeur(s) triviale(s) c =1, plutôt que les
valeurs propres de Lsym.
Utilisations de l’« espace laplacien » de représentation d’un graphe
• Spectral clustering = K-means (en général) dans l’espace des K vecteurs propres dominants pas d’a-priori sur la forme des clusters (convexes, concaves, ...ex. : spirales imbriquées)
• Apprentissage semi-supervisé
• Identification de variétés
• etc... importante littérature ! (bonne revue : Von Luxburg 06)
5
MAIS
réponses insatisfaisantes à : quel choix pour la dimension K* ?Autrement dit : quelle est la dimension intrinsèque d’un graphe donné ?
• Heuristique de la discontinuité dans l’éboulis des
valeurs propres (eigengap, scree-break, Cattell 1966):
pas évidente à appliquer pour les grands graphes pas évidente à appliquer pour les grands graphes
• Les K-means spectrales présupposent l’existence de K communautés classent indûment les isolés, les continuums entre pôles, tranchent arbitrairement les recouvrements, etc.
• Elles sont sensibles aux conditions initiales, comme toutes les méthodes de type EM impropres aux
analyses dynamiques 6
Nos principes
• Dans le cadre restreint de graphes non orientés et non valués (A binaire symétrique) :
• 1 - Déterminer une dimension K* statistiquement valide via un test de randomisation (Manly 1997) Ici, en quoi une matrice d’adjacence donnée est-elle, ou pas,
exceptionnelle, comparée aux matrices aléatoires
soumises aux mêmes contraintes structurelles (mêmes soumises aux mêmes contraintes structurelles (mêmes marges même répartition des degrés) ?
• 2 - Explorer l’utilisation de méthodes densitaires de clustering dans l’espace intrinsèque des K* vecteurs propres dominants. Avantages attendus :
– Insensibilité aux conditions initiales
– Inutile de fixer a-priori le nombre K de clusters – Identification des individus marginaux
– Possibilité de clustering multi-échelles
7
Détermination de K* : test de
randomisation TourneBool (Cadot 2005)
• Génération d’une matrice d’adjacence
aléatoire de même répartition des degrés que A :
– via un ensemble d’échanges élémentaires – via un ensemble d’échanges élémentaires qui ne changent pas les marges :
1 0 0 1
0 1 1 0
– Sous contraintes : zéros sur la diagonale ; symétrie par rapport à la diagonale
8
Module Randomize dans TourneBool
• Algorithme :
– Choisir un nombre r d’échanges à exécuter – Copier A dans Ac
– Répéter r fois
• Choisir au hasard (avec remplacement) une paire de lignes et une paire de colonnes
• Si :
COMPSTAT 2010 - 9
– les zéros et les uns alternent aux coins du rectangle dans Ac ; et si un des zéros n’est pas sur la diagonale
– Alors modifier Ac en transformant chaque valeur en son
complément à 1 et en copiant cette configuration symétriquement par rapport à la diagonale, sinon ne rien faire
– Sauver Ac
• r est choisi pour que la distance de Hamming A-Ac se stabilise ( pas de biais = pas de memoire de A dans Ac), r ~ plusieurs fois nnz
• Répéter autant de fois que de matrices simulées désirées.
Validation sur un graphe artificiel (1)
• Pour imposer :
– Une distribution « zipfienne » (en loi de puissance) des degrés
– 2 communautés recouvrantes
• on réalise :
– le « morphing » d’une matrice – le « morphing » d’une matrice bloc-diagonale :
Les valeurs 1 sont remplacées
par des valeurs réelles telles que leurs
somme en lignes et colonnes aient les valeurs imposées
– sa « binarisation » : ces valeurs sont
transformées en probabilité de tirer 0 ou 1
10
Validation sur un graphe artificiel (2)
• Résultats :
La matrice d’adjacence A (836 x 836) avec 2 communautés, un degré minimum 4, et une
distribution des degrés en loi de puissance
L’“éboulis” des 25 premières valeurs propres issues de A (en rouge) comparées aux intervalles de variation de ses dérivées randomisées. (la 1ère valeur propre est 1 par construction).
11
Validation sur un graphe artificiel (3)
La structure de A : visualisation en ordonnant lignes et
colonnes selon U2 La projection des 836 sommets dans le plan (U2,U3).
12
Validation : le graphe « Football league » (Girvan-Newman 02) (1)
• Données : matrice
d’adjacence binaire et symétrique des parties
jouées entre 115 équipes, structurées en 12
Factor 2 and Factor 3
0,15 0,2 0,25
COMSTAT 2010 - 13
structurées en 12
« conferences » (en traits
pleins : parties « intra-conf »)
• 11-D pour l’espace intrinsèque (U2:U12), au seuil de confiance de 99%
-0,2 -0,15 -0,1 -0,05 0 0,05 0,1
-0,2 -0,15 -0,1 -0,05 0 0,05 0,1 0,15
Validation : le graphe « Football league » (2)
Factor 12 and Factor 13
0 0,1 0,2 0,3
-0,2 -0,1 0 0,1 0,2 0,3 0,4 0,5
Factor 2 and Factor 3
0,05 0,1 0,15 0,2 0,25
Le plan (U2, U3). Le plan (U12, U13).
-0,4 -0,3 -0,2 -0,1
-0,2 -0,1 0 0,1 0,2 0,3 0,4 0,5
-0,2 -0,15 -0,1 -0,05 0
-0,2 -0,15 -0,1 -0,05 0 0,05 0,1 0,15
14
Validation : le graphe « Football league » (2)
Factor 4 and Factor 5
0 0,05 0,1 0,15 0,2
-0,25 -0,2 -0,15 -0,1 -0,05 0 0,05 0,1 0,15 0,2 0,25
Factor 6 and Factor 7
0 0,05 0,1 0,15 0,2
-0,2 -0,15 -0,1 -0,05 0 0,05 0,1 0,15 0,2 0,25
Le plan (U4, U5). Le plan (U6, U7).
15
-0,25 -0,2 -0,15 -0,1 -0,05
-0,25 -0,2 -0,15 -0,1 -0,05 0 0,05 0,1 0,15 0,2 0,25
-0,25 -0,2 -0,15 -0,1 -0,05
Validation : le graphe « Football league » (2)
Factor 8 and Factor 9
0,1 0,2 0,3 0,4
Factor 10 and Factor 11
0,2 0,3 0,4 0,5
Le plan (U8, U9). Le plan (U10, U11).
16
-0,3 -0,2 -0,1 0
-0,2 -0,15 -0,1 -0,05 0 0,05 0,1 0,15 0,2
-0,2 -0,1 0 0,1
-0,3 -0,2 -0,1 0 0,1 0,2 0,3
Validation : le graphe « Football league » (2)
Factor 12 and Factor 13
0 0,1 0,2 0,3
-0,2 -0,1 0 0,1 0,2 0,3 0,4 0,5
Factor 14 and Factor 15
0,1 0,2 0,3 0,4 0,5
Le plan (U12, U13). Le plan (U14, U15).
-0,4 -0,3 -0,2 -0,1
-0,2 -0,1 0 0,1 0,2 0,3 0,4 0,5
17
-0,4 -0,3 -0,2 -0,1 0
-0,4 -0,3 -0,2 -0,1 0 0,1 0,2 0,3 0,4
Validation : le graphe « Football league » (3)
0.4 0.6 0.8 1 1.2
λ12
Confirmation : l’éboulis des valeurs propres croise l’intervalle de variation au seuil de confiance de 99% après 12
0 20 40 60 80 100 120
-0.6 -0.4 -0.2 0 0.2
Clustering densitaire dans l’espace intrinsèque (1)
• Principe de l’Analyse en Composantes Locales (Lelu 94) : des
« vecteurs-neurones » montent en gradient sur un paysage de densité (noyau « cosinus tronqué »). Ex. : espace 1D, 9 points :
• L’algorithme :
– Init. : les neurones {u} = les vecteurs-données {x}
– itérer : u := u + x puis normalisation
où = [cos(x,u) - seuil]+ (projection tronquée)
= constante d’apprentissage petite
• Convergence, ici vers 115 vecteurs très proches OU très distincts
19
Clustering densitaire dans l’espace intrinsèque (2)
• Choix empirique de seuil et d’un écart minimum pour les regrouper, pour un accord optimum avec les « vraies
classes »
• 11 clusters + quelques isolés, dans l’espace intrinsèque (U2:U12) à 11-D, optimal car plus en accord que les
espaces (U2-U10), (U2:U13), ... : espaces (U2-U10), (U2:U13), ... :
20
# dimensions F-score
10 .931
11 .934
12 .915
Validation quantitative : le graphe
« Politiciens mexicains » (De Nooy et al. 04) (1)
• Données : réseau social
entre 35 hommes politiques mexicains de la fin du 20e siècle, dont 12 militaires.
• 2-D pour l’espace
COMSTAT 2010 - 21
• 2-D pour l’espace
intrinsèque (U2:U3), au seuil de confiance de 99%
Validation quantitative : le graphe
« Politiciens mexicains » (De Nooy et al. 04) (2)
• Structure dans l’espace intrinsèque (U2,U3) : 3 pôles, dont un plus saillant composé surtout de militaires (rouge).
• Par clustering densitaire ACL : une solution à 2 classes se rapproche beaucoup de la partition civils / militaires
Conclusions, perspectives
• Dimension intrinsèque K* d’un graphe non orienté non valué établie par un test statistique rigoureux
• Validation des structures présentes : visualisation + clustering densitaire ACL dans l’espace intrinsèque encourageantes sur un graphe artificiel scale-free et deux réseaux sociaux réels
deux réseaux sociaux réels
• To-do list :
– Valider sur plus de graphes-test, et des graphes plus grands
– Passer à l’échelle (parallélisation possible : randomisation, valeurs propres, clustering densitaire)
– Etendre aux graphes valués, orientés, ...
23
Merci pour votre attention !
24
TourneBool Test
– Generate a sufficient sample (X1, X2, ... Xp) of
randomized versions of the original matrix X0 (e.g.
200 matrices) subject to the same distributional constraints = same margins as X0.
– Extract the full sequence of singular values of X0, in decreasing order.
– For each k-order eigen-space, starting from k = 1, compare the k-th singular value of X0 to the sorted compare the k-th singular value of X0 to the sorted set of corresponding k-th singular values in the
sample:
• if the current singular value λk(X0) ≥ the randomized one located at the significance threshold (e.g.: the third one at the 99% threshold), it is deemed significantly diverging from
randomness, and the algorithm goes on with k = k + 1.
– When stopping, K* = k
25