Vous êtes sur la page 1sur 38

Modèle de Markov cachée

Hidden Markov Model


(HMM)

1
Exercice arbres de décision
n  Construire l’arbre de décision à partir des données
suivantes en utilisant l’algorithme ID3.
Présence Interaction avec le prof Mange à Noël Réussite
Régulière Pose des questions Dinde Oui
Régulière Ne pose pas de questions Canard Non
Absence Pose des questions Dinde Non
Régulière Pose des questions Canard Oui
Régulière Ne pose pas de questions Dinde Non
Régulière Ne pose pas de questions Canard Oui
Source: http://dolques.free.fr/enseignement/2012/IA/CFAI/exo.pdf

c
n  Rappel: Entropie ( S ) = ∑ − pi log 2 pi
i =1
Sv
Gain( S , A) = Entropie( S ) − ∑ Entropie( S v )
v∈Valeurs ( A ) S
2
Problème de la compression/
dilation du temps

3
Topologies typiques

4
Comment estimer les
probabilités associés à la
machine à états finis?

5
Modèle de Markov
n  Un processus de Markov est un processus stochastique
possédant la propriété de Markov
La prédiction du future, sachant le présent, n est pas plus
précise si des informations supplémentaire concernant le
passé deviennent disponibles.

n  Séquence d’observations


O = {q1, q2 ,..., qT }

n  Modèle du premier ordre


P(qt = j | qt!1 = i, qt!1 = k,...) = P(qt = j | qt!1 = i)

6 Ref: http://fr.wikipedia.org/wiki/Chaîne_de_Markov
Modèle de Markov
Typiquement représenté par une machine à états finis
0.4 0.6
Probabilités de transition:
0.3 ! a
P N a1,2 a1,3 $ ! 0.4 0.3 0.3 $
# 1,1 & # &
(q1) 0.2 (q2)
A = # a2,1 a2,2 a2,3 & = # 0.2 0.6 0.2 &
0.3 # & # 0.1 0.1 0.8 &
0.1 #" a3,1 a3,2 a3,3 &% " %
0.1
0.2
Probabilités initales:
S
(q3)
0.8
! = [ p(q1 ), p(q2 ), p(q3 )]

7
Balles dans des urnes

p(rouge) = b1 (1) p(rouge) = b2 (1) p(rouge) = b3 (1)


p(vert) = b1 (2) p(vert) = b2 (2) p(vert) = b3 (2)
p(bleu) = b1 (3) p(bleu) = b2 (3) p(bleu) = b3 (3)
p( jaune) = b1 (4) p( jaune) = b2 (4) p( jaune) = b3 (4)

n  N urnes et balles de différentes couleurs


n  Un génie joue une partie:
¨  Il choisit une urne au hasard.
¨  Il choisit une balle au hasard d’une urne.
¨  Il prend en note la couleur de la balle comme étant une observation.
¨  Il retourne la balle dans l’urne.
¨  Il répète l’opération et génère une séquence d’observations de
couleurs.

8
Simple HMM à états discrets
0.4 0.6

! 0.3 $ 0.3 ! 0.2 $


# & # &
# 0.3 & q1 q2 # 0.1 &
# 0.4 &
" % 0.2 # 0.6 &
" %
0.1
0.2
Probabilité 0.3
0.1
d’observation États
(3 couleurs) ! 0.4 $ (3 urnes)
q3 # &
0.8 # 0.2 &
# 0.4 &
" %
Correspond à un simple HMM
¨  Probabilité de l’état initial: probabilité de la sélection étant à l’urne i
¨  Probabilité d’observation: probabilité de choisir une couleur n
sachant qu’elle provienne de l’urne i
¨  Probabilité de transition: probabilité de choisir une couleur de l’urne i
étant donné que le choix précédent provenait de l’urne j

9
Définition d’un HMM
n  N: nombre d’états dans le modèle
¨  États:
¨  État au temps t:
n  T: nombre d’observations/trames
¨  Symboles d’observations: O = {o , o , o ,L , oT }
1 2 3
¨  Observation au temps t:
n  Distribution de prob. de transition d’états:
¨  Transition entre l’état si au temps t et l’état sj
au temps t+1:

¨  Ensemble de toutes les transitions d’états:

10
Définition d’un HMM
n  Distribution de prob. d’observation ok à l’état j:
b j (k ) = P(ok⎪qt = s j ) 1 ≤ j ≤ N , 1 ≤ k ≤ T
¨  Ensemble de toutes les observations:
n  Distribution des états initiaux:

