Mod` eles graphiques
Guillaume Obozinski
INRIA - Ecole Normale Sup´erieure - Paris
E.S. Ecole des Mines, 16 avril 2010
Pourquoi des mod` eles graphiques?
Pourquoi des mod` eles graphiques?
BUT: Repr´esenter la structure d’une distribution sur un grand nombre de variables
Apprentissage Statistique: #{variables}grand par rapport
#{donn´ees}
Combien de param`etres faut-il pour mettre une distribution sur {0,1}p?
Exemples: grid-MRF, alarme d’anesth´esie, r´eseau de capteurs, distribution jointe de marqueurs g´en´etiques.
Concepts
Esp´erance, Variance, Covariance
La loi Gaussienne, Gaussienne multivari´ee, param`etres µ,Σ R`egle de Bayes
Ind´ependance Conditionelle Chaˆıne de Markov
Regularisation
statistiques bay´esiennes vs statistiques fr´equentistes K-moyennes
Distance de Kullback-Leibler Vraisemblance
Maximum de vraisemblance
Outline
1 Cadre
2 Mod`ele Graphique Orient´es
3 Champs de Markov
4 Op´erations sur les mod`eles graphiques
5 Inf´erence:l’Algorithme Somme-Produit
6 Mixture Gaussienne et Algorithme EM
7 Mod`ele Graphique Gaussien
8 Chaˆınes de Markov Cach´ees
Notations
G = (V,E) un graphe.
A chaque noeud du graphei ∈E on associe une variable al´eatoire Xi.
On note ses valeurs xi.
Si A⊂E est un ensemble de noeuds on notera XA = (Xi)i∈A et xA= (xi)i∈A.
Distributions de probabilit´ e
Probabilit´e jointe sur les variables X1, . . . ,Xp: p(x1,x2,x3, . . . ,xp).
Soit Xi ∈ {1, . . . ,K}et p(x1, . . . ,xp) =P(X1 =x1, . . . ,Xp=xp) Soit (X1, . . . ,Xp) admet une densit´e dansRn
Marginalisation
p(x1) =X
x2
p(x1,x2) Factorisation
p(x1, . . . ,xp) =p(x1)p(x2|x1)p(x3|x1,x2). . .p(xp|x1, . . . ,xn−1) Ind´ependance
X⊥⊥Y ⇔ p(x,y) =p(x)p(y) Ind´ependance Conditionelle
X⊥⊥Y |Z ⇔ p(x,y|z) =p(x|z)p(y|z)
Outline
1 Cadre
2 Mod`ele Graphique Orient´es
3 Champs de Markov
4 Op´erations sur les mod`eles graphiques
5 Inf´erence:l’Algorithme Somme-Produit
6 Mixture Gaussienne et Algorithme EM
7 Mod`ele Graphique Gaussien
8 Chaˆınes de Markov Cach´ees
Mod` ele graphique orient´ e
ou R´eseau bay´esienp(a,b,c) =p(a)p(b|a)p(c|b,a)
a
b
c
p(x1,x2) =p(x1)p(x2)
x1 x2
p(x1,x2,x3) =p(x1)p(x2|x1)p(x3|x2)
x1 x2 x3
a⊥⊥b |c
c
a b
Mod` ele graphique orient´ e
ou R´eseau bay´esienp
Y
j=1
p(xj|xΠj)
x1
x2 x3
x4 x5
x6 x7
p(x1)
M
Y
j=2
p(xj|xj−1)
x1 x2 xM
Le Sprinkler
R S
G
R= 1: il a plu
S = 1: le sprinkler a fonctionn´e G = 1: le gazon est mouill´e
P(S = 1) = 0.5 P(R = 1) = 0.2 P(G = 1|S,R) R=0 R=1
S=0 0.01 0.8
S=1 0.8 0.95
Si on observe que le gazon est mouill´e, R et S sont ils ind´ependents?
Le Sprinkler II
S R
G
P R= 1: il a plu
S= 1: le sprinkler a fonctionn´e G= 1: le gazon est mouill´e P= 2: les pattes sont mouill´ees P(S = 1) = 0.5 P(R = 1) = 0.2
P(G = 1|S,R) R=0 R=1
S=0 0.01 0.8
S=1 0.8 0.95
P(P = 1|G) G=0 G=1 0.2 0.7
Factorisation et Ind´ ependance
Une factorisation impose des assertions d’ind´ependance
∀x, p(x) =
p
Y
j=1
p(xj|xΠj) ⇔ ∀j, Xj⊥⊥X{1,...,j−1}\Πj |XΠj Est-il possible de lire sur le graphe n’importe laquelle de toutes les assertions d’ind´ependance qui sont valides compte tenu de la factorisation?
X5⊥⊥? X2|X4
x1
x2 x3
x4 x5
x6 x7
Noeuds bloquants
arcs divergents arcs suivis arcs convergents
c
a b
a c b
c
a b
=
a⊥⊥b a⊥⊥b a⊥⊥b
c
a b
a c b
c
a b
= =
a⊥⊥b |c a⊥⊥b|c a⊥⊥b |c
d-s´ eparation
f
e b
a
c
Th´eor`eme
Soit A,B et C trois ensembles de noeuds disjoints. On a XA⊥⊥XB|XC si tous les chemins joignantA `aB traversent au moins un noeud bloquant ce chemin. Un noeudj bloque un chemin
si les arcs du chemin sont divergent/suivis etj ∈C
si les arcs du chemin sont convergent et nij ni aucun de ses descendant n’est dans C
Factorisation et Ind´ ependance II
Plusieurs graphes peuvent induire le mˆeme ensemble d’ind´ependences conditionelles.
c
a b
a c b
Certaines combinaisons d’ind´ependances conditionelles ne peuvent pas ˆetre repr´esent´ees par un mod`ele graphique.
Quel est le plus petit ensembleC de noeuds tel que
conditionellement `aXC,j est ind´ependant de tous les autres noeuds du graphe?
Outline
1 Cadre
2 Mod`ele Graphique Orient´es
3 Champs de Markov
4 Op´erations sur les mod`eles graphiques
5 Inf´erence:l’Algorithme Somme-Produit
6 Mixture Gaussienne et Algorithme EM
7 Mod`ele Graphique Gaussien
8 Chaˆınes de Markov Cach´ees
Champ de Markov
ouMod` ele graphique non-orient´ e
Peut-on d´efinir une s´emantique telle que l’ind´ependance conditionnelle co¨ıncide exactement avec la s´eparation dans un graphe?
Propri´et´e de Markov Globale
XA⊥⊥XB |XC ⇔C s´epare Aet B
A
C B
Distribution de Gibbs
Clique Ensemble de noeuds tous connect´es les uns aux autres.
Potentiel Le potentielψC(xC)≥0 associ´e `a une clique C. Distribution de Gibbs
p(x) = 1 Z
Y
C
ψC(xC)
Fonction de partition Z =X
x
Y
C
ψC(xC)
x1
x2
x3
x4
Potentiels sous forme exponentielle: ψC(xC) = exp{−E(xC)}. E(xC) est unterme d’´energie.
On parle alors dedistribution de Boltzmann.
Champ de Markov sur la grille
Th´ eor` eme d’Hammersley-Clifford (1971)
Une distribution strictement positive satisfait la propri´et´e de Markov Globaleassoci´ee `a un grapheG si et seulement si c’est unedistribution de Gibbs associ´ee `a G.
distribution de Gibbs: PG : p(x) = 1 Z
Y
C∈CG
ψC(xC) propri´et´e de Markov Globale:
PM : XA⊥⊥XB |XC si C s´epare Aet B dansG Th´eor`eme
On a PG ⇒ PM et (HC): si∀x, p(x)>0, alorsPM ⇒ PG
Moralisation
Est-il possible de convertir un mod`ele orient´e en mod`ele non-orient´e?
p(x) = 1 Z
Y
C
ψC(xC) vs
M
Y
j=1
p(xj|xΠj)
x1 x3
x4 x2
x1 x3
x4 x2
“Marier” les parents
Les arbres orient´es sans arcs convergents sont ´equivalent aux arbres non-orient´es.
Outline
1 Cadre
2 Mod`ele Graphique Orient´es
3 Champs de Markov
4 Op´erations sur les mod`eles graphiques
5 Inf´erence:l’Algorithme Somme-Produit
6 Mixture Gaussienne et Algorithme EM
7 Mod`ele Graphique Gaussien
8 Chaˆınes de Markov Cach´ees
Op´ erations sur les mod` eles graphiques
L’Inf´erence
Calculer une marginale p(xi) ou p(xi|x1 = 3,x7 = 0) Le D´ecodage
Quelle est l’instance la plus probable?
argmaxzp(z|x)
zn−1 zn zn+1
xn−1 xn xn+1
z1 z2
x1 x2
L’Estimation
Soit p(x;θ) = Z1(θ)Q
Cψ(xC, θC), on veut trouver argmaxθ
n
Y
i=1
p(x(i);θ) = argmaxθ 1 Z(θ)
n
Y
i=1
Y
C
ψ(xC(i), θC)
Le classifieur na¨ıf de Bayes
Etiquette de classe: Z
Descripteurs Xj, j = 1, . . . ,D Apprentissage (estimation):
θˆk,j = argmaxθk,jp(xj|z =k;θk,j) Pr´ediction (d´ecodage):
ˆ
z = argmaxz
QD
j=1p(xj|z)p(z) P
z0
QD
j=1p(xj|z0)p(z0)
Hypoth`ese “na¨ıve”:
p(x1, . . . ,xD|z) =
D
Y
j=1
p(xj|z)
z
x1 xD
Ignore la corr´elation entre descripteurs
Pr´ediction requiert seulement la r`egle de Bayes Mod`ele peut-ˆetre appris massivement en parall`ele Complexit´e en O(nD)
Test d’hypoth`ese bay´esien
La r´ egression lin´ eaire
Outline
1 Cadre
2 Mod`ele Graphique Orient´es
3 Champs de Markov
4 Op´erations sur les mod`eles graphiques
5 Inf´erence:l’Algorithme Somme-Produit
6 Mixture Gaussienne et Algorithme EM
7 Mod`ele Graphique Gaussien
8 Chaˆınes de Markov Cach´ees
Inference sur une chaˆıne
x1 x2 xM
p(xn) = 1 Z
X
x−n
ψ1,2(x1,x2). . . ψM−2,M−1(xM−2,xM−1)ψM−1,M(xM−1,xM)
= 1
Z X
x−{n,M}
ψ1,2(x1,x2). . . ψM−2,M−1(xM−2,xM−1)X
xM
ψM−1,M(xM−1,xM)
| {z }
µM→M−1(xM−1)
= 1
Z X
x−{n,M,M−1}
ψ1,2(x1,x2). . .X
xM−1
ψM−2,M−1(xM−2,xM−1)µM→M−1(xM−1)
| {z }
µM−1→M−2(xM−2)
= 1
Z
"
X
x1
ψ1,2(x1,x2)
#
| {z }
µ1→2(x2)
X
x{2,...,n−1}
ψ2,3(x2,x3). . . ψn−1,n(xn−1,xn)µn−1→n(xn)
= µn−1→n(xn)µn+1→n(xn)
Inf´ erence sur un arbre
Soit Fi,j(xi,xj,xD(j)) =ψi,j(xi,xj)Q
C∩D(j)6=∅ψC(xC) p(xi) = 1
Z X
x−i
Y
j∈C(i)
Fi,j(xi,xj,xD(j)) = 1 Z
Y
j∈C(i)
X
xj,xD(j)
Fi,j(xi,xj,xD(j))
= 1
Z Y
j∈C(i)
X
xj,xD(j)
ψi,j(xi,xj) Y
k∈C(j)
Fj,k(xj,xk,xD(k))
= 1
Z Y
j∈C(i)
X
xj
ψi,j(xi,xj) Y
k∈C(j)
X
xk,xD(k)
Fj,k(xj,xk,xD(k))
| {z }
µk→j(xj)
= 1
Z Y
j∈C(i)
X
xj
ψi,j(xi,xj) Y
k∈C(j)
µk→j(xj)
| {z }
µj→i(xi)
Algorithme Somme-Produit pour une seule marginale
Algorithme
• La feuillek envoie `a son p`ere j le messageµj→i(xi) =P
xjψi,j(xi,xj).
• Un noeud qui a re¸cu un message de tous ses enfants envoie `a son p`ere µj→i(xi) =X
xj
ψi,j(xi,xj) Y
k∈C(j)
µk→j(xj)
• La racine calculep(xi) = Z1 Q
j∈C(i)µj→i(xi).
Comment calculer Z?
Comment calculer p(xi|xA) pour un ensembleA quelconque?
Algorithme Somme-Produit
Les messages sont de la forme:
µj→i(xi) =X
xj
ψi,j(xi,xj) Y
k∈N(j)\{i}
µk→j(xj)
Algorithme
Un noeud j qui a re¸cu un message de tous ses voisins sauf i envoie un message `a ce dernier.
Un noeud j qui a re¸cu un message de tous ses voisins envoie un message `a tous les voisinsi auxquels il n’a pas envoy´e de message et il calculep(xi) = Z1 Q
j∈N(i)µj→i(xi).
L’algorithme Somme-produit est un algorithme g´en´erique (Viterbi, BJCR, aller-retour, Baum-Welch,α-β,FFT)
Propagation de croyance
L’algorithme Somme-produit est aussi appel´ealgorithme de propagation de croyance.
C’est un algorithme d’inf´erence exact pour les arbres.
Pour des graphes contenant des cycles, l’algorithme est
g´en´eralisable mais il n’y pas de garanties g´en´erales de convergence.
Propapagation de croyance cyclique
1 Initialiser les messages de fa¸con quelqonque
2 Chaque noeud qui a re¸cu un nouveau message de l’un de ses voisins, envoie un nouveau message `a tous les autres en utilisant les messages les plus r´ecents de chaque voisin.
Propagation synchrone vs s´equentielle
Echantillonnage de Gibbs ´
Un algorithme d’inf´erence approch´ee convergent Algorithme
Pour chaque noeud i
Echantillonerxit ∼ PXi(xi|X−i =xt−1−i ) ∝ Y
C3i
ψC(xi,xC\it−1)
xi
Autres m´ ethodes d’inf´ erence
Il existe de nombreuse m´ethode d’inf´erences
L’inf´erence exacte pour un graphe g´en´eral est NP-dur
L’algorithme somme-produit se g´en´eralise `a des cliques g´en´erale via les graphes de facteurs
Autres m´ethodes d’inf´erence:
Algorithme de l’arbre de jonction M´ethodes variationelles
MCMC et autre m´ethodes d’´echantillonage
Outline
1 Cadre
2 Mod`ele Graphique Orient´es
3 Champs de Markov
4 Op´erations sur les mod`eles graphiques
5 Inf´erence:l’Algorithme Somme-Produit
6 Mixture Gaussienne et Algorithme EM
7 Mod`ele Graphique Gaussien
8 Chaˆınes de Markov Cach´ees
Mod` ele de Mixture Gaussien
K composantes
zindicateur de la composante z= (z1, . . . ,zK)>∈ {0,1}K z∼ M(1,(π1, . . . , πK)) p(z) =
K
Y
k=1
πzkk p(x|z; (µk,Σk)k) =
K
X
k=1
zkN(x;µk,Σk)
p(x) =
K
X
k=1
πkN(x;µk,Σk)
Estimation: argmax
µk,Σk
log
" K X
k=1
πkN(x;µk,Σk)
#
xn
zn
N
µ Σ
π
(a)
0 0.5 1
0 0.5 1
Esp´ erance-Maximisation
logp(x;θ) = logX
z
p(x,z;θ) = logX
z
q(z)p(x,z;θ) q(z)
≥ X
z
q(z) logp(x,z;θ)
q(z) =:F(q,θ)
L(q,θ) = logp(x;θ)−KL(q||p(·|x;θ)) = log
"
X
z
q(z)p(x,z;θ)
# +H(q)
•Etape E argmaxqL(q,θ) =p(·|x;θ)
•Etape M argmaxθL(q,θ) = argmaxθ Eq[logp(Z,x;θ)]
Algorithme EM
•Etape E argmaxqL(q,θ) =p(·|x;θ)
•Etape M argmaxθL(q,θ) = argmaxθ Eq[logp(Z,x;θ)]
Algorithme
It´erer jusqu’`a convergence:
1 Etape E:
qt+1=p(·,x;θt)
Q(θ,θt) =E[logp(Z,x;θ)|θt]
2 Etape M:
θt+1= argmaxθQ(θ,θt) θ
oldθnew L(q, θ)
lnp(X|θ)
Algorithme EM pour la Mixture Gaussienne
Soit θt= (πt,(µtk,Σtk)k).
n
Y
i=1
p(zi,xi;θ) =
n
Y
i=1 K
Y
k=1
πzkki
N(xi;µk,Σk) zki
xn
zn
N
µ Σ
π
Etape E:
p(z1, . . . ,zn|x1, . . . ,xn;θt) =Qn
i=1p(zi|xi;θt) qki =P(zki= 1|xi;θt) = p(xi|zki = 1;θt)P(zki = 1;θt)
p(xi;θt) = πktN(xi;µtk,Σtk) P
`π`tN(xi;µt`,Σt`) Eq[logp(z,x|θ)] =Eq
h X
i,k
zki logπk + logN(xi;µk,Σk)i
=X
qki logπk −1
2qik(xi −µk)>Σ−1k (xi −µk)−1
2qki log((2π)d|Σk|)
Algorithme EM pour la Mixture Gaussienne II
Q(θ,θt) =X
i,k
qiklogπk−1
2qki(xi−µk)>Σ−1k (xi−µk)−1
2qiklog((2π)d|Σk|)
Etape M:
π,(µmaxk,Σk)kQ
π,(µk,Σk)k
,θt
s.t. X
k
πk = 1 Apr`es calculs:
nt+1k =X
i
qki πt+1k = nt+1k
n µt+1k = 1 nt+1k
X
i
qikxi
Σt+1k = 1 nt+1k
X
i
qik(xi−µt+1k )(xi−µt+1k )>
Algorithme EM pour la Mixture Gaussienne III
p(x|z) p(z|x)
Outline
1 Cadre
2 Mod`ele Graphique Orient´es
3 Champs de Markov
4 Op´erations sur les mod`eles graphiques
5 Inf´erence:l’Algorithme Somme-Produit
6 Mixture Gaussienne et Algorithme EM
7 Mod`ele Graphique Gaussien
8 Chaˆınes de Markov Cach´ees
Mod` ele graphique Gaussien
Hypoth`ese: Σinversible.
p(x1, . . . ,xd) = 1
p(2π)d|Σ|exp n− 1
2(x−µ)>Σ−1(x−µ) o
Param´etrisation canonique p(x1, . . . ,xp) = expn
η>x−1
2x>Λx−a(η,Λ)o Λ=Σ−1 η=Σ−1µ a(η,Λ)=12
log((2π)d/|Λ|)+η>Λη
Mod`ele de Gibbs p(x1, . . . ,xd) = 1
Z Y
i
exp
ηixi−λii
2 xi2 Y
i6=j
exp
−λijxixj La structure du graphe est encod´ee dans la matrice d’information de Fisher Λ.
Mod` ele graphique Gaussien
Th´eor`eme Pour
„X Y
«
∼ N
„„µx
µy
« ,
»Σxx Σxy
Σyx Σyy
–«
on a
Y|X=x ∼ N(µy+β>yx(x−µx),Σyy|x)
avec βyx=ΣyxΣ−1xx et Σyy|x =Σyy−ΣyxΣ−1xxΣxy
Mod`ele graphique orient´e Soit xi = (x1, . . . ,xi), on a
p(x) =Y
i
N
xi;µi+βxixi−1(xi−1−µi−1),Σxixi|xi−1
La structure du graphe est contenue dans (βxix−i)i=1,...,d
Outline
1 Cadre
2 Mod`ele Graphique Orient´es
3 Champs de Markov
4 Op´erations sur les mod`eles graphiques
5 Inf´erence:l’Algorithme Somme-Produit
6 Mixture Gaussienne et Algorithme EM
7 Mod`ele Graphique Gaussien
8 Chaˆınes de Markov Cach´ees
Chaˆıne de Markov Cach´ ee (HMM)
reconnaissance vocale langage naturel
reconnaissance d’´ecriture manuscrite s´equence biologiques (prot´eines, DNA)
b r a c e
Chaˆıne de Markov Cach´ ee (HMM)
zn−1 zn zn+1
xn−1 xn xn+1 z1 z2
x1 x2
p(x1, . . . ,xN,z1, . . . ,zN) =p(z1)
N
Y
n=2
p(zn|zn−1)Y
n=1
p(xn|zn)
Chaˆıne de Markov homog`ene
zn∈ {0,1}K indicateur d’´etat (1, . . . ,K)
chaˆıne de Markov homog`ene: ∀n, p(zn|zn−1) =p(z2|z1) xn symbole ´emis ({0,1}K) / observation (Rd)
Chaˆıne de Markov Cach´ ee (HMM)
Param´etrisation
distribution de l’´etat initial p(z1;π) =QK k=1πkz1k matrice de transition p(zn|zn−1;A) =
K
Y
j=1 K
Y
k=1
Ajkzn−1,jznk
probabilit´es d’´emission p(xn|zn;φ) e.g. Gaussian Mixture Interpr´etation
A12 A23
A31 A21
A32
A13 A11 A22
A33
k= 1 k= 2
k= 3
Transistions de zn
k= 1
k= 2 k= 3
0 0.5 1
0 0.5 1
p(xn|zn)
0 0.5 1
0 0.5 1
Trajectoire de xn
Maximum de vraisemblance pour les CMCs
Application de l’algorithme EM
γ(zn) =p(zn|X,θt) ξ(zn−1,zn) =p(zn−1,zn|X,θt) Esp´erance de la log-vraisemblance:
Q(θ,θt) =
K
X
k=1
γ(z1k) logπk+
N
X
n=2 K
X
j=1 K
X
k=1
ξ(zn−1,j,znk) logAjk+
N
X
n=1 K
X
k=1
γ(znk) logp(xn|φk)
En maximisant par rapport aux param`etres{π,A}on obtient πt+1k = γ(z1k)
PK
j=1γ(z1j) At+1jk =
PN
n=2ξ(zn−1,j,znk) PK
l=1
PN
n=2ξ(zn−1,j,znl) Si les ´emissions sont Gaussiennes on a aussi:
µt+1k = PN
n=1γ(znk)xn
PN
n=1γ(znk) Σt+1k = PN
n=1γ(znk)(xn−µk)(xn−µk)>
PN n=1γ(znk)
Maximum de vraisemblance pour les CMCs
Application de l’algorithme Somme-Produit
Dans le cadre des CMCs, l’algorithme est connu sous le nom aller-retour ou algorithme de Baum-Welch.
On propage les messages
forwardα(zn) =p(xn|zn)P
zn−1α(zn−1)p(zn|zn−1) backwardβ(zn) =P
zn+1β(zn+1)p(xn+1|zn+1)p(zn+1|zn) qui satisfont les propri´et´es:
α(zn) =p(x1, . . . ,xn,zn) β(zn) =p(xn+1, . . . ,xN|zn) Finalement on obtient les marginales:
γ(zn) =p(zn|X,θt) =α(zn)β(zn) p(X|θt) et
ξ(zn−1,zn) =α(xn−1)p(xn|zn)p(zn|zn−1)β(xn) p(X|θt)
Champ de Markov Cach´ e
Segmentation
R´ esum´ e
Les mod`eles graphiques permettent de r´epresenter et d’utiliser la structure de distributions sur un grand nombre de variables Mod`eles graphiques orient´es et non-orient´es
Trois op´erations fondamentales sur un mod`ele graphique l’inf´erence
le d´ecodage l’estimation
l’algorithme somme-produit permet de faire l’inf´erence sur les arbres l’algorithme max-somme pour le d´ecodage
l’algorithme EM pour faire de l’estimation dans les mod`eles de mixtures
aper¸cu de l’estimation des Chaˆınes de Markov Cach´ees
R´ ef´ erences
Une bonne partie des illustrations et des notations de cet expos´e proviennent du tr`es bon livre de Christopher Bishop:
Pattern Recognition and Machine Learning, 2006, Springer.
http://research.microsoft.com/ cmbishop/PRML/
Pour aller plus loin:
Daphne Koller et Nir Friedman, Probabilistic Graphical Models - Principles and Techniques, 2009, MIT Press.