modèle de markov cachée hidden markov model (hmm) - cours
TRANSCRIPT
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.
n Rappel:
2
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
iii ppSEntropie
12log)(
∑∈
−=)(
)()(),(AValeursv
vv SEntropieSS
SEntropieASGain
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
n Modèle du premier ordre
6 Ref: http://fr.wikipedia.org/wiki/Chaîne_de_Markov
P(qt = j | qt!1 = i,qt!1 = k,...) = P(qt = j | qt!1 = i)
O = {q1,q2,...,qT}
Modèle de Markov Typiquement représenté par une machine à états finis
7
P (q1)
N (q2)
S (q3)
0.6 0.4
0.8
0.3
0.1
0.2 0.3
0.2 0.1
A =a1,1 a1,2 a1,3a2,1 a2,2 a2,3a3,1 a3,2 a3,3
!
"
####
$
%
&&&&
=0.4 0.3 0.30.2 0.6 0.20.1 0.1 0.8
!
"
###
$
%
&&&
Probabilités de transition:
Probabilités initales:
! = [p(q1), p(q2 ), p(q3)]
Balles dans des urnes
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
p(rouge) = b1(1)p(vert) = b1(2)p(bleu) = b1(3)p( jaune) = b1(4)
p(rouge) = b2 (1)p(vert) = b2 (2)p(bleu) = b2 (3)p( jaune) = b2 (4)
p(rouge) = b3(1)p(vert) = b3(2)p(bleu) = b3(3)p( jaune) = b3(4)
Simple HMM à états discrets
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
q1 q2
q3
0.6 0.4
0.8
0.3
0.2
0.2 0.1
0.1 0.3
0.30.30.4
!
"
###
$
%
&&&
0.40.20.4
!
"
###
$
%
&&&
0.20.10.6
!
"
###
$
%
&&&
Probabilité d’observation (3 couleurs)
États (3 urnes)
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: ¨ 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:
{ }1 2 3, , , , TO o o o o= L
10
Définition d’un HMM n Distribution de prob. d’observation ok à l’état j:
¨ Ensemble de toutes les observations: n Distribution des états initiaux:
¨ Ensemble de tous les états initiaux:
n Un HMM est décrit par:
( ) ( ) 1 , 1j k t jb k P o q s j N k T= ⎪ = ≤ ≤ ≤ ≤
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:
n Avec T observations et N états dans le modèle: ¨ NT séquences d’états possibles ¨ Approximativement T*NT opérations requises
15
p(O | !) = p(O,Q | !)Q! = p(O |Q,!)p(Q | !)
Q!
p(O |Q,!) = bq1 (o1)•bq2 (o2 )•!•bqT (oT )
p(Q | !) = " q1aq1q2aq2q3...aqT!1qT
Exemple: Pile ou face avec deux pièces de monnaie
É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
16
q0 q1
0.5 0.5
0.5
0.5
p( face) = 0.5p(pile) = 0.5
!
"##
$
%&&
p( face) = 0.4p(pile) = 0.6
!
"##
$
%&&
P(FPP) : 0.136125
O={Face,Pile,Pile}
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
19
ot ot+1
α1j
α Nj
sj
20
q0
q1
0.5*0.5
0.5*0.4
0.0619 0.1125
0.135 0.0743
Face Pile Pile
0.5*0.25 0.5*0.1125
0.5*0.2 0.5*0.135
0.1361
q0 q1
0.5 0.5
0.5
0.5
p( face) = 0.5p(pile) = 0.5
!
"##
$
%&&
p( face) = 0.4p(pile) = 0.6
!
"##
$
%&&
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
n Initialisation:
n Induction:
n Terminaison:
n n Avec T observations et N états, ceci requiert
environ N2T opérations
22
ot+1,ot+2,…,oM
23
24
q0
q1 1.0
0.55 0.3025 1.0
0.3025 0.55
Pile Pile
0.5*0.5*0.55 0.5*0.5*1.0
0.5*0.6*0.55
0.5*0.6*1.0
0.1361
q0 q1
0.5 0.5
0.5
0.5
p( face) = 0.5p(pile) = 0.5
!
"##
$
%&&
p( face) = 0.4p(pile) = 0.6
!
"##
$
%&&
Face
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
Séquence d’observation: GGCACTGAA
30
q0 q1
-0.737 -1
-1
-1.322
A = !2.322C = !1.737G = !1.737T = !2.322
"
#
$$$$$
%
&
'''''
A = !1.737C = !2.322G = !2.322T = !1.737
"
#
$$$$$
%
&
'''''
! = !1 !1"#
$%
G G C A C T G A A
q0 -2.737 -5.474 -8.211 -11.533
-14.007
-17.329
-19.540
-22.862
-25.658
q1 -3.322 -6.059 -8.796 -10.948
-14.007
-16.481
-19.540
-22.014
-24.488
Séquence : q1 q1 q1 q2 q2 q2 q2 q2 q2
Source :Exemple de Didier Gonze adapter de Borodovsky & Ekisheva (2006), p. 80- 81
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