Analyse statistique des graphes
Analyse statistique des graphes
Catherine Matias
1
Table des matières
2
3.4 Exemples jouets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.5 Commentaires pratiques . . . . . . . . . . . . . . . . . . . . . . . . . 32
3
Chapitre 1
4
Un graphe est dirigé (ou orienté) lorsque ses arêtes le sont i.e. lorsque l’arête (i, j)
est différente de l’arête (j, i). Il est non dirigé sinon.
Les graphes simples n’ont pas de boucles (i.e. (i, i) n’est jamais une arête). Ils
peuvent être binaires : une arête est présente (1) ou absente (0), ou valués : les
arêtes présentes sont alors munies d’une valeur (poids). Noter qu’un graphe binaire
est un cas particulier de graphe valué où toutes les arêtes présentes ont le poids 1.
Remarques. • Un graphe simple sur n nœuds possède au plus n(n − 1)/2
arêtes s’il est non dirigé et n(n − 1) arêtes s’il est dirigé.
• Les graphes biparties sont tels que V = V1 ∪ V2 avec V1 ∩ V2 = ∅ et les arêtes
Cet index sert parfois à construire des graphes valués et non dirigés entre un
ensemble d’entités.
Définition (Chemins, connexité, cycles). Un chemin dans G = (V, E) (non orienté)
entre i, j ∈ V est une suite d’arêtes e1 , . . . , ek ∈ E telle que
• pour tout 1 ≤ t ≤ k − 1, les arêtes et et et+1 partagent un nœud dans V ;
• e1 est issue de i ;
• et est issue de j.
5
• La connexité d’un graphe dirigé est définie à partir des chemins non dirigés.
Proposition 1.1. Tout graphe peut être décomposé en un unique ensemble de com-
posantes connexes (maximales). Le nombre de composantes connexes d’un graphe
est supérieur ou égal à n − |E|.
Définition (Voisinage, degrés). Les voisins de i ∈ V sont les nœuds j ∈ V tels que
{i, j} ∈ E. On note
V(i) = {j ∈ V ; {i, j} ∈ E}.
Le degré di d’un nœud i du graphe G est le nombre de voisins de i dans G. C’est
donc le cardinal |V(i)| du voisinage de i dans G.
Si G est un graphe dirigé, on peut définir le degré sortant dout
i et le degré entrant
in
di du nœud i.
Le degré moyen d’un graphe est défini par
1 X
d¯ = di .
|V | i∈V
Dans un graphe orienté, les degrés moyens sortants et entrants sont nécessairement
égaux
1 X in 1 X out
d¯in := di = d¯out := d .
|V | i∈V |V | i∈V i
P
Proposition 1.2. Dans un graphe G = (V, E) on a i∈V di = 2|E|. En particulier,
la somme des degrés d’un graphe est toujours paire.
Remarque. La suite des degrés (d1 , . . . , dn ) d’un graphe est très contrainte. En
fait Erdős and Gallai (1961) ont montré la propriété suivante (voir aussi Berge,
1976, Chapitre 6, Théorème 4). Quitte à ré-ordonner (d1 , . . . , dn ) de sorte que d1 ≥
d2 ≥ · · · ≥ dn , une condition nécessaire et suffisante pour que (d1 , . . . , dn ) soit la
6
réalisation de la séquence des degrés d’un graphe est que pour tout 1 ≤ k ≤ n − 1
on ait
X k Xn
di ≤ k(k − 1) + min(k, di ).
i=1 i=k+1
7
ching some of the springs and compressing
2 > title("5x5x5 others, upon being let go it will
Lattice")
er
n tohas5almost
its twice
state. as
> title("5x5x5
natural many edges
So-called 3 > asplot(aidsblog,
Lattice") the latter methods
spring-embedder (300 layout=layout.fru
of graph drawing de-
aer, is6by>of
notion definition
force forhighly
each uniform
plot(aidsblog, in>inthe
itsgraph
connectivity
vertex4layout=layout.circle)
title("Blogdepending, at the very least, on
Network")
og network is not.of vertices Network")
7 >oftitle("Blog
ositions pairs and the distances between them, and seek to iter-
as shown inarranged
Fig. 3.2, (usu-
we see that substantially more
cular the wherein
layout,
ly update placement theofvertices
verticesare until a vector of net forces across vertices
network is now
ircumference of a circle. The edges are then drawn visible.
erges.
outs
he of theoflattice
method and blog
Fruchterman networks
and Reingoldare shown
[60] in
is a commonly used example of
5x5x5 Lattice Blog Network
ype. Applied to the lattice and blog networks, 5x5x5 Lattice
ertex.size=3,
1 > plot(g.l, vertex.label=NA,
layout=layout.fruchterman.reingold)
e=0.5)
2 > title("5x5x5 Lattice")
))
3 > plot(aidsblog, layout=layout.fruchterman.reingold)
=layout.circle)
4 > title("Blog Network")
tice")
own in Fig. 3.2, we see that substantially more of the structure inherent to each
ayout=layout.circle)
ork is now visible.
ork")
Often more
lternatively,
réseau de blogs.
effective
motivated by the Methods
forfact that it based
creating isuseful ondrawings
possible multidimensional
to associate arethe scaling
layouts (MD
based
collection of
tice is much more withpleasing
anthe to the system
social eye than
network that of
literature, areand of this
snalogies
in springbetween
systems the relational
overall structure in graphs
energy, another thetype.
common Theam
forces
approach m
o the lowlayouts
nerating level of is edge-crossings
that One through
is a popular
of energy-placement the
variant. center
Using An
methods. thisenergy,
layout,as a function
n physical
vertices around
systems.
the circle is
approach
important
in
with
this
this
area,
type
and the earliest propo
rtex positions,
roduce ostensibly
attractive and is#3.5
defined
repulsive 1 >using
forces expressions
plot(g.l, by motivated
associating by those
vertices
layout=layout.kamada.k found
with ba
ng of the vertices in the lattice, for example, would
ysics. A vertex placement is chosen2 > which minimizes Lattice")
title("5x5x5
8 the total system energy.
that ofsystem
ysical the blog network.
with minimum Common3 > vertex
energy orderings
is typically
plot(aidsblog,in its most relaxed state, and
layout=layout.kam
edering by degree
the assertion hereand grouping
is that 4 by
a graph > common
title("Blog
drawn vertex
according toNetwork")
similar principles should
sually appealing.
ating useful
ethods baseddrawings are layouts based
on multidimensional on(MDS),
scaling exploiting
which have a long history in
Exemple . Reconstruire le graphe encodé par
0 1 1 0 0
1 0 1 1 0
A = 1 1 0 1 0 .
0 1 1 0 0
0 0 0 0 0
Remarque. Redondance de l’information dans le cas d’un graphe non dirigé (ma-
trice symétrique).
Il peut s’avérer que cette représentation ne soit pas adaptée au stockage infor-
matique
• si trop grand nombre de nœuds (matrice de taille n × n),
• si le graphe est très creux (on peut éventuellement utiliser des outils spécifiques
Le modèle de graphe aléatoire le plus simple est le modèle introduit dans les
années 1950 par Erdös et Rényi. Il s’agit de la collection G(n, M ) de tous les graphes
simples non dirigés d’ordre n et de taille M , munie de la loi uniforme P sur cette
N
collection. Ainsi, la collection G(n, M ) contient M graphes différents, où N =
N
n(n − 1)/2 et la probabilité de chacun d’eux est 1/ M .
Une variante plus commune consiste à considérer la collection G(n, p) de graphes
simples non dirigés générés selon un modèle à deux paramètres : n le nombre de
nœuds du graphe et p ∈ (0, 1) la probabilité de connection de deux nœuds pris au
9
hasard. C’est un graphe dont toutes les arêtes Aij , 1 ≤ i < j ≤ n sont des variables
i.i.d. de loi de Bernoulli B(p).
Un réseau observé peut être considéré comme une réalisation de la variable
aléatoire G(n, p) ou de la variable G(n, M ) de loi comme ci-dessus.
Souvent, on considère que p = pn peut varier avec n. (Sinon on a des graphes
trop denses pour modéliser les grands graphes réels). Lorsque M ∼ n2 pn , les deux
Définition. Le graphe complet (ou clique) Kn est le graphe (non dirigé) sur n
sommets qui contient toutes les arêtes possibles entre ces sommets.
Ainsi, K2 est une simple arête entre 2 nœuds, K3 est un triangle. Les sous-graphes
complets d’un graphe sont plus communément appelés cliques.
Définition. Un graphe dont tous les nœuds ont le même degré d est un graphe
régulier ou encore d-régulier.
10
Chapitre 2
2.1 Degrés
2.1.1 Distribution marginale des degrés
Rappel : pour un graphe simple binaire et non dirigé, le degré Di du nœud i
(pour i = 1, . . . , n) et le degré moyen D̄ du graphe vérifient la relation suivante
n n
X 1X 1 XX 2|E|
Di = Aij , et D̄ = Di = Aij = .
j6=i
n i=1 n i=1 j6=i n
Les degrés {Di }i=1,...,n des nœuds d’un graphe sont des variables aléatoires, non
indépendantes en général. On s’intéresse d’abord à la distribution marginale de ces
variables.
Notons tout d’abord que le degré moyen D̄ n’est pas une variable très informative
car dans les réseaux observés, les degrés des nœuds varient beaucoup. La distribu-
tion des degrés contient plus d’information que le degré moyen. Il faut cependant
11
garder en tête que des graphes très différents peuvent avoir la même distribution des
degrés des nœuds (voire la même suite des degrés observés !). De la même façon, si
les variables aléatoires D̄in et D̄out sont toujours égales entre elles, la suite des degrés
observés entrants (Diin )1≤i≤n et sortants (Diout )1≤i≤n peuvent être très différents.
Commençons par considérer le cas (facile) du graphe G(n, p). Dans le cas de
G(n, p), les variables Aij sont i.i.d. de loi B(p).
Proposition 2.1. Le degré Di du nœud i du graphe aléatoire G(n, p) vérifie
Di ∼ B(n − 1, p).
Par la loi des grands nombres, la variable D̄/(n − 1) converge vers E(Aij ) = p.
En particulier, l’espérance du degré d’un nœud vérifie E(Di ) = (n − 1)p = pn(1 +
o(1)) (lorsque n grand, p petit).
En pratique, la loi Binomiale est une loi à queue ’légères’ : on observe très peu
de valeurs extrêmes. Or dans les réseaux réels, la distribution des degrés est plus
communément ’à queue lourde’ : un petit nombre de nœuds ont un degré très fort
(les hubs).
Beaucoup de graphes réels ont une distribution des degrés des nœuds qui s’ajuste
correctement sur une loi de puissance, i.e.
c
fDi (k) := P(Di = k) = γ ,
k
où c est une constante de normalisation et γ > 0 est l’exposant de la loi puissance.
Dans les années 2000, beaucoup de publications se sont concentrées sur ce phénomène
de loi de puissance de la distribution des degrés, caractérisant par exemple l’expo-
sant de la loi de puissance de réseaux observés. Le mauvais ajustement du modèle
G(n, p) sur la loi des degrés a donné lieu à de nouveaux modèles, fondés uniquement
sur cette distribution des degrés. Ces modèles peuvent être vus comme des modèles
de graphe aléatoires (au sens d’Erdös-Rényi) généralisés : on défini une collection
de graphes et la loi uniforme sur tous les éléments de cette collection.
12
1. Loi de puissance des degrés : On considère des graphes aléatoires sur n nœuds
tels que les variables aléatoires D1 , . . . , Dn sont i.i.d selon une loi de puissance
(pour un certain γ).
2. Modèle à degrés fixés : Soient d = (d1 , . . . , dn ) une suite (possible) de degrés
de nœuds et F D(d) la collection de tous les graphes sur n nœuds qui possèdent
exactement la suite des degrés d, munis de la probabilité uniforme.
3. Modèle à degrés variables : Soient d = (d1 , . . . , dn ) une suite (possible) de
degrés de nœuds et RD(d) le modèle de graphe aléatoire sur n nœuds tel que
toutes les arêtes Aij sont indépendantes, de loi B(pij ) avec pij = di dj /C où
C constante positive telle que 0 ≤ pij ≤ 1 (par exemple C = maxi6=j di dj ).
Dans le modèle F D(d), tous les graphes ont exactement la suite de degrés d.
Dans le modèle de loi de puissance, on commence par tirer une suite d de degrés
selon cette loi de puissance, puis on considère un graphe qui a cette suite de degrés
fixés. Enfin dans le modèle RD(d), les degrés sont seulement approchés par la suite
d. En effet dans ce cas
X X di X di (2|E| − di )
E(Di ) = E(Aij ) = pij = dj = .
j6=i j6=i
C j6=i C
une loi de puissance sur cette distribution empirique, on est bien en train de
travailler sous ce modèle !
• La simulation de graphes dans le modèle à degrés variables est directe puis-
qu’il suffit de tirer les Aij de façon indépendante (non identiquement dis-
tribués).
• Pour générer des graphes dans F D(d), on utilise soit un algorithme de mat-
13
Algorithm 2.1: Algorithme de matching
//Entrée : d = (d1 , . . . , dn )
//Sortie : liste d’arêtes
//Initialisation : Edge.List ← () ; Node.List ← ()
// Créer fake Node.List :
for i ∈ {1, . . . , n} do
while di ≥ 1 do
Node.list ← concatenate(Node.List,i)
di ← di − 1
// Créer Edge.List :
while Node.List is not empty do
Tirer i, j uniformément dans Node.List et sans remise
Edge.List ← concatenate(Edge.List, {i, j})
Remarque. Il faut garder à l’esprit que les degrés des nœuds sont une caractérisation
très partielle du réseau et que des réseaux très différents peuvent avoir des suites de
degrés de nœuds très similaires.
14
Algorithm 2.2: Algorithme de re-branchement
//Entrée : Edge.List ; Nb.iter
//Sortie : Edge.List
while Nb.iter ≥ 1 do
Choisir e1 = {u1 , v1 } et e2 = {u2 , v2 } uniformément dans Edge.List
Proposer la création de e01 = {u1 , v2 }, e02 = {u2 , v1 }
Si aucune boucle ni arête multiple créée : remplacer e1 , e2 par e01 , e02
Nb.iter ← Nb.iter -1
arête ? Par exemple, les nœuds de fort degrés sont-ils reliés entre eux ou sont-ils
reliés à des nœuds de faible degré ?
On considère la distribution des variables (Di , Dj ) lorsque {i, j} ∈ E. Lorsque le
graphe est non dirigé, il faut faire attention car {i, j} et {j, i} représentent la même
arête.
Définition. (Distribution empirique de (Di , Dj ) pour {i, j} ∈ E). Soit G = (V, E)
un graphe non dirigé. Pour tout 1 ≤ k ≤ l, soit N (k, l) le nombre d’arêtes de
e = {i, j} ∈ E telles que di = k, dj = l ou di = l, dj = k. Alors la distribution
empirique de (Di , Dj ) pour {i, j} ∈ E ou fréquence de paire de degrés est donnée
par
N (k, l)/(2|E|) si k < l,
∀(k, l) ≥ 1, fkl = N (l, k)/(2|E|) si k > l,
N (kk)/|E| si k = l.
C’est une distribution symétrique.
Exemple de fréquence de paires de degrés.. Le graphe de la Figure 2.1 a
pour suite de degrés (4, 2, 3, 1, 0, 1, 1) soit une distribution empirique des degrés
f0 = 1/7, f1 = 3/7, f2 = f3 = f4 = 1/7. La fréquence empirique des paires de degrés
est donnée par f1,4 = f4,1 = 1/6, f1,3 = f3,1 = 1/12 = f2,3 = f3,2 = f4,2 = f2,4 =
f3,4 = f4,3 et tous les autres fk,l valent 0.
On peut représenter cette distribution par un carré de taille dmax où dmax =
max(di ) et la cellule (k, l) indique la valeur fk,l (en niveaux de couleur par exemple).
15
5
1
7
définis dans cette section. Comme pour les degrés, il s’agit de regarder l’environne-
ment local, en incluant cette fois les voisins à distance 2.
|E| D̄
den(G) = = .
|V |(|V | − 1)/2 (|V | − 1)
On fixe un nœud i avec Di voisins. Si toutes les arêtes possibles entre ces voisins
existent, on obtient Di (Di − 1)/2 arêtes. Dans ce cas, le rapport 2Ei /Di (Di − 1)
vaut 1. Sinon, ce rapport est positif, mais inférieur à 1.
Ainsi, on a
0 ≤ C̄ ≤ 1,
16
avec C̄ = 0 ssi chaque nœud est tel qu’aucun de ses voisins ne sont reliés par une
arête (le graphe ne contient aucun triangle, mais peut contenir des cycles de longueur
supérieure ou égale à 4) et C̄ = 1 ssi deux arêtes adjacentes dans le graphe forment
toujours un triangle.
Le coefficient de clustering global est relié à la densité des triangles parmi les
paires de relations dans le graphe. Les triangles traduisent les relations de transiti-
vité : importance par exemple dans les réseaux sociaux, etc. On peut aussi mesurer
directement cette densité des triangles par le coefficient de transitivité.
] triangles
T = .
] triplets de nœuds connectés
Dans G(n, p), puisque toutes les arêtes sont indépendantes, la probabilité que
deux voisins d’un nœud i soient connectés vaut p. Donc en moyenne, E(2|Ei | Di ) =
¯ En conséquence,
pDi (Di −1) ce qui donne E(Ci ) = p et E(C̄) = p ' E(Di )/n ' d/n.
dans G(n, p), le rapport c̄/d¯ doit être de l’ordre de 1/n. Dans les graphes réels, on
observe plutôt un rapport constant.
2.3 Motifs
Définition. Soient G = (V, E) et G0 = (V 0 , E 0 ) deux graphes. On dit que
0 0 0 0
• G est un sous-graphe de G (et on note G ⊂ G) si V ⊂ V et E ⊂ E.
0 0 0
• G est un sous-graphe induit de G lorsque G ⊂ G et E contient toutes les
17
est obtenu par simulations ou par un modèle défini analytiquement). Et répondre
ainsi à la question : le nombre d’occurrences de ce motif est-il trop faible ou trop
grand dans ce graphe ? (par rapport au modèle attendu).
Le diamètre d’un graphe G est la plus grande distance entre deux nœuds du graphe
diam(G) = max{`ij ; i, j ∈ V }.
18
telle que Cn est une composante connexe de Gn . Alors Cn est dite géante si sa taille
relative |Cn |/n ne tend pas vers 0 lorsque n devient grand.
Dans G(n, p), il existe des phénomènes de transition de phase que nous n’abor-
derons pas dans ce cours.
19
Exemples. Réseaux sociaux ’classiques’ où on sélectionne des individus (au sein
d’un groupe) et on les interroge sur leurs relations (amitiés, . . . ).
L’inconvénient majeur est que si l’on échantillonne ainsi dans un grand graphe
(ex Facebook) on obtient un graphe essentiellement vide !
L’échantillonnage par sous-graphe incident consiste en : on tire m arêtes au
hasard et sans remise parmi les m? arêtes existantes, chaque nœud incident à une
arête est inclus dans le graphe.
• potentiellement les degrés obtenus sont très faibles car on tire peu d’arêtes
Exemples. On réalise un sondage dans une population où on demande aux indi-
vidus de dire avec combien de personnes ils sont amis. On note ou pas le nom des
amis (version avec ou sans inclusion des nœuds supplémentaires incidents).
20
Exemples. Sondages de la topologie d’internet.
Ce type d’échantillonnage nécessite d’être capable de sélectionner (efficacement)
les chemins entre 2 nœuds.
E(N) = pN?
21
Chapitre 3
Dans tout ce chapitre, on ne considère que des graphes non dirigés (les arêtes
22
représentent des similarités ou des distances et sont donc symétriques).
23
sont présentes) à partir des sij . Ainsi, tous les nœuds vi , vj avec i 6= j sont connectés
et le poids de l’arête {vi , vj } est sij > 0. Le graphe ainsi construit est dense.
proches voisins) ;
• Soit {vi , vj } ∈ E dès que (vi , vj ) ∈ Ẽ et (vj , vi ) ∈ Ẽ (graphe des k plus
Remarques. • Le graphe des k plus proches voisins est une sorte de com-
du partitionnement que l’on obtient sur les points. Mais on ne sait pas quel
choix est meilleur a priori.
• Dans le cadre de ce cours, on dispose d’un graphe (binaire ou valué), qui est
déjà construit et qui définit les relations entre nos entités. On appliquera le
spectral clustering sur ce graphe.
24
des similarités). On note D la matrice diagonale (de taille n) dont la diagonale vaut
P P
(d1 , . . . , dn ), avec di est le degré valué du nœud i dans G, i.e. di = j Aij = j Aji
est la somme des poids des arêtes issues de i. (Le cas d’un graphe binaire est un cas
particulier du cas général que l’on décrit ici).
Pour tout vecteur (colonne) u ∈ Rn , on note u| le vecteur (ligne) transposé de u.
On note 1 le vecteur dont toutes les coordonnées valent 1 et I la matrice identité. Les
valeurs propres d’une matrice seront ordonnées de façon croissante (en respectant
les multiplicités). Ainsi, les ’k premiers vecteurs propres’ désignent les k vecteurs
propres associés aux k plus petites valeurs propres.
Rappels : une matrice L symétrique réelle est diagonalisable dans une base or-
thogonale de vecteurs propres et possède n valeurs propres réelles. Si la matrice est
en plus positive (i.e. pour tout u ∈ Rn , on a u| Lu ≥ 0) alors les valeurs propres sont
positives.
Nous commençons par définir la matrice laplacienne de graphe la plus simple et
par donner ses propriétés spectrales (i.e. valeurs propres et vecteurs propres associés).
L = D − A.
25
P P
(car j Aij = di et i Aij = dj ). Ceci prouve le point 1.
Comme D et A sont symétriques, la matrice L = D −A l’est aussi. D’après (3.1),
on a pour tout u ∈ Rn , u| Lu ≥ 0, donc L est positive. En conséquence, ses valeurs
propres sont réelles et positives, on les note λ1 ≤ λ2 ≤ · · · ≤ λn . Enfin, par définition
de L, on voit que 1 est un vecteur propre, associé à la valeur propre 0 (puisque
P
i Aij = di ).
Puisque Ai,j ≥ 0, la somme est nulle seulement si tous ses termes sont nuls, ie
seulement si pour tout 1 ≤ i, j ≤ n on a Aij (ui −uj )2 = 0. Si l’arête {vi , vj } ∈ E alors
le poids Aij est non nul et nécessairement ui = uj . Donc le vecteur propre u ∈ Rn est
constant sur les coordonnées correspondant à des nœuds connectés dans le graphe.
Par définition d’une composante connexe (tous les nœuds dans la composante sont
connectés), et puisqu’on a une seule composante connexe (cas k = 1), on a ui = cte
pour tout i ∈ {1, . . . , n}. Donc u est proportionnel à 1, i.e. le vecteur 1 engendre
l’espace propre associé à la valeur propre 0.
26
Si k ≥ 2. Soient C1 , . . . , Ck ⊂ {v1 , . . . , vn } les composantes connexes du graphe
G. Sans perte de généralité, on peut supposer que les nœuds de V sont ordonnés
selon la composante à laquelle ils appartiennent. Alors, la matrice d’adjacence A a
une forme diagonale par blocs (puisque si vi , vj ne sont pas dans la même composante
connexe, alors Aij = 0). En conséquence, L = D − A a aussi une forme diagonale
par blocs
L1
L2
L= .
. .
.
Lk
Chacun des blocs Li (de taille ni × ni ) est une matrice laplacienne, associé au sous-
graphe Gi = (Ci , Ei ) ⊂ G induit par la i-ème composante connexe Ci (de cardinal
ni ) de G. L’ensemble des valeurs propres de L (= spectre de L) est la réunion des
spectres de chaque Li et les vecteurs propres correspondants sont formés par les
vecteurs propres de Li , augmentés de coordonnées nulles aux positions des autres
blocs. Comme pour chaque sous-graphe Gi , on a une seule composante connexe, le
résultat précédent nous dit que l’espace propre associé à la valeur propre 0 de Li est
engendré par 1Ci (dans Rni ). On obtient donc que l’espace propre associé à la valeur
propre 0 de L est engendré par les vecteurs 1C1 , . . . , 1Ck (en tant que vecteurs de
Rn cette fois).
Le laplacien L est intéressant car on peut faire facilement des calculs de spectre
et comprendre ce qui se passe. Cependant pour le clustering il ne donne pas les
meilleurs résultats numériques possibles et on lui préfère des versions normalisées.
LN = I − D−1/2 AD−1/2 .
27
• La multiplication à gauche par une matrice diagonale revient à multiplier les
vecteurs lignes de la matrice, tandis qu’une multiplication à droite multiplie
les vecteurs colonnes. Ainsi, D−1/2 AD−1/2 est la matrice dont chaque entrée
p
i, j vaut Aij / di dj . Ainsi,
1
..
. − √Aij .
LN =
di dj
1
Démonstration. Soit u ∈ Rn , on a
n
−1/2 −1/2
X X Aij
| |
u LN u = u (I − D AD )u = u2i − ui uj p
i=1 1≤i,j≤n
di dj
n n
1 X Aij X
= u2i − 2ui uj p + u2j
2 i=1
di dj j=1
1 X u
i uj 2
= Aij √ − p ,
2 1≤i,j≤n di dj
P P
car j A ij = d i et i Aij = di . On a donc prouvé le point 1.
On a LN D 1 = D1/2 1−D−1/2 A1 = D1/2 1−D−1/2 (d1 , . . . , dn )| = D1/2 (1−1) =
1/2
28
Proposition 3.4 (Nombre de composantes connexes de G et spectre de LN ). Soit
G un graphe valué dont les poids des arêtes sont positifs et LN la matrice laplacienne
normalisée définie ci-dessus. Alors la multiplicité de la valeur propre 0 de LN est
égale au nombre de composantes connexes du graphe G. Si on note C1 , . . . , Ck ⊂
{v1 , . . . , vn } ces composantes connexes et 1C1 , . . . , 1Ck les vecteurs indicatrices des
composantes (définis par 1Cl (i) = 1 si vi ∈ Cl et 1Cl (i) = 0 sinon), alors l’espace
propre associé à la valeur propre 0 est engendré par D1/2 1C1 , . . . , D1/2 1Ck .
Démonstration. En exercice.
Cette matrice Labs a exactement les mêmes vecteurs propres que LN . Si on note
0 = λ1 ≤ λ2 ≤ · · · ≤ λn les valeurs propres de LN alors les valeurs propres de Labs
sont 1 − λn ≤ . . . ≤ 1 − λ2 ≤ 1 − λ1 = 1. Attention : dans L, LN ce sont les petites
valeurs propres qui contiennent l’information intéressante alors que pour Labs on va
voir que ce sont les grandes valeurs propres, en valeur absolue !
29
Algorithm 3.1: Spectral clustering normalisé de Ng et al. (2001)
30
3.4 Exemples jouets
On considère ici le cas de quelques graphes remarquables : on étudie leur spectre
(avec L au lieu de LN ou de Labs car les calculs sont plus simples) et on essaye de
voir l’impact sur le principe du clustering.
Proposition 3.5. 1. Soit Kn le graphe complet sur n nœuds, alors les valeurs
propres du laplacien L associé sont : 0 de multiplicité 1 et n de multiplicité
n − 1.
2. Soient i, j deux nœuds de degré 1 qui partagent le même voisin k dans le
graphe G. Alors le vecteur u ∈ Rn défini par ui = 1, uj = −1 et ul = 0 pour
tout l ∈ {1, . . . , n} \ {i, j} est un vecteur propre du laplacien L associé à la
valeur propre 1.
3. Soit Sn le graphe en étoile sur n nœuds, alors les valeurs propres du laplacien
L associé sont : 0 de multiplicité 1, 1 de multiplicité n − 2 et n de multiplicité
1.
Donc si u est un vecteur propre pour la valeur propre λ, on a λu1 = (Lu)1 = nu1 .
Donc n est la seule autre valeur propre (elle a la multiplicité n − 1 et est associé à
n’importe quel vecteur orthogonal à 1).
2. Quitte à réordonner les nœuds du graphe, on peut écrire le laplacien sous la forme
1 0 −1 0 . . . 0
0 1 −1 0 . . . 0
−1 −1 dk ? ? ?
L= 0
.
0 ?
.. ..
. . ? ??
0 0 ?
31
3. On considère à présent le graphe en étoile Sn . Il est connexe donc 0 est valeur
propre de multiplicité 1, associée au vecteur propre 1. On numérote 1 le nœud au
centre de l’étoile et de 2 à n les nœuds au bout des branches. En appliquant le
résultat du point 2 pour les noeuds (i, i + 1) pour i allant de 2 à n − 1 (ce sont des
nœuds de degré 1 qui partagent le nœud 1 en commun), on obtient (n-2) vecteurs
u(i) associés à la valeur propre 1. On vérifie qu’ils sont linéairement indépendants
(écrire n−1 (i)
P
i=2 αi u = 0 et voir que nécessairement αi = 0).
Enfin pour trouver la dernière valeur propre λ, on utilise T r(L) = ni=1 λi =
P
Conséquences.
• Le résultat pour Kn indique que si on fait un clustering des lignes de U avec
k > 1 groupes, on n’obtient rien qui fasse du sens. C’est normal puisqu’il n’y
a qu’une seule communauté dans Kn .
• Pour Sn , le clustering spectral trouve soit une seule communauté, soit n − 1
32
• Le graphe des k plus proches voisins mutuel tend à connecter entre eux des
points dans des régions de densité constante (comme la version simple) mais
ne connecte pas entre elles des régions proches mais de densité différente. En
ce sens, c’est un compromis entre -voisinage et k plus proches voisins simple.
• Les graphes des k plus proches voisins sont plus faciles à manipuler que le
graphe construit avec une similarité gaussienne (qui lui est dense). Il peuvent
donc être préférables ; mais attention à la perte d’information : on peut par
exemple avoir plus de composantes connexes dans ces graphes que de clusters
désirés !
• Recommandations empiriques pour les choix des paramètres :
— prendre k de l’ordre de log(n) pour le graphe des k-plus proches voi-
sins simple et plus grand (sans règle explicite) pour le graphe des k-plus
proches voisins mutuel. Il faut de toute façon regarder le nombre de com-
posantes connexes obtenues, le comparer au nombre de clusters voulus et
ajuster en conséquence.
— prendre tel que le graphe résultant soit connecté.
— pas de bonne règle pour le choix de σ dans la similarité gaussienne.
• On a vu que si le graphe a p composantes connexes, alors l’espace propre
associé à la valeur propre 0 a pour dimension p et est engendré par les indi-
catrices des clusters. Cependant, la sortie d’un algorithme de décomposition
spectrale est n’importe quelle base orthogonale de vecteurs propres de cet
espace (i.e. pas forcément la base des vecteurs d’indicatrices mais une base
issue d’une combinaison linéaire de celle-ci). Par contre, le k-means sur ces
vecteurs permet d’obtenir simplement les clusters. (En fait, la matrice U n’a
que k lignes différentes, on peut faire le clustering visuellement).
• Le choix du nombre de clusters k est un problème récurrent du clustering. Ici,
pas de modèle probabiliste donc pas de critère type BIC ou reposant sur une
vraisemblance mais on peut utiliser d’autres critères ad-hoc type ’similarité
intra-groupes et inter-groupes’. Une technique courante consiste à utiliser
l’heuristique du ’trou des valeurs propres’ (eigengap) : on choisit le nombre
de clusters k par
k̂ = Argmax λj+1 (LN ) − λj (LN ).
1≤j≤n−1
33
Chapitre 4
Nous avons déjà vu le modèle G(n, p) et constaté qu’il s’ajustait mal sur les
réseaux réels observés (hypothèses d’indépendance entre les arêtes et uniformité de
la probabilité de connection dans le graphe trop restrictives).
On commence par présenter 2 modèles qui apparaissent souvent dans la littérature
et qui ne sont pas liés à un point de vue type classification des nœuds. Le reste de ce
chapitre sera consacré aux modèles probabilistes de classification des noeuds d’un
graphe.
34
Dans ce modèle, S(A) devient automatiquement un vecteur de statistiques ex-
haustives du modèle. Tous les graphes ayant la même valeur observée de S ont la
même probabilité d’occurrence sour ERGM(S). En pratique, S(A) peut contenir le
nombre d’arêtes, de triangles, de k-stars, . . . ou encore des covariables du modèle.
Dans la suite, on utilise des notations de graphe non dirigé mais tout est généralisable
au cas des graphes dirigés.
Exemple . Soit S0 (A) = vec(A) = vec((Aij )1≤i<j≤n ) alors le ERGM(S0 ) correspon-
dant vérifie
X
Pθ (A) ∝ exp( θij Aij ),
i<j
où ∝ signifie ’proportionnel à’. C’est un modèle de variables aléatoires Aij indépendantes
non identiquement distribuées avec Ai,j ∼ B(pij ) et pij = exp(θij )/(1 + exp(θij )).
C’est un modèle qui a autant de paramètres que d’observations, donc pas très pra-
tique.
Si on impose la contrainte θij = θ pour tout i, j, alors on obtient le modèle d’Erdös-
Rényi
Pθ (A) ∝ exp(θS1 (A)),
P
où S1 (A) = i,j Aij est le nombre d’arêtes du modèle et p̂ = S1 (A)/[n(n − 1)/2].
P
Si S(A) = (S1 (A), S2 (A)) avec S1 comme ci-dessus et S2 (A) = i,j,k Aij Aik alors
les variables (Aij )i<j sont non indépendantes et on n’a pas d’expression analytique
pour l’EMV.
P
Soit k ≥ 1 et Sk (A) le nombre de k-stars du graphe A et T (A) = ijk Aij Aik Ajk le
nombre de triangles. Dans les Markov random graph, on utilise S = (S1 , . . . , Sn−1 , T ).
En pratique, aller jusque k = n − 1 est beaucoup trop grand et on se contente de
k << n − 1 pour la plupart des ERGM courants.
Problèmes du ERGM.
• La constante c(θ) n’est pas calculable. Les méthodes d’estimation sont basées
sur des méthodes MCMC avec par exemple un échantillonneur de Gibbs pour
supprimer le problème de la constante inconnue.
• La maximisation de la vraisemblance reste un pbm difficile, et en fait mal
posé : ces modèles sont souvent ’dégénérés’ au sens où cette loi concentre sa
masse sur le graphe complet ou le graphe vide, ou un mélange des deux. Voir
Chatterjee and Diaconis (2013); Schweinberger and Handcock (2015) pour
plus de détails.
Dans ce cours, je déconseille fortement l’usage des ERGMs.
35
4.1.2 Attachement préférentiel
Il s’agit d’un modèle dynamique d’évolution des graphes, qui illustre le concept
Rich get richer.
Principe : on commence avec un petit graphe initial G0 = (V0 , E0 ) et la suite de
degrés associés (d1,0 , . . . , d|V0 |,0 ) ; on fabrique une suite croissante de graphes Gt =
(Vt , Et ). Pour cela, on itère les étapes suivantes pour chaque t ≥ 1,
• un nouveau nœud it de degré m ≥ 1 est ajouté au réseau et Vt = Vt−1 ∪{it } =
V0 ∪ {i1 , . . . , it }.
• Ce nouveau nœud se connecte avec m nœuds existants qui sont choisis chacun
avec probabilité dj,t−1 /(2|Et−1 |) où dj,t est le degré du nœud j au temps t et
2|Et | la somme totale des degrés au temps t (attachement préférentiel aux
nœuds de degrés les plus élevés),
• On met à jour les degrés dj,t pour j ∈ Vt .
Avantages et inconvénients.
• C’est un model génératif dynamique.
sous certaines conditions, la distribution des degrés du graphe suit une loi de
puissance.
• Problème du choix des paramètres G0 , m, Tf inal . Impact de ce choix sur le
graphe obtenu ?
• D’un point de vue statistique, ce n’est pas un modèle qu’on peut ajuster sur
les données.
36
le produit des lois de chaque Xi conditionnelle à Zi uniquement. On fait ainsi une
hypothèse d’indépendance conditionnelle des observations.
n
Y
P((Xi )1≤i≤n |(Zi )1≤i≤n ) = P(Xi |Zi ).
i=1
Lorsque les (Zi )1≤i≤n sont indépendantes, on obtient alors que les (Xi )1≤i≤n sont
aussi des variables indépendantes (mais non identiquement distribuées). Il s’agit des
modèles de mélange (finis lorsque les Zi sont à valeurs finies). Lorsque les (Zi )1≤i≤n
forment une chaı̂ne de Markov, alors les (Xi )1≤i≤n ne sont plus indépendantes (seule-
ment conditionnellement indépendantes) et on obtient les chaı̂nes de Markov cachées.
Dans toute la suite, on va donc supposer qu’il existe des variables (Zi )1≤i≤n
indépendantes et identiquement distribuées (iid), à valeurs continues ou discrètes et
finies, telles que la loi conditionnelle des (Aij )1≤i,j≤n sachant les (Zi )1≤i≤n vérifie
Y
P((Aij )1≤i,j≤n |(Zi )1≤i≤n ) = P(Aij |Zi , Zj ).
1≤i,j≤n
Il faut remarquer que même si les Zi sont indépendantes, les Aij ne le sont plus
du tout : la structure de dépendance entre les variables aléatoires est compliquée
par le fait que par exemple Aij et Aik dépendent tout les deux de la même variable
latente Zi (voir Figure 4.1).
37
Z1 Z2 · · · Zi · · · Zj · · · Zn−1 Zn
Figure 4.1 – Dépendances entre les variables d’un modèle à variables latentes pour
graphes.
on écrit donc
Z Z
L(θ) =Pθ ((Aij )1≤i,j≤n ) = ... Pθ ((Aij )1≤i,j≤n , Z1 = z1 , . . . , Zn = zn )dz1 . . . dzn
z1 zn
Z n
Z Y Y
= ... Pθ (Zi = zi ) × Pθ (Aij |Zi = zi , Zj = zj )dz1 . . . dzn .
z1 zn i=1 i,j
En pratique, si les Zi sont à valeurs dans {1, . . . , Q}, les intégrales ci-dessus sont des
sommes et on a Qn termes à sommer. Lorsque n n’est pas très petit (n ≥ 10), cette
somme n’est pas accessible numériquement en un temps raisonnable. Si les Zi sont à
valeurs continues, on peut approcher les intégrales en les discrétisant (par exemple
sur Q points) et le problème reste exactement le même.
Dans un modèle à variables latentes, il n’est pas possible (en général) de faire un
calcul efficace de la vraisemblance. L’estimation des paramètres se fait généralement
en utilisant l’algorithme EM (expectation-maximization) qui approche l’estimateur
du maximum de vraisemblance.
38
À chaque itération, la vraisemblance (observée) augmente. En effet, par construc-
tion on sait que Q(θk+1 , θk ) ≥ Q(θk , θk ), i.e :
Pθk+1 (S1:n , X1:n ) Pθk+1 (S1:n , X1:n )
0 ≤Eθk log X1:n ≤ log Eθk X1:n
Pθk (S1:n , X1:n ) Ineg. Jensen Pθk (S1:n , X1:n )
Z
Pθk+1 (S1:n = s1:n , X1:n )
= log Pθk (S1:n = s1:n |X1:n )ds1 . . . dsn
S n Pθk (S1:n = s1:n , X1:n )
Z
Pθk+1 (s1:n , X1:n ) P k+1 (X1:n )
= log ds1 . . . dsn = log θ .
Sn Pθk (X1:n ) Pθk (X1:n )
Ainsi, Pθk+1 (X1:n ) ≥ Pθk (X1:n ).
Donc l’algorithme EM converge (quand le nombre d’itérations augmente) vers un
maximum local de la vraisemblance. En lançant l’algorithme avec plusieurs initiali-
sations, on devrait atteindre le maximum global.
L’algorithme EM est particulièrement adapté au cas où les variables latentes sont
à valeurs finies. Nous reviendrons sur son application dans le cadre du modèle à
blocs stochastiques.
39
Le paramètre α règle la densité du graphe. Il faut remarquer que les variables
{Zi }i ne peuvent être reconstituées qu’à rotation, symétrie axiale et translation près.
En effet, chacune de ces opérations laisse l’ensemble des distances (kZi − Zj k)i,j
inchangé et donc ne modifie pas le modèle. On appelle configurations équivalentes
deux ensembles {Zi }i et {Zi0 }i qui induisent les mêmes valeurs de distances (kZi −
Zj k)i,j = (kZi0 − Zj0 k)i,j .
Ainsi, pour des valeurs des paramètres (α, β) fixées, deux configurations équivalentes
{Zi }i et {Zi0 }i induisent la même distribution sur les observations, et réciproquement,
si α et β sont fixés alors si on a deux ensembles de configuration {Zi }i et {Zi0 }i qui
induisent la même loi alors les configurations sont équivalentes.
40
4.4 Espaces latents discrets : Modèles à blocs sto-
chastiques (stochastic block model)
4.4.1 Le modèle
Dans cette section, les variables latentes Z := {Z1 , . . . , Zn } sont i.i.d. à valeurs
finies dans {1, . . . , Q} et de loi π = (π1 , . . . , πQ ). Il sera parfois pratique de voir
plutôt Zi comme un vecteur de taille Q de la forme Zi = (Zi1 , . . . , ZiQ ) dont les
coordonnées sont dans {0, 1}, somment à 1 et tel que Zi est de loi multinomiale
M(1, π).
On va décrire le modèle à blocs stochatiques (SBM) dans le cadre d’un graphe
non dirigé mais les notations se généralisent facilement au cas dirigé. On considère
donc la matrice d’adjacence d’un graphe non dirigé A := {Aij }1≤i<j≤n constitué de
variables aléatoires Aij ∈ A (cas binaire ou valué), qui caractérisent les relations
entre les nœuds i et j.
Comme précédemment, conditionellement aux variables latentes Z = {Zi }1≤i≤n ,
les variables A = {Aij }i,j sont indépendantes et la distribution de chaque Aij ne
dépend que de Zi et Zj . On note F (·; γZi Zj ) cette distribution conditionnelle, où
γ = (γq` )1≤q,`≤Q est appelé paramètre de connectivité. C’est une matrice symétrique
dans le cas d’un graphe non dirigé puisque γq` = γ`q . Le paramètre γq` décrit la loi
des interactions entre des nœuds des groupes q et `.
Ainsi, le modèle à blocs stochastiques est caractérisé par
Pour les graphes valués, on peut utiliser pour modéliser la loi conditionnelle de
Aij sachant Zi , Zj n’importe quelle loi paramétrique qui dépend seulement de Zi , Zj
(ex : Poisson, Gaussienne, Laplace, . . . ). Cependant, si cette loi est absolument
continue par rapport à la mesure de Lebesgue, on récupère un graphe valué dense,
41
ce qui n’est pas toujours adéquat. Pour pallier ce problème, on introduit un mélange
avec une masse de Dirac en 0 (notée δ0 (·)) qui modélise les arêtes absentes. Ainsi,
∀y ∈ A, F (y; γ) = αG(y, η) + (1 − α)δ0 (y),
où le paramètre de connectivité γ = (α, η) avec α ∈ [0, 1] et G(·, η) est la loi
conditionnelle sur les valeurs des arêtes présentes.
Pour des raisons d’identifiabilité, il est préférable de restreindre G à être une loi
absolument continue en 0. En effet, dans le cas contraire, on ne peut pas identifier
α. Si G est absolument continue en 0, alors on a αq` = 1 − P(Yij = 0|Zi = q, Zj = `).
Si on veut utiliser une loi de Poisson par exemple, on utilise pour G la loi de Poisson
tronquée en 0. Les valeurs nulles de Yij sont ainsi dues uniquement à la masse
de Dirac δ0 et on obtient une loi dite à inflation ou à déflation de zéros.
L’avantage étant que la densité du graphe n’est pas nécessairement liée à la valeur
moyenne des arêtes présentes.
Si tous les αq` valent 1, le graphe est dense (toutes les arêtes sont présentes).
Ainsi les αq` sont des paramètres de densité du graphe. Si tous les αq` valent 0, on
obtient un graphe vide (ie sans arêtes), ce qui n’est pas très intéressant.
Lorsque la loi G(·, η) est une masse de Dirac en 1 (indépendante de η), on re-
trouve le SBM binaire. Le seul paramètre de la loi conditionnelle est alors α. Les cas
classiques pour le choix de G sont : une loi de Poisson tronquée en 0, une gaussienne
(multivariée), etc.
Dans le cas non binaire, on peut (pour des raisons de parcimonie), supposer que
tous les αq` sont constants (égaux à un certain α fixé). Alors, la densité des arêtes
est homogène dans le graphe, seule leur intensité (ie la valeur de Aij ) va varier en
fonction des groupes (q, `).
Dans la suite, on note le paramètre global du modèle θ = (π, γ) = (π, α, η) =
((π1 , . . . , πQ ); (αq` )q,` ; (ηq` )q,` ). La vraisemblance du modèle s’écrit
Q Q
X X
Pθ (A) = ... Pθ (A, Z1 = z1 , . . . , Zn = zn )
z1 =1 zn =1
Q Q n Y
X X Y
= ... πz i × F (Aij ; γzi zj )
z1 =1 zn =1 i=1 i,j
Q Q Q n Y Y
X X YY
= ... πqziq × ziq zj`
F (Aij ; γq` ) ,
z1 =1 zn =1 q=1 i=1 1≤q,`≤Q i,j
42
Cas particulier : affiliation (planted partition model). Liens avec la détection
de communauté. Lorsque le paramètre de connectivité γ ne prend que deux va-
leurs différentes : une valeur intra-groupes et une valeur inter-groupes, on parle de
modèle d’affiliation (ou parfois, dans le cas binaire, de ’planted partition model’). Il
s’agit d’un sous-modèle où on contraint :
γin lorsque q = `,
∀1 ≤ q, ` ≤ Q, γq` = (4.2)
γout lorsque q 6= `.
4.4.2 L’algorithme EM
Nous avons vu qu’une façon d’approcher le maximum de vraisemblance dans un
modèle à variables latentes est d’utiliser l’algorithme EM. Cependant, l’étape E de
l’algorithme requiert de pouvoir calculer facilement la loi des observations {Aij }i,j
sachant les variables latentes {Zi }i . C’est le cas par exemple pour des modèles de
mélange finis classiques (pas sur des graphes), ou dans les modèles de Markov cachés.
43
Dans le cas de variables latentes sur des graphes où chaque observation Aij dépend
de deux variables latentes Zi , Zj ce n’est plus possible.
Définition. Dans un graphe dirigé, les parents d’un nœud j ∈ V sont tous les
nœuds i ∈ V tels qu’il existe une arête orientée de i vers j. Les descendants du
nœud i ∈ V sont tous les nœuds j ∈ V tels qu’il existe un chemin orienté de i vers
j.
ie on a Y
P({Xi }i∈V ) = P(Xi |pa(Xi , G)),
i∈V
44
S1 ··· Sk−1 Sk Sk+1 ··· Sn
Figure 4.3 – Graphe acyclique dirigé (haut) et graphe moral (bas) correspondant
à un modèle de Markov caché.
avec des données organisées sous forme de graphes. Les variables aléatoires Xi
ne traduisent pas (a priori) des interactions entre des entités. Le graphe est
un objet abstrait qui structure la dépendance entre les variables aléatoires.
• Si P se factorise selon un DAG G, alors G n’est pas unique en général.
σ(1)
σ(2) σ(3)
Figure 4.4 – DAG qui factorise n’importe quelle distribution sur 3 variables. Ici σ
est n’importe quelle permutation de {1, 2, 3}.
45
on note desc(Xi , G) l’ensemble des descendants de Xi dans G et si K est un
sous-ensemble de V tel que K ∩ desc(Xi , G) = ∅, alors
• ...
X1 X4 X1 X4
X2 X2
X3 X5 X6 X3 X5 X6
et ainsi
46
et on obtient au final
n
Y
P(S1 , . . . , Sn |X1 , . . . , Xn ) = P(Sk |Sk−1 , Xk , . . . Xn ) × P(S1 |X1 ).
k=2
Ainsi, la loi des variables latentes sachant les observations est celle d’une chaı̂ne de
Markov (inhomogène). La forme factorisée de cette loi la rend aisément manipulable.
Aij n’est pas factorisée ! (Alors que c’est le cas pour un modèle de mélange, pour les
HMMs, etc). C’est cette propriété qui empêche d’appliquer l’algorithme EM ici.
A12 A12
Z1 Z2 Z1 Z2
Figure 4.6 – À gauche : DAG d’un modèle à variable latentes pour un graphe
(n = 3). À droite : graphe moral associé.
47
La log-vraisemblance des observations peut se décomposer sous la forme
LA (θ) := log Pθ (A) = log Pθ (A, Z) − log Pθ (Z|A).
Si Q est une distribution de probabilité sur l’ensemble des variables {Zi }i , on peut
prendre l’espérance par rapport à Q de chaque côté de l’égalité précédente et on
obtient
LA (θ) = EQ (log Pθ (A, Z)) − EQ (log Pθ (Z|A)).
En notant H(Q) l’entropie de la loi Q et KL(QkPθ (Z|A)) la divergence de Kullback-
Leibler entre les lois Q et Pθ (Z|A), c’est-à-dire
X
H(Q) = − Q(z) log Q(z) = −EQ (log Q(Z))
z
X Q(z) Q(Z)
KL(QkPθ (Z|A)) = Q(z) log = EQ log ,
z
Pθ (z|A) Pθ (Z|A)
on obtient alors l’égalité suivante
LA (θ) = EQ (log Pθ (A, Z)) + H(Q) + KL(QkPθ (Z|A)). (4.3)
Partant de cette relation (4.3), l’algorithme EM (qui cherche à maximiser LA (θ))
consiste à itérer les deux étapes suivantes. À partir de la valeur courante du pa-
ramètre θ(t) , on effectue
• E-step : on maximise la quantité EQ (log P (t) (A, Z)) + H(Q) par rapport à
θ
Q. D’après (4.3), puisque LA (θ (t) ) ne dépend pas de Q, c’est équivalent à
minimiser KL(QkPθ(t) (Z|A)) par rapport à Q. La solution optimale est donc
la loi conditionnelle Pθ(t) (Z|A) pour la valeur courante du paramètre θ (t) ;
• M-step : on garde à présent Q fixé et on maximise la quantité EQ (log Pθ (A, Z))+
48
Lorsque la vraie loi Pθ (Z|A) n’est pas manipulable (par exemple parce que ce
n’est pas une loi factorisée), la solution exacte du E-step ne peut pas être calculée.
Dans l’approximation variationnelle, au lieu de calculer la solution exacte à l’étape
E, on va chercher une solution optimale dans une classe restreinte de distributions,
par exemple dans la classe des lois factorisées (et l’étape M reste inchangée mais
utilise la solution approchée Q de l’étape dite VE pour variational-expectation).
Au final, on peut remarquer en reprenant (4.3) et en utilisant le fait qu’une
divergence de Kullback-Leibler est toujours positive (par l’inégalité de Jensen), qu’on
a la borne inférieure suivante
LA (θ) ≥ EQ (log Pθ (A, Z)) + H(Q) := J (Q, θ). (4.4)
Ainsi, l’approximation variationnelle optimise une borne inférieure de la log-vraisemblance
(J (Q, θ) optimisée d’abord en Q puis en θ). On n’a aucune garantie d’approcher
l’estimateur de maximum de vraisemblance avec cette procédure. En général, on ne
l’approche d’ailleurs pas. Dans le cas particulier du SBM, cette procédure fonctionne
cependant très bien empiriquement et il existe également des résultats théoriques
qui justifient son utilisation.
Ainsi, dans le cas du modèle à blocs stochastiques, on prend donc pour Q une
loi factorisée (i.e. marginales indépendantes)
n Q
n Y
Z
Y Y
Q(Z) = Qi (Zi ) = τiq iq ,
i=1 i=1 q=1
P
où τiq = Qi (Zi = q) = EQ (Ziq ), avec q τiq = 1 pour tout i.
L’approximation variationnelle est parfois appelée approximation champ moyen
parce que tout se passe comme si dans l’approximation de la loi conditionnelle de Zi
sachant les observations, toutes les autres variables {Zjq }j6=i,q étaient fixées à leur
moyennes (conditionnelles) τjq . Les paramètres τiq sont appelés paramètres variation-
nels. Ils représentent l’approximation de la probabilité que le nœud i appartienne au
groupe q. À la fin de l’algorithme VEM (pour variational expectation maximization),
on peut utiliser un maximum a posteriori pour retrouver les groupes latents et faire
la classification
∀1 ≤ i ≤ n, Ẑi = Argmax τiq .
1≤q≤Q
49
En prenant l’espérance par rapport à la loi Q de cette quantité, puisque EQ (Ziq Zj` ) =
τiq τj` (propriété d’indépendance sous la loi Q) et EQ (Ziq ) = τiq (par définition), on
obtient l’expression suivante
Q n
X X X X
EQ (log Pθ (A, Z)) = τiq log πq + τiq τj` log F (Aij ; γq` ).
q=1 i=1 1≤q,`≤Q i,j
et on alterne une maximisation de J par rapport aux τiq avec une maximisation par
rapport aux paramètres θ = (π, γ).
Ainsi, à l’étape E, on maximise cette quantité par rapport aux paramètres varia-
tionnels τiq pour une valeur θ fixée. En cherchant les points critiques (ne pas oublier
P
les contraintes ∀i, q τiq = 1), on obtient que la solution τ̂ = {τ̂iq }i,q vérifie une
équation de point fixe
Q
YY
∀1 ≤ i ≤ n, ∀1 ≤ q ≤ Q, τ̂iq ∝ πq [F (Aij ; γq` )]τ̂j` ,
j `=1
où ∝ signifie ’proportionnel à’ (la constante est obtenue à partir de la contrainte de
oi de probabilité !).
À l’étape M, on doit maximiser en θ = (π, γ) cette même quantité. Concernant
la maximisation par rapport aux πq , on obtient facilement
n
1X
∀1 ≤ q ≤ Q, π̂q = τiq .
n i=1
P
(Ne pas oublier la contrainte q π̂q = 1). Pour ce qui est de la maximisation en les
γq` , cela dépend de la famille de lois F (·; γ) que l’on considère. Prenons le cas simple
d’un graphe binaire (non dirigé) où F (·; γ) est une loi de Bernoulli de paramètre α.
Alors on doit maximiser par rapport aux αq` la quantité,
A
X X
τiq τj` log[αq`ij (1 − αq` )1−Aij ]
1≤q,`≤Q i<j
X X h i
= τiq τj` Aij log αq` + (1 − Aij ) log(1 − αq` ) .
1≤q,`≤Q i<j
50
La solution s’obtient simplement avec
P
i6=j τiq τj` Aij
α̂q` = P .
i6=j τiq τj`
Il s’agit de la fréquence moyenne des arêtes entre les groupes q, `. En fait, puisque
chaque τiq estime la probabilité que le nœud i appartienne au groupe q, on estime les
paramètres d’interaction γql en utilisant les interactions Aij pondérées par le poids
τiq τj` . Par exemple si on veut estimer la valeur moyenne de la loi conditionnelle
G(·; ηq` ), notée mq` on trouvera en cherchant les points critiques de la quantité à
maximiser P
i6=j τiq τj` Aij
m̂q` = P .
i6=j τiq τj` 1Aij 6=0
(Attention ici pour estimer la moyenne de la loi conditionnelle G(·; ηq` ), on ne prend
en compte que les arêtes présentes, c’est-à-dire Aij 6= 0).
Ici, Q̂, θ̂ sont les quantités obtenues à la fin des itérations de VEM (ou plus précisément
à la fin de la meilleure itération de VEM quand on a fait plusieurs initialisations, ce
qui est recommandé).
Là encore, l’expression de la pénalité va dépendre du choix de la famille de lois
F (·; γ) que l’on considère. La forme générale du critère est
1 1 n(n − 1)
ICL(Q) := EQ̂ (log P(A, Z; θ̂)) − (Q − 1) log n − dim(γ) log ,
2 2 2
où dim(γ) est la dimension du paramètre γ = (α, η).
Par exemple, dans le cas d’un graphe binaire, on a γ = (αql )q,` est de dimension
Q(Q + 1)/2. Si F (·; γ) est le mélange entre une Dirac en 0 et une loi de Poisson
(tronquée en 0), de paramètre η, on obtient γ = (αq` , ηq` )q,` qui est de dimension
51
Q(Q + 1). Si par souci de parcimonie on a imposé que les paramètres de densité du
graphe αq` sont constants pour tous les groupes q, ` alors on a γ = (α; (ηq` )q,` ) qui
est de dimension 1 + Q(Q + 1)/2.
Noter que dans l’expression de l’ICL, le premier terme de pénalité 1/2(Q−1) log n
pénalise pour le paramètre π = (πq )1≤q≤Q (de dimension Q − 1) et qui porte sur
n variables Z1 , . . . , Zn ; tandis que le second terme vient pénaliser le paramètre
d’interaction γ et se fonde lui sur n(n − 1)/2 observations, à savoir les {Ai,j }i<j .
Finalement, on va sélectionner le nombre de groupes Q en se fixant une borne
Qmax et en utilisant
Q̂ = Argmax ICL(Q).
1≤Q≤Qmax
Aucun résultat théorique n’existe sur les propriétés asymptotiques de ce critère, mais
ses performances empiriques sont très bonnes.
52
Bibliographie
Albert, R. and A.-L. Barabási (2002, Jan). Statistical mechanics of complex net-
works. Rev. Mod. Phys. 74, 47–97.
Erdős, P. and T. Gallai (1961). Graphs with points of prescribed degree. (Graphen
mit Punkten vorgeschriebenen Grades.). Mat. Lapok 11, 264–274.
Handcock, M., A. Raftery, and J. Tantrum (2007). Model-based clustering for so-
cial networks. Journal of the Royal Statistical Society : Series A (Statistics in
Society) 170 (2), 301–54.
Hoff, P., A. Raftery, and M. Handcock (2002). Latent space approaches to social
network analysis. J. Amer. Statist. Assoc. 97 (460), 1090–98.
53
Ng, A. Y., M. I. Jordan, and Y. Weiss (2001). On spectral clustering : Analysis and
an algorithm. In Advances in neural information processing systems, pp. 849–856.
MIT Press.
Rohe, K., S. Chatterjee, and B. Yu (2011). Spectral clustering and the high-
dimensional stochastic blockmodel. Annals of Statistics 39 (4), 1878–1915.
Zhang, Y., E. Kolaczyk, and B. Spencer (2015). Estimating network degree dis-
tributions under sampling : An inverse problem, with applications to monitoring
social media networks. The Annals of Applied Statistics 9 (1), 166–199.
54