Données d’un opérateur téléphonique
Numéro appelant Numéro appelé Durée d’appel
0102030405 0800101213 3’03
... ... ...
126 millions d’appels, 25 millions de clients.
Niveau Nœuds Modularité
0 22 millions 0,53
1 2,5 millions 0,75
2 250 000 0,78
3 100 000 0,79
Identification of communautés
Chercher un voisinage (micro-communauté) à partir d’un nœud donné
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 43 / 69
Principes de l’approche “physique” (Wu & Huberman)
On considère le graphe comme un circuit électrique Loi de Kirchhoff sur le nœudC:
n
X
i=1
Ii =
n
X
i=1
VDi −VC
R =0
Si graphe avec arcs valués parwij, on définiRij =wij−1 On fixe la tension en deux nœuds: V1=1,V2=0 et on a:
Vi = 1 ki
n
X
j=3
Vjaij + 1
kiai1 pouri=3, . . . ,n ki : degré du nœudi,aij matrice d’adjacence.
Ce système d’équations linéaires se résoud enO(n3)(lent).
Résolution approchée rapide
Méthode itérative:
1 fixerV1=1,V2=· · ·=Vn=0 (en tempsO(V))
2 mettre à jour la tension de chaque nœud (enO(E))
3 répèter l’étape 2
La précision après l’étape 2 ne dépend que du nombre d’itérations, pas de la taille du graphe.
Quelques dizaines d’itérations suffisent pour converger.
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 45 / 69
Recherche de communautés: problèmes ouverts
Prendre en compte (efficacement) les attributs des nœuds et la structure du graphe.
La modularité est-elle le bon critère ? (eg Fortunato 2006) Contrôler la distribution des tailles des communautés Communautés avec recouvrement
Suivi dynamique Graphes bipartites
Plan de l’exposé
1 Introduction: fouille des réseaux sociaux
2 Caractérisation des réseaux sociaux
3 Analyse relations/contenu: un exemple d’approche
4 Analyse structurelle: communautés
5 Catégorisation de nœuds
6 Méthodes à noyaux pour les graphes
Catégorisation de nœuds
Applications: marketing (churn, influence), categorization de textes, ...
?
?
Catégorisation de nœuds
Première approche: Relaxation labelingpar ex. (Angelova et al 2006)
Augmentation d’un tiers du score F1 / SVM sur les noeuds seuls.
=> gains importants sur des applications diverses
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 49 / 69
Catégorisation de nœuds: une approche simple
La RL est lente sur de grands graphes
Idée: pour catégoriser les nœuds à partir de leurs attributs et de leur
“position” dans le graphe, exprimer celle ci comme de nouveaux attributs:
caractéristiques locales du graphe (degré, triangles, ...)
attributs décrivant la communauté à laquelle appartient le nœud
Exemple: catégorisation de texte
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 51 / 69
Catégorisation de texte (suite)
Application: triage de bugs (Bugzilla)
Bug tracker du projet Eclipse (Open Source)
Réseau de développeurs
10 000 bug reports, 2100 utilisateurs 50 000 liens: personnes travaillant sur le même bug
objectif: associer le bug à un développeur
Niveau # communautés Modularité
0 2081 0.01
1 229 0.26
2 16 0.36
3 14 0.37
Méthode Performance
TF-IDF→SVM 32%
TF-IDF + Communauté de l’auteur→SVM 38%
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 53 / 69
Plan de l’exposé
1 Introduction: fouille des réseaux sociaux
2 Caractérisation des réseaux sociaux
3 Analyse relations/contenu: un exemple d’approche
4 Analyse structurelle: communautés
5 Catégorisation de nœuds
6 Méthodes à noyaux pour les graphes
Espace de représentation et noyaux
Projection dans un espace de représentation: transformationΦ
X F
O
O O
O O
X X
X X
X
Φ(X)
Φ(X) Φ(X)
Φ(X) Φ(X)
Φ(Ο) Φ(Ο)
Φ(Ο)
Φ(Ο)
Φ
Φ(Ο)
Kernel K(x,y) =< φ(x), φ(y)>
SVM non linéaire: yˆ = X
i∈SV
αiK(xi,x) +b
⇒ “kernel trick” utilisé dans de nombreux modèles, comme l’ACP, l’Analyse Discriminante, la régression PLS, ...
⇒ peut s’appliquer aux cas où l’on ne dispose pas de représentation vectorielle des exemples (chaînes de symboles, arbres,
graphes...)E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 55 / 69
Définir des noyaux
Condition d’admissibilité
symétrique: k(x,y) =k(y,x) semi-définie positive: P P
cicjk(xi,xj)≥0
On peut construire des noyaux à partir d’autres noyaux:
combinaison: k(x,y) =X
wαkα(x,y),∀wα ≥0 composition: k(x,y) =X
D
Y
d=1
kd(xd,yd) (Haussler 1999)
Exemples: noyaux pour séquences, arbres, graphes Exemple simple: noyau sur arbres
t t0
0 0
k(t,t0) =
2
X
1
Xkc(ci,cj)
Définir des noyaux
Condition d’admissibilité
symétrique: k(x,y) =k(y,x) semi-définie positive: P P
cicjk(xi,xj)≥0
On peut construire des noyaux à partir d’autres noyaux:
combinaison: k(x,y) =X
wαkα(x,y),∀wα ≥0 composition: k(x,y) =X
D
Y
d=1
kd(xd,yd) (Haussler 1999)
Exemples: noyaux pour séquences, arbres, graphes Exemple simple: noyau sur arbres
t t0
c0 c1 c2 c00 c10
k(t,t0) =
2
X
i=0 1
X
j=0
kc(ci,cj)
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 56 / 69
Apprentissage à base de noyaux pour la catégorisation de nœuds
Rappel: condition d’admissibilité K semi-définie positive:
∀fx,X
x
X
x0
fxfx0K(x,x0)≥0
Suivant l’approche d’Haussler (1999), on peut écrire:
eβH = lim
n→∞(1+βH
n )n (1)
= I+βH+β2
2!H2+· · · (2) H auto-adjoint⇒ K =eβH semi-définie positive.
Le paramètreβcontrôle la “localité” du noyau obtenu (diffusion sur le graphe).
Noyau de diffusion
Laplacien du graphe: L=D−A, soitL=
−1 sii∼j di sii=j 0 sinon
Le Laplacien se retrouve souvent en analyse spectrale des graphes.
∀w,wTHw = X
(i,j)∈E
(wi−wj)2
Remarque:
∂
∂tΨ =µ∆Ψ : équation de la chaleur
Si K =eβH,on a dβd Kβ =−LKβ : équation de la chaleur sur le graphe (Kondor
& Lafferty 2002).
Kβ(i,j)can be seen as the energy injected ini received inj, with diffusion parameterβ
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 58 / 69
Noyau de diffusion: mise en œuvre
K(0) = I K(β) = lim
s→∞
I+βL
s s
Problème: K est une matrice dense, même siLest sparse.
⇒utilisation impossible sur de très grands graphes
Mais résultats intéressants: exemple jeux de données “WebKB”:
- 8275 pages webs, 7 classes (6=universités)
- de 8 à 15% d’erreur enignorant le texte des pages !
Applications possibles en transductif (suggéré par Gärtner et Smola 2007).
Conclusions
L’analyse des réseaux sociaux pose de nouveaux défis pour la fouille de données: échantillons non iid, structure, grands volumes, évolution...
Les nouvelles applications industrielles (Telco, Web 2.0, ...)
produisent d’énormes volumes de données “en réseau” , avec une forte valeur potentielle
Nombreuses recherches, nouvelles méthodes et algorithmes.
Aujourd’hui
Évolution des communautés: J.-L. Guillaume Outils industriels: F. Soulié-Fogelman
Analyse des données d’un grand site “social”: R. Kirche Apprentissage et inférence: L. Denoyer
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 60 / 69
Références principales (1)
Ouvrages généraux
Albert-Laszlo Barabasi.
Linked.
Perseus Publishing, 2002.
Nicholas A. Christakis and James H. Fowler.
Connected: The Surprising Power of Our Social Networks and How They Shape Our Lives.
Little, Brown and Company, 2009.
Chris Anderson.
The Long Tail.
Random House Business, 2006.
Références principales (2)
Recherche de communautés
M. E. J. Newman.
Modularity and community structure in networks.
PNAS, 103(23):8577–8582, June 2006.
Luciano da F. Costa, Francisco A. Rodrigues, Gonzalo Travieso, and P. R. Villas Boas.
Characterization of complex networks: A survey of measurements.
Advances in Physics, 56(1):167–242, January 2007.
Santo Fortunato.
Community detection in graphs.
Physics Reports, Jun 2010.
V.D. Blondel, J.L. Guillaume, R. Lambiotte, and E.L.J.S. Mech.
Fast unfolding of communities in large networks.
Journal of Statistical Mechanics: Theory and Experiment, P10008:1742–5468, 2008.
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 62 / 69
Références principales (3)
Graphes et apprentissage
Jure Leskovec.
Dynamics of large networks.
PhD thesis, Carnegie Mellon University, September 2008.
Diane J. Cook and Lawrence B. Holder.
Mining Graph Data.
John Wiley & Sons, 2006.
Nello Cristianini and John Shawe-Taylor.
An introduction to support vector machines : and other kernel-based learning methods.
Cambridge University Press, March 2000.