¨  Ensemble de tous les états initiaux:

n  Un HMM est décrit par:

11
Génération des observations
1.  Choisir un état initial à partir de la distribution des états
initiaux
2.  Pour t =1 à T
1.  Choisir ot en fonction de la probabilité d’observation d’un
symbole à l’état i :
2.  Faire une transition à un nouvel état en fonction de la
probabilité de transition d’états

12
Représentation sous forme de treillis des HMM

n  Chaque noeud du treillis est l’événement où une observation ot est


générée alors que le modèle occupait l’état si

13
3 Problèmes de base des HMM
1.  Évaluation:
1.  Problème: calculer la probabilité d’observation de la séquence
d’observations étant donnée un HMM:
2.  Solution: Forward Algorithm
2.  Décodage:
1.  Problème: trouver la séquence d’états qui maximise la
séquence d’observations
2.  Solution: Viterbi Algorithm
3.  Entraînement:
1.  Problème: ajuster les paramètres du modèle HMM afin de
maximiser la probabilité de générer une séquence
d’observations à partir de données d’entraînement
2.  Solution: Forward-Backward Algorithm

14
Évaluation
n  doit être évaluée pour toutes les séquences d’états
Q={q1,q2,…,qT} possibles:

p(O | ! ) = ! p(O,Q | ! ) = ! p(O | Q, ! )p(Q | ! )


Q Q

p(O | Q, ! ) = bq1 (o1 )• bq2 (o2 )•!• bqT (oT )

p(Q | ! ) = " q1 aq1q2 aq2q3 ...aqT !1qT


n  Avec T observations et N états dans le modèle:
¨  NT séquences d’états possibles
¨  Approximativement T*NT opérations requises

15
Exemple: Pile ou face avec deux pièces de
monnaie 0.5 0.5
O={Face,Pile,Pile}
! p( face) = 0.5 $ 0.5 ! p( face) = 0.4 $
# & # &
#" p( pile) = 0.5 &% q0 q1 #" p( pile) = 0.6 &%
0.5

États p(États) p(FPP|États) Résultat


q0,q0,q0 0.5*0.5*0.5=0.125 0.5*0.5*0.5=0.125 0.015625
q0,q0,q1 0.5*0.5*0.5=0.125 0.5*0.5*0.6=0.150 0.01875
q0,q1,q0 0.5*0.5*0.5=0.125 0.5*0.6*0.5=0.150 0.01875
q0,q1,q1 0.5*0.5*0.5=0.125 0.5*0.6*0.6=0.180 0.0225
q1,q0,q0 0.5*0.5*0.5=0.125 0.4*0.5*0.5=0.100 0.0125
q1,q0,q1 0.5*0.5*0.5=0.125 0.4*0.5*0.6=0.120 0.015
q1,q1,q0 0.5*0.5*0.5=0.125 0.4*0.6*0.5=0.120 0.015
q1,q1,q1 0.5*0.5*0.5=0.125 0.4*0.6*0.6=0.125 0.018

P(FPP) : 0.136125
16
Forward Algorithm
n  Une approche plus efficace pour évaluer

n  Définissons ….

n  … comme étant la probabilité d’observations o1 à ot avec


la séquence d’états qui se termine à l’état qt=si pour
l’HMM

17
1.  Initialisation:

2.  Induction:

3.  Terminaison:

Avec T observations et N états, ceci requiert environ N2T opérations

18
Forward Algorithm
o ot+1
t

α1j

sj

α Nj

19
0.5 0.5

! p( face) = 0.5 $ 0.5 ! p( face) = 0.4 $


# & # &
#" p( pile) = 0.5 &% q0 q1 #" p( pile) = 0.6 &%
0.5

Face Pile Pile


0.5*0.25 0.1125 0.5*0.1125 0.0619
0.5*0.5
q0
0.1361

0.5*0.4
q1 0.135 0.0743
0.5*0.2 0.5*0.135

20
Backward Algorithm
n  Une approche efficace pour évaluer dans la
direction inverse

n  Définissons

n  comme étant la probabilité d’observations ot+1 à oT avec


la séquence d’états qui se termine à l’état qt=si pour
l’HMM

21
ot+1,ot+2,…,oM

n  Initialisation:

n  Induction:

n  Terminaison:

n 
n  Avec T observations et N états, ceci requiert
environ N2T opérations

22
23
0.5 0.5

