mapsi — cours 7 : procedure(s) d’´ evaluation´
TRANSCRIPT
MAPSI — cours 7 :Procedure(s) d’evaluation
Vincent Guigue, Thierry [email protected]
LIP6 – Universite Paris 6, France
Retour TME : problematique de l’evaluation
Impossible d’evaluer les modeles sur les donnees qui ontservi a l’apprentissage ! ! !⇒ Biais dans l’evaluation
Pourtant : l’evaluation est aussi importante que le modelelui-meme⇒ il faut faire les deux, c’est a dire diviser les donnees
beaucoup de donnees en apprentissage... Evaluationpauvre !beaucoup de donnees en test... Modele pauvre !
MAPSI — cours 7 : Procedure(s) d’evaluation 2/62
Comment evaluer les performances efficacement?
3 Procedures :Beaucoup de donnees (ou peu de temps) :Apprentissage/test
Le plus souvent Validation croisee
Peu de donnees Leave-one-out
MAPSI — cours 7 : Procedure(s) d’evaluation 3/62
Comment evaluer les performances efficacement?
3 Procedures :Beaucoup de donnees (ou peu de temps) :Apprentissage/testLe plus souvent Validation croisee
Peu de donnees Leave-one-out
MAPSI — cours 7 : Procedure(s) d’evaluation 3/62
Comment evaluer les performances efficacement?
3 Procedures :Beaucoup de donnees (ou peu de temps) :Apprentissage/testLe plus souvent Validation croisee
Peu de donnees Leave-one-out
MAPSI — cours 7 : Procedure(s) d’evaluation 3/62
Sous-apprentissage
Tres peu d’exemples en apprentissage et/ou beaucoup deparametres a apprendre...
⇒ Les regles apprises ne sont pas completement fiable
Ex :La matrice de transition contient : a11 = 0Quelle est la vraisemblance de S = {. . . ,q1,q1, . . .}?
⇒ 0 meme si le reste de la sequence ressemble...Est-ce le comportement attendu?⇒ Ca depend !Possibilite : ajouter 1 dans la phase de comptage surtoutes les cases de A pour que toutes les transitions soientpossibles
MAPSI — cours 7 : Procedure(s) d’evaluation 4/62
Sous-apprentissage
Tres peu d’exemples en apprentissage et/ou beaucoup deparametres a apprendre...
⇒ Les regles apprises ne sont pas completement fiable
Ex :La matrice de transition contient : a11 = 0Quelle est la vraisemblance de S = {. . . ,q1,q1, . . .}?⇒ 0 meme si le reste de la sequence ressemble...Est-ce le comportement attendu?
⇒ Ca depend !Possibilite : ajouter 1 dans la phase de comptage surtoutes les cases de A pour que toutes les transitions soientpossibles
MAPSI — cours 7 : Procedure(s) d’evaluation 4/62
Sous-apprentissage
Tres peu d’exemples en apprentissage et/ou beaucoup deparametres a apprendre...
⇒ Les regles apprises ne sont pas completement fiable
Ex :La matrice de transition contient : a11 = 0Quelle est la vraisemblance de S = {. . . ,q1,q1, . . .}?⇒ 0 meme si le reste de la sequence ressemble...Est-ce le comportement attendu?⇒ Ca depend !Possibilite :
ajouter 1 dans la phase de comptage surtoutes les cases de A pour que toutes les transitions soientpossibles
MAPSI — cours 7 : Procedure(s) d’evaluation 4/62
Sous-apprentissage
Tres peu d’exemples en apprentissage et/ou beaucoup deparametres a apprendre...
⇒ Les regles apprises ne sont pas completement fiable
Ex :La matrice de transition contient : a11 = 0Quelle est la vraisemblance de S = {. . . ,q1,q1, . . .}?⇒ 0 meme si le reste de la sequence ressemble...Est-ce le comportement attendu?⇒ Ca depend !Possibilite : ajouter 1 dans la phase de comptage surtoutes les cases de A pour que toutes les transitions soientpossibles
MAPSI — cours 7 : Procedure(s) d’evaluation 4/62
Sur-apprentissage
DefinitionLe sur-apprentissage consiste a extraire des regles qui sontefficaces en apprentissage mais pas en test...
apprentissage par coeur
Ex :Transitions erronees (transitions etranges, erreurs demesure...)
Bonne regle en apprentissage (cette transition n’existenulle part ailleurs)Mauvaise regle en testProposition : dans le codage des N-grams, on ne prend pasen compte les mots qui apparaissent tres peu et on elimineles transition associees.
NB : conclusion inverse du transparent precedent... Il reste de la place pourles experts
MAPSI — cours 7 : Procedure(s) d’evaluation 5/62
MAPSI — cours 7 :Chaıne de Markov Cachee
Vincent Guigue, Thierry [email protected]
LIP6 – Universite Paris 6, France
Limites du modele de Markov standard
Transition simple... Parfois simplisteTransition directe sur les observations 6= geste complexe
Pas de caracterisation des etats (limite applicative)Analyse du texteAnalyse de l’etat d’un vehiculeDiagnostic
MAPSI — cours 7 : Chaıne de Markov Cachee 7/62
Modeles de Markov Caches (MMC = HMM)
Separation des observations et des etatsUne chaıne = une sequence d’observations...... chaque observation ayant ete generee par un etat
2 composantesChaine de Markov d’etats finisEnsemble de lois de probabilite d’emission
2 points de vuesGeneratif : la chaine genere des etats qui entrainent desobservationsAnalytique : les observations fournissent de l’evidence surla suite d’etats (decodage) et sur le modele (apprentissage)
MAPSI — cours 7 : Chaıne de Markov Cachee 8/62
Notations
La chaine de Markov est toujours composee de :d’une sequence d’etats S = (s1, . . . , sT )dont les valeurs sont tirees dans un ensemble finiQ = (q1, ...,qN)Le modele est toujours defini par {Π,A}
πi = P(s1 = qi)aij = p(st+1 = qj |st = qi)
Les observations sont modelisees a partir des stsequence d’observation : X = (x1, . . . , xT )loi de probabilite : bj(t) = p(xt |st = qj)B peut etre discrete ou continue
MMC : λ = {Π,A,B}
MAPSI — cours 7 : Chaıne de Markov Cachee 9/62
Structure (combinatoire) d’un MMCConstitution d’un MMC :
1
2
N
S1 S2 S3 S4 ST
X1 X2 X3 X4 XT
Observations
Etats
...
...
...
... ... ... ... ...
Les etats sont inconnus...
MAPSI — cours 7 : Chaıne de Markov Cachee 10/62
Structure (combinatoire) d’un MMCConstitution d’un MMC :
1
2
N
S1 S2 S3 S4 ST
X1 X2 X3 X4 XT
Observations
Etats
...
...
...
... ... ... ... ...Pi
Les etats sont inconnus...
MAPSI — cours 7 : Chaıne de Markov Cachee 10/62
Structure (combinatoire) d’un MMCConstitution d’un MMC :
1
2
N
S1 S2 S3 S4 ST
X1 X2 X3 X4 XT
Observations
Etats
...
...
...
... ... ... ... ...
A
Hyp. Ordre 1 :chaque etat nedepend que duprecedent
Les etats sont inconnus...La combinatoire a envisager est problematique !
MAPSI — cours 7 : Chaıne de Markov Cachee 10/62
Structure (combinatoire) d’un MMCConstitution d’un MMC :
1
2
N
S1 S2 S3 S4 ST
X1 X2 X3 X4 XT
Observations
Etats
...
...
...
... ... ... ... ...B
Hyp. Ordre 1 :chaque etat nedepend que duprecedent
Chaque obs. nedepend que del’etat courant
Les etats sont inconnus...
MAPSI — cours 7 : Chaıne de Markov Cachee 10/62
Ce que l’on manipule
Sequence d’observationsX = (x1, . . . , xT )
Sequence d’etats (cachee = manquante)S = (s1, . . . , sT )
MAPSI — cours 7 : Chaıne de Markov Cachee 11/62
MMC a lois d’observation continuesEtats et observations
6
UPM
C -
M1
- MQ
IA -
T. A
rtièr
es
Les etats doivent etre discrets... Les observations parforcement !
MAPSI — cours 7 : Chaıne de Markov Cachee 12/62
Hypotheses MMC
CM d’ordre 1 :
p(st |s1, . . . , st−1) = p(st |st−1)
Independance des observations :
p(xt |xt−1, st ) = p(xt |st )
i.e. : les observations successives sont independantesconditionnellement aux etats !
Notations simplifiees (de a a b) :
st1 =s1, . . . , st , x t
1 =x1, . . . , xt
MAPSI — cours 7 : Chaıne de Markov Cachee 13/62
Validation...
Comment calculer probabilites suivantes?Sequence d’etatsSequence d’observations (connaissant les etats)Sequences obs + etats :
MAPSI — cours 7 : Chaıne de Markov Cachee 14/62
Point de vue generatif
Algorithm 1: Generation d’une sequence {x1, . . . , xT}Data: A,B,ΠResult: xT
1 , sT1
S ← [];X ← [];Tirer s1 en fonction de Π;Tirer x1 en fonction de B et s1;st ← s1, xt ← x1, t ← 1;S ← [S, st ], X ← [X , xt ];while st n’est pas l’etat final do
st+1 ←tirage selon (A(st , :));xt+1 ←tirage selon (B(st+1, :));st ← s1, xt ← x1;S ← [S, st ], X ← [X , xt ];t ← t + 1;
MAPSI — cours 7 : Chaıne de Markov Cachee 15/62
Representation d’une trajectoire
trajectoire d’etats
Traitement de séquences Tâches d’apprentissage sur les séquences • Classification • Étiquetage • Clustering
UPM
C -
M1
- MQ
IA -
T. A
rtièr
es
2 trajectoire d’observations
Génération de trajectoires à partir d’un MMC
10
UPM
C -
M1
- MQ
IA -
T. A
rtièr
es
MAPSI — cours 7 : Chaıne de Markov Cachee 16/62
Representation d’un MMC
Représentation d’un MMC
11
UPM
C -
M1
- MQ
IA -
T. A
rtièr
es
MAPSI — cours 7 : Chaıne de Markov Cachee 17/62
Modelisation des pieces...MMC vs CM 1 pièce 2 pièces 12
UPM
C -
M1
- MQ
IA -
T. A
rtièr
es
MAPSI — cours 7 : Chaıne de Markov Cachee 18/62
Capacites d’expression CM, MMC
N urnes (de Rabiner)chaque urne = distribution specifique des couleurs deboules
On tire successivement des boules dans les differentesurnes et on note les couleurs des boules
Capacités d’expression CM vs. MMC • N urnes
• Boules de différentes couleurs dans chaque urne • Avec des proportions différentes
• On tire successivement des boules dans les différentes urnes et on note les couleurs de ces boules
UP
MC
- M
1 - M
QIA
- T.
Arti
ères
14
MAPSI — cours 7 : Chaıne de Markov Cachee 19/62
Usage des MMC
Modelisation complexeTrace d’une ligne⇔ prise en compte de la position dupoignet
Mixture de sources emettricesSeparation de sources
Problemes de secancage des signauxParole, ecrit,...ADN,Image
MAPSI — cours 7 : Chaıne de Markov Cachee 20/62
Les trois problemes des MMC (Fergusson - Rabiner)
1 Evaluation : λ donne, calcul de p(xT1 |λ)
2 Decodage : λ donne, quelle sequence d’etats a genere lesobservations?
3 Apprentissage : a partir d’une serie d’observations,trouver λ?
Et les applications associees...
MAPSI — cours 7 : Chaıne de Markov Cachee 21/62
Les trois problemes des MMC (Fergusson - Rabiner)
1 Evaluation : λ donne, calcul de p(xT1 |λ)
2 Decodage : λ donne, quelle sequence d’etats a genere lesobservations?
sT?1 = arg max
sT1
p(sT1 |xT
1 , λ) = arg maxsT
1
p(xT1 , s
T1 |λ)
3 Apprentissage : a partir d’une serie d’observations,trouver λ?
Et les applications associees...
MAPSI — cours 7 : Chaıne de Markov Cachee 21/62
Les trois problemes des MMC (Fergusson - Rabiner)
1 Evaluation : λ donne, calcul de p(xT1 |λ)
2 Decodage : λ donne, quelle sequence d’etats a genere lesobservations?
sT?1 = arg max
sT1
p(sT1 |xT
1 , λ) = arg maxsT
1
p(xT1 , s
T1 |λ)
3 Apprentissage : a partir d’une serie d’observations,trouver λ?
λ? = {Π?,A?,B?} = arg maxλ
p(xT1 |λ)
Et les applications associees...
MAPSI — cours 7 : Chaıne de Markov Cachee 21/62
PB1 : evaluation p(xT1 |λ)
1
2
N
S1 S2 S3 S4 ST
X1 X2 X3 X4 XT
Observations
Etats
...
...
...
... ... ... ... ...
Quel point de depart ?
Simplifier la combinatoire...
Complexite ?
MAPSI — cours 7 : Chaıne de Markov Cachee 22/62
PB1 : evaluation p(xT1 |λ)
1
2
N
S1 S2 S3 S4 ST
X1 X2 X3 X4 XT
ObservationsEtats
...
...
...
... ... ... ... ...
A
Quel point de depart ? Proba totales
p(xT1 |λ) =
∑sT
1
p(xT1 , s
T1 |λ)
Simplifier la combinatoire...
Complexite ?
MAPSI — cours 7 : Chaıne de Markov Cachee 22/62
PB1 : evaluation p(xT1 |λ)
1
2
N
S1 S2 S3 S4 ST
X1 X2 X3 X4 XT
ObservationsEtats
...
...
...
... ... ... ... ...
A
Quel point de depart ? Proba totales
p(xT1 |λ) =
∑sT
1
p(xT1 , s
T1 |λ)
Simplifier la combinatoire...Complexite ?
MAPSI — cours 7 : Chaıne de Markov Cachee 22/62
PB1 : evaluation p(xT1 |λ)
1
2
N
S1 S2 S3 S4 ST
X1 X2 X3 X4 XT
ObservationsEtats
...
...
...
... ... ... ... ...
A
Quel point de depart ? Proba totales
p(xT1 |λ) =
∑sT
1
p(xT1 , s
T1 |λ)
Simplifier la combinatoire... Hypothese MMC ordre 1
p(xT1 |λ) =
∑sT
1
T∏t=1
p(st |st−1)p(xt |st )
Complexite ?
MAPSI — cours 7 : Chaıne de Markov Cachee 22/62
PB1 : evaluation p(xT1 |λ)
A chaque pas de temps,envisager toutes lescombinaisons d’etats qui ont puemmene ici...
1
2
N
S1 S2 S3 S4 ST
X1 X2 X3 X4 XT
Observations
Etats
...
...
...
... ... ... ... ...
A
Quel point de depart ? Proba totales
p(xT1 |λ) =
∑sT
1
p(xT1 , s
T1 |λ)
Simplifier la combinatoire... Hypothese MMC ordre 1
p(xT1 |λ) =
∑sT
1
T∏t=1
p(st |st−1)p(xt |st )
Complexite ? O(NT )
MAPSI — cours 7 : Chaıne de Markov Cachee 22/62
PB1 : evaluation p(xT1 |λ)
Calcul par recurrence :On pose :
αt (i) = p(x t1, st = i |λ)
Que vaut alors p(xT1 |λ) ?
MAPSI — cours 7 : Chaıne de Markov Cachee 23/62
PB1 : evaluation p(xT1 |λ)
Calcul par recurrence :On pose :
αt (i) = p(x t1, st = i |λ)
Que vaut alors p(xT1 |λ) ?
p(xT1 |λ) =
N∑i=1
αT (i)
MAPSI — cours 7 : Chaıne de Markov Cachee 23/62
PB1 : Trellis
Envisager tous les etats a tous les pas de temps (+transitions) = trellis d’hypotheses
Le Trellis
UP
MC
- M
1 - M
QIA
- T.
Arti
ères
23
MAPSI — cours 7 : Chaıne de Markov Cachee 24/62
PB1 : Algorithme forwardForward Probabilities
UP
MC
- M
1 - M
QIA
- T.
Arti
ères
24
)()()(1
1 tj
N
iijtt xbaij »¼
º«¬
ª ¦
�DD
)|,...()( 1 OD ittt esxxPi
αt (j) = p(x t1, st = j |λ)
Exprimer en fonction des αt−1
Formalisation recursive = briser la complexite
MAPSI — cours 7 : Chaıne de Markov Cachee 25/62
PB1 : Algorithme forwardForward Probabilities
UP
MC
- M
1 - M
QIA
- T.
Arti
ères
24
)()()(1
1 tj
N
iijtt xbaij »¼
º«¬
ª ¦
�DD
)|,...()( 1 OD ittt esxxPi
αt (j) = p(x t1, st = j |λ)
αt (j) =
[N∑
i=1
αt−1(i)aij
]bj(xt )
Formalisation recursive = briser la complexite
MAPSI — cours 7 : Chaıne de Markov Cachee 25/62
PB1 : Algorithme forward
Initialisation :
αt=1(i) = p(x11 , s1 = i |λ) = ...
= πibi(x1)
Iteration :
αt (j) =
[N∑
i=1
αt−1(i)aij
]bj(xt )
Terminaison :
p(xT1 |λ) =
N∑i=1
αT (i)
Complexite lineaire en TUsuellement : T >> N
MAPSI — cours 7 : Chaıne de Markov Cachee 26/62
PB1 : Algorithme forward
Initialisation :
αt=1(i) = p(x11 , s1 = i |λ) = ...
= πibi(x1)
Iteration :
αt (j) =
[N∑
i=1
αt−1(i)aij
]bj(xt )
Terminaison :
p(xT1 |λ) =
N∑i=1
αT (i)
Complexite lineaire en TUsuellement : T >> N
MAPSI — cours 7 : Chaıne de Markov Cachee 26/62
PB2 : decodage
1
2
N
S1 S2 S3 S4 ST
X1 X2 X3 X4 XT
ObservationsEtats
...
...
...
... ... ... ... ...
sT?1 = arg max
sT1
p(xT1 |λ)
Avec la formule precedente (hyp. MMC ordre 1) :
sT?1 = arg max
sT1
T∏t=1
p(st |st−1)p(xt |st )
Meme schema que precedemment = algorithme deViterbi
MAPSI — cours 7 : Chaıne de Markov Cachee 27/62
PB2 : Viterbi
On pose :Meilleur score pour un chemin au temps t , se terminant al’etat i :
δt (i) = maxst−1
1
p(st−11 , st = i , x t
1|λ)
A t , la probabilite du meilleur chemin est la combinaison :d’un des meilleurs chemins precedents...... et de la transition vers sj + observation de xt a partir desj
MAPSI — cours 7 : Chaıne de Markov Cachee 28/62
PB2 : Viterbi
On pose :Meilleur score pour un chemin au temps t , se terminant al’etat i :
δt (i) = maxst−1
1
p(st−11 , st = i , x t
1|λ)
A t , la probabilite du meilleur chemin est la combinaison :d’un des meilleurs chemins precedents...... et de la transition vers sj + observation de xt a partir desj
Initialisation :Recurrence :
MAPSI — cours 7 : Chaıne de Markov Cachee 28/62
PB2 : Viterbi
On pose :Meilleur score pour un chemin au temps t , se terminant al’etat i :
δt (i) = maxst−1
1
p(st−11 , st = i , x t
1|λ)
A t , la probabilite du meilleur chemin est la combinaison :d’un des meilleurs chemins precedents...... et de la transition vers sj + observation de xt a partir desj
Initialisation :δ1(i) = πibi(x1)
Recurrence :
δt (j) =
[max
iδt−1(i)aij
]bj(xt )
MAPSI — cours 7 : Chaıne de Markov Cachee 28/62
PB2 : Viterbi (suite)
δ = stockage de la probabilite de certaines situations...Ce qui nous interesse c’est la sequence d’etats associee⇒ stockage a prevoir
1
2 j
N
S1 S2 S3
X1 X2 X3
Observations
Etats
... ... ...A
Stockage des indices des etats dans un tableau Ψ
Ψt (j) = arg maxi∈[1, N]
δt−1(i)aij
Complexite en O(N2T )
MAPSI — cours 7 : Chaıne de Markov Cachee 29/62
PB2 : Viterbi (suite)
δ = stockage de la probabilite de certaines situations...Ce qui nous interesse c’est la sequence d’etats associee⇒ stockage a prevoir
Stockage des indices des etats dans un tableau Ψ
Ψt (j) = arg maxi∈[1, N]
δt−1(i)aij
Pour arriver en j a t , quel etait le meilleur etat a t − 1???
⇒ A parcourir a l’envers pour retrouver le chemin optimal !
Complexite en O(N2T )
MAPSI — cours 7 : Chaıne de Markov Cachee 29/62
PB2 : Viterbi (suite)
δ = stockage de la probabilite de certaines situations...Ce qui nous interesse c’est la sequence d’etats associee⇒ stockage a prevoir
Stockage des indices des etats dans un tableau Ψ
Ψt (j) = arg maxi∈[1, N]
δt−1(i)aij
Complexite en O(N2T )
MAPSI — cours 7 : Chaıne de Markov Cachee 29/62
PB2 : Viterbi (recapitulatif)
δt (i) = maxst−1
1
p(st−11 , st = i , x t
1|λ)
1 Initialisationδ1(i) = πibi(x1)Ψ1(i) = 0
2 Recursion
δt (j) =
[max
iδt−1(i)aij
]bj(xt )
Ψt (j) = arg maxi∈[1, N]
δt−1(i)aij
3 TerminaisonS? = maxiδT (i)
4 Cheminq?T = arg max
iδT (i)
q?t = Ψt+1(q?t+1)
1
2 j
N
S1 S2 S3
X1 X2 X3
Observations
Etats
... ... ...
A
MAPSI — cours 7 : Chaıne de Markov Cachee 30/62
PB3 : Apprentissage des MMC
Version simplifiee (hard assignment) : type k -meansNous disposons de :
Evaluation : p(xT1 |λ)
Decodage : sT?1 = arg maxsT
1p(xT
1 |λ)
Proposition :
Algorithm 2: Baum-Welch simplifie pour l’apprentissage d’un MMCData: Observations : X , Structure= N,KResult: Π?, A?, B?
Initialiser λ0 = Π0,A0,B0;→ finement si possible;
t = 0;while convergence non atteinte do
St+1 = decodage(X , λt );λ?
t+1 = Πt+1,At+1,Bt+1 obtenus par comptage des transitions ;t = t + 1;
Vous avez deja tous les elements pour faire ca !
MAPSI — cours 7 : Chaıne de Markov Cachee 31/62
Apprentissage complet
Algorithm 3: Baum-Welch simplifie pour l’apprentissage d’un MMCData: Observations : XResult: Π?, A?, B?
Initialiser λ0 = Π0,A0,B0;→ finement si possible;
t = 0;while convergence non atteinte do
Trouver les distributions de probabilite des variables manquantes(etats);Re-estimer les parametres λ?t+1 ;t = t + 1;
Affectation dure⇒ estimation des distributions d’appartenanceAlgorithme type EM
MAPSI — cours 7 : Chaıne de Markov Cachee 32/62
App. complet : avant propos (et revision)
On a vu le calcul des α... Definissons maintenant les β :
βt (i) = p(xTt+1|st = i , λ), (sym. des α)
Initialisation (arbitraire) :
∀i , βt=T (i) = 1
Recursion :
1
2 i
N
S1 St St+1
X1 Xt Xt+1
Observations
Etats
... ... ...
Betat
MAPSI — cours 7 : Chaıne de Markov Cachee 33/62
App. complet : avant propos (et revision)
On a vu le calcul des α... Definissons maintenant les β :
βt (i) = p(xTt+1|st = i , λ), (sym. des α)
Initialisation (arbitraire) :
∀i , βt=T (i) = 1
Recursion :
Comment puis partir de l’etat i a t etobserver la suite des xT
t+1 ?
1 Transition de i vers n’importe quel j
2 Observation de xt+1 (a partir de j)
3 ... Puis on continue sur βt+1(j)
1
2 i
N
S1 St St+1
X1 Xt Xt+1
Observations
Etats
... ... ...
Betat
MAPSI — cours 7 : Chaıne de Markov Cachee 33/62
App. complet : avant propos (et revision)
On a vu le calcul des α... Definissons maintenant les β :
βt (i) = p(xTt+1|st = i , λ), (sym. des α)
Initialisation (arbitraire) :
∀i , βt=T (i) = 1
Recursion :Comment puis partir de l’etat i a t etobserver la suite des xT
t+1 ?
1 Transition de i vers n’importe quel j
2 Observation de xt+1 (a partir de j)
3 ... Puis on continue sur βt+1(j)
βt (i) =N∑
j=1
aijbj(xt+1)βt+1(j)
1
2 i
N
S1 St St+1
X1 Xt Xt+1
Observations
Etats
... ... ...
Betat
MAPSI — cours 7 : Chaıne de Markov Cachee 33/62
App. complet : modelisation
Critere : max de vraisemblance sur les observationsBaum-Welsch simplifie : affectation en dur des etats :
+ comptage
s?t = arg maxi
p(st = i |xT1 )
Pour la version complete :⇒ distributions sur les variables manquantes
+ comptage pondere par les probabilites d’appartenance
γt (i) = p(st = i |xT1 , λ)
γt (i , j) = p(st = i , st+1 = j |xT1 , λ)
MAPSI — cours 7 : Chaıne de Markov Cachee 34/62
App. complet : modelisation (2)
γt (i) = p(st = i |xT1 , λ), γt (i , j) = p(st = i , st+1 = j |xT
1 , λ)
Les γ se calculent a partir des :
αt (i) = p(x t1, st = i |λ)
βt (i) = p(xTt+1|st = i , λ)
Exprimer les γ en fonction des α et β ??
MAPSI — cours 7 : Chaıne de Markov Cachee 35/62
App. complet : Demo γ(i , j)
γt (i , j) = p(st = i , st+1 = j |xT1 , λ)
En fonction de :
αt (i) = p(x t1, st = i |λ), βt (i) = p(xT
t+1|st = i , λ)
1
2 i j
N
St-1 St St+1 St+2
Xt-1 Xt Xt+1 Xt+2
Observations
Etats
... ...
...
...
...
...
...
...
MAPSI — cours 7 : Chaıne de Markov Cachee 36/62
App. complet : Demo γ(i , j)
γt (i , j) = p(st = i , st+1 = j |xT1 , λ)
En fonction de :
αt (i) = p(x t1, st = i |λ), βt (i) = p(xT
t+1|st = i , λ)
Debut (p(A|B) = p(A,B)p(B) ) :
γt (i , j) = p(st = i , st+1 = j |xT1 , λ)
=p(st = i , st+1 = j , xT
1 |λ)
p(xT1 |λ)
=αt (i)aijbj(xt+1)βt+1(j)
p(xT1 |λ)
1
2 i j
N
St-1 St St+1 St+2
Xt-1 Xt Xt+1 Xt+2
Observations
Etats
... ...
...
...
...
...
...
...
MAPSI — cours 7 : Chaıne de Markov Cachee 36/62
App. complet : Demo γ(i)
γt (i) = p(st = i |xT1 , λ), γt (i , j) = p(st = i , st+1 = j |xT
1 , λ)
γt (i) est une marginale par rapport a γt (i , j) !D’ou :
γt (i) =N∑
j=1
γt (i , j)
MAPSI — cours 7 : Chaıne de Markov Cachee 37/62
De γ aux parametres du MMC
γt (i) = p(st = i |xT1 , λ), γt (i , j) = p(st = i , st+1 = j |xT
1 , λ)
Quel est le lien entre γ et les parametres du modele?Interpretation :∑
t
γt (i , j) =∑
t
p(st = i , st+1 = j |xT1 , λ)
Esperance du nombre de transitions de i a j
∑t
γt (i) =∑
t
p(st = i |xT1 , λ)
Esperance du nombre de transitions issues de i
MAPSI — cours 7 : Chaıne de Markov Cachee 38/62
De γ aux parametres du MMC
γt (i) = p(st = i |xT1 , λ), γt (i , j) = p(st = i , st+1 = j |xT
1 , λ)
Quel est le lien entre γ et les parametres du modele?Interpretation :∑
t
γt (i , j) =∑
t
p(st = i , st+1 = j |xT1 , λ)
Esperance du nombre de transitions de i a j∑t
γt (i) =∑
t
p(st = i |xT1 , λ)
Esperance du nombre de transitions issues de i
MAPSI — cours 7 : Chaıne de Markov Cachee 38/62
De γ aux parametres du MMC
γt (i) = p(st = i |xT1 , λ), γt (i , j) = p(st = i , st+1 = j |xT
1 , λ)
Quel est le lien entre γ et les parametres du modele?Interpretation :∑
t
γt (i , j) =∑
t
p(st = i , st+1 = j |xT1 , λ)
Esperance du nombre de transitions de i a j∑t
γt (i) =∑
t
p(st = i |xT1 , λ)
Esperance du nombre de transitions issues de i
MAPSI — cours 7 : Chaıne de Markov Cachee 38/62
Mise a jour des parametres de A
Etant donne l’interpretation des γ :
aij =
∑t γt (i , j)∑t γt (i)
Il s’agit bien d’une sorte de comptage probabiliste des transitions
Assez simple pour les πi
πi = γ1(i), (naturellement normalise)
Un peu plus complique pour les probabilites d’emission :
˜bj(k) =
∑t t .q. xt=k
γt (j)∑t γt (j)
Comptage probabiliste quand on est dans l’etat j de genererl’observation k .
MAPSI — cours 7 : Chaıne de Markov Cachee 39/62
Algorithme de Baum-Welch
Algorithm 4: Baum-Welch pour l’apprentissage d’un MMCData: Observations : X , Structure= N,KResult: Π?, A?, B?
Initialiser λ0 = Π0,A0,B0;→ finement si possible;
t = 0;while convergence non atteinte do
Etape EForward/Backward : calcul des α, β;[OPT] Calcul des γ;Etape MMise a jour de Πt ,At ,Bt ;t = t + 1;
MAPSI — cours 7 : Chaıne de Markov Cachee 40/62
Convergence de la vraisemblance
Objectif de EMMaximiser la vraisemblanceie : faire coller un modele a desobservations
Vrai
sem
blan
ce
Paramètres (λ =Pi,A,B)
λ0
λ1
λ2
λ3
λ4 ...
Critere de convergence : maximisation de la vraisemblanceSoit ensemble de sequence d’observations : X = {xi}i=1,...,n
logL(X , λ) =n∑
i=1
log(p(xi|λ))
Note : les log(p(xi|λ)) sont calcules par Viterbi ou la methodedes α, selon la strategie d’optimisation choisie.
MAPSI — cours 7 : Chaıne de Markov Cachee 41/62
Convexite... Ou pas
Optimisation convexe :Vr
aise
mbl
ance
Paramètres (λ =Pi,A,B)
λ0
λ1
λ2
λ3
λ4 ...
Optimisation non-convexe :
Vrai
sem
blan
ce
Paramètres (λ =Pi,A,B)
λ0λ1λ2
λ3λ4
EMPas de garantie sur un optimum global dans le casnon-convexe...MMC = probleme non convexe en general
MAPSI — cours 7 : Chaıne de Markov Cachee 42/62
Convexite... Ou pas
Optimisation convexe :Vr
aise
mbl
ance
Paramètres (λ =Pi,A,B)
λ0
λ1
λ2
λ3
λ4 ...
Optimisation non-convexe :
Vrai
sem
blan
ce
Paramètres (λ =Pi,A,B)
λ0
λ1
λ2
λ3λ4
EMPas de garantie sur un optimum global dans le casnon-convexe...MMC = probleme non convexe en general ⇒Bien choisir λ0 !
MAPSI — cours 7 : Chaıne de Markov Cachee 42/62
Types de MMC (et importance de l’init.)
(a) Modele ergodique(= completement connecte)Modele gauche-droite
exhaustif (cf TME)(b) avec saut possible
(c) chemins paralleles
Modele cycliqueInitialisation aleatoire + connaissancea priori sur le probleme
MAPSI — cours 7 : Chaıne de Markov Cachee 43/62
Variante : MMC a observations continues
Cas le plus simple :1 etat j = 1 gaussienne N (µj , σj)
Pas de changement pour Π,A
Etats et observations
6
UPM
C -
M1
- MQ
IA -
T. A
rtièr
es
Une observation xt appartient a toute les gaussiennes (avecune ponderation) :
µj =
∑t
γt (j)xt∑t γt (j)
σ2j =
∑t
γt (j)(xt − µj)2
∑t γt (j)
Facilement extensible a une mixture de gaussiennes par etat(cf Rabiner)
MAPSI — cours 7 : Chaıne de Markov Cachee 44/62
Variante : MMC sur distributions multi-variees
Distribution des observations multi-variee = plusieursobservations a chaque pas de temps.
xT1 ⇒ xT
1 , xt ∈ Rd
⇒ Il suffit de prendre une distribution multi-variee pour lesemissions (eg : une gaussienne a D dimensions)
Ca ne change rien au reste de la resolution
MAPSI — cours 7 : Chaıne de Markov Cachee 45/62
Exemple : etiquetage morpho-syntaxique par desmodeles markoviens
Etape de traitement intermediaire pour des applications enlangage naturel et en recherche d’information.But :
Associer a chaque terme d’une phrase une etiquettemorpho-syntaxiqueExemple : article, preposition, adjectif, nom communsingulier, nom propre, nom commun pluriel, pronompersonnel, adverbe, verbe infinitif, verbe au present ou aupasse, etc. (entre 30 et 150 etiquettes)L’etiquetage doit determiner les categories syntaxiques desmots dans la phrase et doit en ce sens resoudre desproblemes d’ambiguıte.Performances : autour de 95 % en anglais
MAPSI — cours 7 : Chaıne de Markov Cachee 46/62
Exemple : etiquetage morpho-syntaxique par desmodeles markoviens
Demo online : http://nlp.stanford.edu:8080/parser/
MAPSI — cours 7 : Chaıne de Markov Cachee 47/62
Historique : etiquetage morpho-syntaxique
Information syntagmatique : utiliser les sequencesd’etiquettes non ambigues pour desambiguer : 1ersetiqueteurs (1971) 77% etiquettes correctes
Exemple wikipedia :”Papa aime Maman” et ”Le boulanger fait son pain” ont le meme axe syntagmatique.”Papa” et ”le boulanger ” sont des paradigmes du sujet, ”aime” et ”fait” sont desparadigmes du verbe, ”Maman” et ”son pain” sont des paradigmes du complement.
Information lexicale statistique : attribuer a un mot sonetiquette la plus frequente (1987) : 90 %Premiers etiqueteurs performants sont bases sur desmodeles markoviens (1990)Actuellement bon etiqueteurs statistiques ou/et a base deregles : utiliser a la fois l’information lexicale et l’informationsur les sequences d’etiquettes.
MAPSI — cours 7 : Chaıne de Markov Cachee 48/62
Modelisation (Markovienne)wi i eme mot de la sequenceti etiquette associee a wit(i) i eme etiquette parmi l’ensemble d’etiquettesw(i) i eme mot du corpusC(w(i)) ] occurrences de w(i) dans le corpusC(t(i)) ] occurrences de t(i) dans le corpusC(t(i), t(k)) ] occurrences du couple t(i)− t(k) dans le corpusC(w(i), t(k)) ] occurrences de w(i) etiquetees t(k) dans le corpusw j
i , tji sequences de mots (etiquettes) wi . . .wj (ti . . . tj )
On retrouve les notations markoviennes classiques.
Subtilite : projection dans la sequence d’une part et sur undictionnaire d’autre part.
Questions :
Quels sont les etats, les observations?Quelle hypothese faire sur l’automate?
MAPSI — cours 7 : Chaıne de Markov Cachee 49/62
Modelisation (2)
On peut partir d’un modele ergodique (completementconnecte)Modele MMC (d’ordre 1)
Etats : etiquettes
p(ti+1|t i1) = p(ti+1|ti ), p(ti |tj ) =
C(ti , tj )C(tj )
Observation : mots (par rapport aux etats=etiquettes)
p(w(i)|t(j)) =C(w(i), t(j))
C(t(j))
Etiquetage optimal (= etiquettes les plus vraisemblables)
arg maxtn1
p(tn1 |wn
1 ) = arg maxtn1
p(wn1 |tn
1 )p(tn1 )
= arg maxtn1
n∏i=1
p(wi |ti )p(ti |ti−1)
MAPSI — cours 7 : Chaıne de Markov Cachee 50/62
Differences avec les MMC classiques
Differences :ici, on utilisera des corpus etiquetes au niveau motce sont donc des modeles de markov � visibles �
on peut egalement mixer des donnees non etiquetees etdes donnees etiquetees : apprentissage semi-supervise
Algorithme d’apprentissagepour tous les tags t(i), t(j), pour tous les mots w(i) :
p(ti |tj ) =C(ti , tj )C(tj )
, p(w(i)|t(j)) =C(w(i), t(j))
C(t(j))
Interet principal : le decodageUtilisation de Viterbi, estimation des :
δi (j) = maxt i−11
p(t i−11 , ti = j ,w i
1|λ), Init : δi (.) = 1, δi (x 6= .) = 0
Quelle est la probabilite de l’etiquette j et de l’ensemble du passe(mots + etiquetage)
MAPSI — cours 7 : Chaıne de Markov Cachee 51/62
Reconnaissance de paroles / ecrits
8
pour la transmission téléphonique une loi de quantification logarithmique et chaque échantillon est représenté sur 8 bits (256 valeurs). Par contre, la quantification du signal musical exige en principe une quantification linéaire sur 16 bits (65536 valeurs).
Une caractéristique essentielle qui résulte du mode de représentation est le débit binaire, exprimé en bits par seconde (b/s), nécessaire pour une transmission ou un enregistrement du signal vocal. La transmission téléphonique classique exige un débit de 8 kHz x 8 bits = 64 kb/s; la transmission ou l’enregistrement d’un signal audio exige en principe un débit de l’ordre de 48 kHz x 16 bits = 768 kb/s (à multiplier par deux pour un signal stéréophonique)5.
Mo t “paren thèse”
t emps (s)
é=======~==========ô=============~F=================í======================b=========================ò====
Mo t “effacer”
t emps (s)===b================Ñ===============~==================ë===========================É
Fig. 1.2 Audiogramme de signaux de parole.
5 La redondance naturelle du signal vocal permet de réduire le débit binaire dans une très large mesure, au prix d’un traitement plus ou moins complexe et au risque d’une certaine dégradation de la qualité de la représentation. Cette question sera abordée en détail au chapitre 4¸ consacré au codage de la parole.
Credit : Thierry Dutoit (Univ. Mons)
Tache de segmentation+ reconnaissance
Pre-traitements et miseen forme
CaracteristiquesfrequentiellesPuissance...
Fenêtre
Vecteurde paramètres = Observation
unité de son = classif. sous seq.
MAPSI — cours 7 : Chaıne de Markov Cachee 52/62
Reconnaissance de paroles / ecrits
UPM
C -
M1
- MQ
IA -
T. A
rtièr
es
24 MAPSI — cours 7 : Chaıne de Markov Cachee 53/62
Architecture
1 modele par unite de son (e.g. dictionnaire phonetique)Classification de séquences
UPM
C -
M1
- MQ
IA -
T. A
rtièr
es
25
MAPSI — cours 7 : Chaıne de Markov Cachee 54/62
Architecture
... Et re-bouclage apres detection
Etiquetage de séquences
UPM
C -
M1
- MQ
IA -
T. A
rtièr
es
26
MAPSI — cours 7 : Chaıne de Markov Cachee 54/62
Architecture
... Modele cyclique
UPM
C -
M1
- MQ
IA -
T. A
rtièr
es
27
MAPSI — cours 7 : Chaıne de Markov Cachee 54/62
Architecture
Apprentissage classique :
Apprentissage pour l’étiquetage
UP
MC
- M
1 - M
QIA
- T.
Arti
ères
28 MAPSI — cours 7 : Chaıne de Markov Cachee 54/62
Post-processing (affinage)
SoftStats d’enchainements de caracteres (bi-trigrams)
HardUtilisation d’une structure d’arbre prefixe+ Strategie d’elagage Beam-search (autour du meilleur)
la valeur du beam (nb de faisceaux),le nombre maximal d’hypotheses actives
Reconnaissance guidée par un dictionnaire
DE
SS
SM
C –
200
3/20
04
30 MAPSI — cours 7 : Chaıne de Markov Cachee 55/62
Segmentation image
Bases etiquetees : exemple Sift flowhttp://www.cs.unc.edu/˜jtighe/Papers/ECCV10/
0 50 100 150 200 250
0
50
100
150
200
2500 50 100 150 200 250
0
50
100
150
200
250
Comment gerer cette situation?MAPSI — cours 7 : Chaıne de Markov Cachee 56/62
Segmentation image
Bases etiquetees : exemple Sift flowhttp://www.cs.unc.edu/˜jtighe/Papers/ECCV10/
0 50 100 150 200 250
0
50
100
150
200
2500 50 100 150 200 250
0
50
100
150
200
250
Comment gerer cette situation?MAPSI — cours 7 : Chaıne de Markov Cachee 56/62
Reseau de Markov (chaine 2D)
0 50 100 150 200 250
0
50
100
150
200
2500 50 100 150 200 250
0
50
100
150
200
250
0 50 100 150 200 250
0
50
100
150
200
2500 50 100 150 200 250
0
50
100
150
200
250
Est-il possible de definir un modele de markov 2D?
MAPSI — cours 7 : Chaıne de Markov Cachee 57/62
Reseau de Markov (chaine 2D)
0 50 100 150 200 250
0
50
100
150
200
2500 50 100 150 200 250
0
50
100
150
200
250
0 50 100 150 200 250
0
50
100
150
200
2500 50 100 150 200 250
0
50
100
150
200
250
Est-il possible de definir un modele de markov 2D?Matrice de transition tres complexe (meme en simplifiant)Viterbi ingerable
MAPSI — cours 7 : Chaıne de Markov Cachee 57/62
Proposition 1
Utilisation de l’echantillonnage de Gibbs (cas particulier deMCMC, cf semaine prochaine)
22 C. ANDRIEU ET AL.
proposal distribution for j = 1, . . . , n
q(
x⋆∣
∣ x (i)) ={
p(
x⋆j
∣
∣ x (i)− j
)
If x⋆− j = x (i)
− j
0 Otherwise.
The corresponding acceptance probability is:
A(
x (i), x⋆)
= min
{
1,p(x⋆)q
(
x (i)∣
∣ x⋆)
p(
x (i))
q(
x⋆|x (i))
}
= min
{
1,p(x⋆)p
(
x (i)j
∣
∣ x (i)− j
)
p(
x (i))
p(x⋆j |x⋆
− j )
}
= min
{
1,p(
x⋆− j
)
p(
x (i)− j
)
}
= 1.
That is, the acceptance probability for each proposal is one and, hence, the deterministicscan Gibbs sampler algorithm is often presented as shown in figure 12.
Since the Gibbs sampler can be viewed as a special case of the MH algorithm, it ispossible to introduce MH steps into the Gibbs sampler. That is, when the full conditionalsare available and belong to the family of standard distributions (Gamma, Gaussian, etc.),we will draw the new samples directly. Otherwise, we can draw samples with MH stepsembedded within the Gibbs algorithm. For n = 2, the Gibbs sampler is also known as thedata augmentation algorithm, which is closely related to the expectation maximisation (EM)algorithm (Dempster, Laird, & Rubin, 1977; Tanner & Wong, 1987).
Directed acyclic graphs (DAGS) are one of the best known application areas for Gibbssampling (Pearl, 1987). Here, a large-dimensional joint distribution is factored into a directedgraph that encodes the conditional independencies in the model. In particular, if x pa( j)
Figure 12. Gibbs sampler.
Generer des points selon unedistribution jointe complexe
Generation d’une populationStatistique sur les etats (avec une hypothesed’independance pour relacher les contraintes)
An Introduction to MCMC for Machine LearningAndrieu, De Freitas, Doucet, Jordan
MAPSI — cours 7 : Chaıne de Markov Cachee 58/62
Proposition 2
Definir un arbre aleatoire dans l’image
0 50 100 150 200 250
0
50
100
150
200
250
0 50 100 150 200 250
0
50
100
150
200
250
Utiliser une variante de viterbi dans les arbres...Et iterer le processus !
MAPSI — cours 7 : Chaıne de Markov Cachee 59/62
Proposition 3 : Conditional Random Fields
Sequence/champs de mots/pixels x = {x1, . . . , xT}Sequence/champ d’etiquettes s
Introduction de fonctions de scoring basees sur desdescripteurs structures :
score(s,x) =∑j∈C
T∑t=1
λj fj(x, t , st , st−1)
Si on prefere des probabilites (comme pour la regressionlogistique) :
p(s,x) =1Z
exp(score(s,x)) et : p(s|x) =exp(score(s,x))∑s′ exp(score(s′,x))
Mc callum http://people.cs.umass.edu/˜mccallum/papers/crf-tutorial.pdfhttp://pages.cs.wisc.edu/˜jerryzhu/cs838/CRF.pdf
MAPSI — cours 7 : Chaıne de Markov Cachee 60/62
Apprentissage CRF
Critere a optimiser : vraisemblance conditionnelle (cfregression logistique)
p(s|x) =1
Z (x)exp
∑j
T∑t=1
λj fj(x, t , st , st−1)
Lcond =
∑n
log p(sn|xn) =∑
n
∑j
T∑t=1
λj fj(xn, t , snt , s
nt−1)−
∑n
log(Z (xn))
Comment optimiser?
MAPSI — cours 7 : Chaıne de Markov Cachee 61/62
Apprentissage CRF
Critere a optimiser : vraisemblance conditionnelle (cfregression logistique)
p(s|x) =1
Z (x)exp
∑j
T∑t=1
λj fj(x, t , st , st−1)
Lcond =
∑n
log p(sn|xn) =∑
n
∑j
T∑t=1
λj fj(xn, t , snt , s
nt−1)−
∑n
log(Z (xn))
Comment optimiser?Montee de gradient ∂L
∂λj
λj ← λj+∑n,t
fj(xn, t , snt , s
nt−1)−
∑n,t
∑s′t ,s′t−1
fj(xn, t , s′t , s′t−1)p(s′t , s
′t−1|xn)
MAPSI — cours 7 : Chaıne de Markov Cachee 61/62
Apprentissage CRF
Critere a optimiser : vraisemblance conditionnelle (cfregression logistique)
p(s|x) =1
Z (x)exp
∑j
T∑t=1
λj fj(x, t , st , st−1)
Lcond =
∑n
log p(sn|xn) =∑
n
∑j
T∑t=1
λj fj(xn, t , snt , s
nt−1)−
∑n
log(Z (xn))
Comment optimiser?
La difficulte reside essentiellement dans le facteur denormalisation
MAPSI — cours 7 : Chaıne de Markov Cachee 61/62
CRF : bilan
Un formalisme discriminant tres performant...Mais un cout d’inference eleve
score(s,x) =∑j∈C
T∑t=1
λj fj(x, t , st , st−1)
La fonction de scoring n’est pas triviale
MAPSI — cours 7 : Chaıne de Markov Cachee 62/62