! p( face) = 0.5 $ 0.5 ! p( face) = 0.4 $


# & # &
#" p( pile) = 0.5 &% q0 q1 #" p( pile) = 0.6 &%
0.5

Face Pile Pile

0.3025 0.5*0.5*0.55 0.55 0.5*0.5*1.0 1.0 q0

0.1361

0.3025 0.5*0.6*1.0 1.0


0.55 q1
0.5*0.6*0.55

24
3 Problèmes de base des HMM
1.  Évaluation:
¨  Problème: calculer la probabilité d’observation de la séquence
d’observation étant donnée un HMM:
¨  Solution: Forward Algorithm
2.  Décodage:
¨  Problème: trouver la séquence d’état qui maximise la séquence
d’observations
¨  Solution: Viterbi Algorithm
3.  Entraînement:
¨  Problème: ajuster les paramètres du modèle HMM afin de
maximiser la probabilité de générer une séquence d’observation
à partir de données d’entraînement
¨  Solution: Forward-Backward Algorithm

25
Problème de décodage:
chercher la séquence optimale d’états
n  Critère d’optimalité: choisir la séquence d’états qui
maximize la probabilité en utilisant l’algorithme
de Viterbi

26
Problème de décodage:
chercher les séquences optimales d’états
n  Définissons …

n  comme étant la probabilité conjointe des observations o1


à ot et la séquence d’états q1q2q3…qt se terminant à
l’état qt=si étant donné l’HMM

n  Nous pouvons montrer par induction que:

27
28
Algorithme de Viterbi
n  Cumuler les probabilités de chemins maxima:
n  Garder la trace des meilleures séquences :

29
Exemple Viterbi
-1 -0.737
! = "# !1 !1 $% " A = !2.322 % " A = !1.737 %
$ ' -1 $ '
$ C = !1.737 ' $ C = !2.322 '
$ G = !1.737 ' q0 q1 $ G = !2.322 '
$ ' -1.322 $ '
$# T = !2.322 '& $# T = !1.737 '&

Séquence d’observation: GGCACTGAA

G G C A C T G A A
q0 -2.737 -5.474 -8.211 -11.53 -14.00 -17.32 -19.54 -22.86 -25.65
3 7 9 0 2 8
q1 -3.322 -6.059 -8.796 -10.94 -14.00 -16.48 -19.54 -22.01 -24.48
8 7 1 0 4 8

Séquence : q1 q1 q1 q2 q2 q2 q2 q2 q2

Source :Exemple de Didier Gonze adapter de Borodovsky & Ekisheva (2006), p. 80- 81

30
3 Problèmes de base des HMM
1.  Évaluation:
¨  Problème: calculer la probabilité d’observation de la séquence
d’observation étant donnée un HMM:
¨  Solution: Forward Algorithm
2.  Décodage:
¨  Problème: trouver la séquence d’état qui maximise la séquence
d’observations
¨  Solution: Viterbi Algorithm
3.  Entraînement:
¨  Problème: ajuster les paramètres du modèle HMM afin de
maximiser la probabilité de générer une séquence d’observation
à partir de données d’entraînement
¨  Solution: Forward-Backward Algorithm

31
Entraînement des HMM
n  Consiste à entraîner les paramètres du modèle HMM
afin de maximiser la probabilité

n  L’entraînement se fait avec l’algorithme Forward-


Backward qui est aussi appelé l’algorithme Baum-Welch

32
Algorithme Forward-Backward
n  Soit un modèle HMM initial, , estimons un nouvel
ensemble de paramètres du modèle de telle sorte
que

n  Utilisons les probabilités forward et backward


pour ce faire;

n  Et l’algorithme d’expectation-maximization:


¨  EM Algorithm

33
Réestimation des paramètres
n  Définissons

n  comme la probabilité d’être à l’état si au temps t et à


l’état sj au temps t+1 étant donné le modèle et la
séquence d’observations O

34
35
Réestimation des paramètres
n  Définissons de nouvelles probabilités a posteriori à partir
de

n  Nombre de transitions à partir de si:


¨  Exprimée en fréquence relative

n  Nombre de transitions de si à sj:


¨  Exprimée en fréquence relative

n  Nous allons utiliser ces probabilités pour ré-estimer les


paramètres HMM

36
Réestimation des paramètres
n  Probabilité des états initiaux:

n  Probabilités de transition:

n  Probabilités d’observations

37
Réestimation des paramètres

38

Vous aimerez peut-être aussi