Les Modèles de Markov Cachés

publicité
1. INTRODUCTION
La notion de l’optimisation est un mécanisme par lequel on trouve la valeur Maximale ou
minimale d’une fonction objectif. Cette optimisation permet de résoudre différents problèmes
on utilise une méthode de résolution. Dans ce rapport on va donner une une approche
théorique sur la méthode classique,HMM (le modèle de markov caché).
2. LA CHAINE DE MARKOV :
Une chaîne de Markov est de manière générale un processus de Markov à temps discret et à
espace d'états discret. En mathématiques, un processus de Markov est un processus
stochastique (Le calcul classique des probabilités) possédant la propriété de Markov de
manière simplifiée, la prédiction du futur, sachant le présent, n'est pas rendue plus précise par
des éléments d'information supplémentaires concernant le passé ; toute l'information utile
pour la prédiction du futur est contenue dans l'état présent du processus. Les processus de
Markov portent le nom de leur découvreur, Andreï Markov.
2.1 HISTORIQUE :
Les chaînes de Markov sont inventées par Andreï Markov:( 2 juin 1856 - 20
juillet 1922 était un mathématicien russe), Ses travaux sur la théorie des
probabilités l'ont amené à mettre au point les chaînes de Markov qui l'ont rendu
célèbre. Il a publié les premiers résultats sur les chaînes de Markov à espace
d'états fini en 1906.
La théorie des modèles de Markov cachés a été développée dans les années 1960
et début 1970 par Baum, Eagon, Petrie, Soules et Weiss (Baum et Petrie, 1966;
Baum et Eagon 1967; Baum et al. 1970; Baum 1972), tandis que le nom de
«modèle de Markov caché» a été inventé par LP Neuwirth.
2.2 LES MODELES DE MARKOV A TEMPS DISCRETE :
2.2.1 Notions de base :
Un processus de Markov est un système à temps discret se trouvant à chaque
instant dans un état pris parmi N états distincts. Les transitions entre les états se
produisent entre deux instants discrets consécutifs, selon une certaine loi de
probabilité. Dans le cas de chaîne de Markov du premier ordre, les probabilités
de transition d’un état vers un autre ne dépendent que de l’état présent :
qt représentant l’état du système à l’instant t. Lorsque, en outre, ces probabilités
sont indépendantes du temps, les paramètres du modèle se réduisent aux
coefficients de transition suivants :
1
Lesquels obéissent aux contraintes habituelles des probabilités :
N.B : Modèle graphique = mariage entre la théorie des graphes et la théorie des
probabilités (graphe d’états et probabilités de transition). Diagramme d’états
d’un processus de Markov discret :
Ce processus stochastique peut être appelé modèle de Markov
observable, puisque chaque état correspond à un état physique observable du
système à chaque instant t. Un tel système peut se concevoir comme une
situation météorologique, changeant en des instants discrets, et présentant
différentes probabilités de transition d’un état du ciel à l’autre.
Exemple de Modèle de Markov discret :
2
Chaque séquence d’observations (constituée des temps successifs qu’il fait,
comme par exemple : (Ensoleillé, Nuageux, Pluvieux, Ensoleillé, E, N, P,E, …)
correspond à une suite d’états du modèle . La probabilité d’observer cette
séquence ENNPEENPP... se calcule selon :
Chaîne de Markov du premier ordre :
– l’état courant ne dépend que de l’état précédent :
P(st = S | sjt-1= S , si = St-2k ,…) = P(st = Sj | st-13 = Si ) = aij
Probabilité de transition entre l’état Si et l’état Sj
Les Modèles de Markov Cachés :
Soit l’expérience suivante : une personne dispose de trois urnes, numérotées de
1 à 3. Chacune de ces urnes contient des billes de quatre couleurs différentes, en
proportions diverses. A chaque instant, la personne prend une bille et en
annonce la couleur, mais ne dévoile pas le numéro de l’urne dont provient la
bille. La séquence d’observations est de la forme: rouge, bleu, jaune, jaune,
vert, …
Exemple de Modèle de Markov Caché à temps discret.
3
2.4.1 PARAMETRES D’UN MODELE DE MARKOV CACHE :
Les paramètres qui déterminent complètement un modèle de Markov caché sont
les suivants :
1. le nombre N d’états ;
2. le nombre M d’observations possibles, V={v}, k=1,2,…M étant l’alphabet
des symboles observables ;
3. la matrice A={aij} des probabilités de transition :
Ces paramètres contrôlant le processus stochastique caché ;
4. la matrice B={bj(k)}, des probabilités associées à chacune des observations
possibles vk , dans chacun des états j ;
Ces paramètres contrôlant la séquence d’observations ;
5. la probabilité initiale de chacun des N états, définies par : L’ensemble des
paramètres du modèle λ s’écrit alors :
L’ensemble des paramètres du modèle s’écrit alors :
2.4.2 LES TROIS PROBLEMES DE BASE :
La modélisation de processus réels par des modèles de Markov cachés nécessite
la résolution des trois problèmes de base suivants :
1. Etant donné un modèle λ(A,B,p) comment calculer la probabilité p(O|λ) d’une
séquence particulière d’observations O ={o1,o2,…,oT} ?
2. Etant donné un modèle λ(A,B,p) comment déterminer la séquence optimale
d’états Q={q1,q2,…,qT} qui a donné naissance à la séquence d’observations
O ={o1,o2,…,oT} ?
3. Etant donnée une séquence d’observations O ={o1,o2,…,o} comment ajuster
les paramètres du modèle λ(A,B,p) afin de maximiser la valeur de p(O|λ) ? Le
premier problème est celui de l’évaluation, qui consiste à déterminer, pour un
4
modèle et une séquence d’observations donnés, quelle est la probabilité que la
séquence observée ait été produite par le modèle. Cette évaluation permet de
mesurer la qualité avec laquelle un modèle donné représente une séquence
d’observations. Elle se montre donc particulièrement utile pour choisir, parmi
plusieurs modèles, celui qui correspond le mieux à cette séquence, c’est-à-dire
pour effectuer de la classification. Le deuxième problème est une tentative de
lever le voile recouvrant la partie cachée du modèle. Il consiste en effet en la
détermination de la séquence optimale d’états qui a donné lieu à la séquence
observée. Il peut avoir ou non une signification : si chaque état représente un
élément physique, par exemple une lettre de l’alphabet, l’estimation de la
séquence des états permettra d’identifier les lettres entrant dans la composition
d’un mot. Mais une telle interprétation physique des états du modèle n’est pas
toujours aussi aisée dans certaines applications. Le troisième problème est celui
de l’entraînement, consistant à adapter les paramètres du modèle de façon à
maximiser la probabilité de la séquence d’observations (rebaptisée alors
séquence d’entraînement) pour ce modèle.
3.4.3 RESOLUTION DES TROIS PROBLEMES DE BASE :
1) L’Evaluation :
T
La première solution qui vient à l’esprit consiste à calculer, pour l’ensemble des
chemins (séquences d’états) possibles, la probabilité de la séquence observée
étant donnés le modèle et la séquence d’états soit :
L’algorithme Forward/Backward :
La procédure dite “ Forward - Backward ” permet toutefois de réduire de
manière considérable la quantité de calcul nécessaire. L’algorithme “ Forward ”
introduit une nouvelle variable, appelée variable directe, et définie comme suit :
C’est la probabilité d’une séquence d’observations partielle Ot 1
5
, aboutissant à l’état i au temps t, étant donné le modèle λ. Ces paramètres
peuvent se calculer de manière inductive, en trois étapes :
Cette formule, démontrée ci-après, permet le calcul des variables directes
d’indice t+1 à partir de celles d’indice immédiatement inférieur. Elle explicite
simplement le fait que l’état S
peut être atteint à l’instant t+1 à partir de chacun des N états possibles, compte
tenu de leurs probabilités respectives de transition vers cet état.
La probabilité cherchée est obtenue en sommant, sur l’ensemble des N
états finaux, les probabilités de la séquence complète d’observations aboutissant
à l’état Sj : toutes les séquences d’états possibles ont ainsi été prises en compte :
2) Détermination de la Suite Optimale d’Etats :
Le problème consiste à essayer de déterminer la séquence optimale d’états Q
qui a donné lieu à la séquence observée O étant donné le modèle λ = (A,B,p) . La
6
difficulté réside en la définition de la séquence “ optimale ” d’états, c’est-à-dire
que plusieurs critères d’optimalité sont possibles. Par exemple, une méthode
consiste à rechercher les états qui sont individuellement les plus probables, pour
la séquence d’observations envisagée. Le problème revient alors à maximiser, à
chaque instant, la probabilité de l’état S
L’état le plus probable à chaque instant peut dès lors être obtenu par : Le
critère le plus largement utilisé en pratique consiste à maximiser, sur toutes les
séquences d’états possibles, la probabilité conjointe des séquences d’états et
d’observations p(Q,O| λ) La procédure utilisée pour le calcul de cet optimum,
basée sur des méthodes de programmation dynamique, est connue sous le nom
d’algorithme de Viterbi.
Algorithme de Viterbi :
Soit la variable suivante :
Cette variable représente la probabilité la plus élevée, jusqu’à l’instant t-1, en
suivant une séquence d’états particulière. Le calcul est de nouveau effectué de
manière récursive :
En général :
Il s’agit ici de déterminer, parmi les N chemins optimaux aboutissant aux N
états à l’instant t-1, lequel conduit de façon optimale à l’état S
à l’instant t, compte tenu des probabilités de transition vers cet état Sj
7
Donc
3) L’Entraînement :
Le problème de l’entraînement consiste à adapter les paramètres (A, B, p) du
modèle λ de façon à maximiser la probabilité p(O|λ) d’une séquence donnée
d’observations, c’est-à-dire à déterminer les paramètres (A, B, p) qui expliquent
au mieux cette séquence O. Ce problème ne possède aucune solution analytique,
mais il existe une procédure itérative qui conduit à un minimum local de p(O|λ).
Cette procédure est fournie par l’algorithme de Baum-Welch.
3. DOMAINES D’APPLICATION :
On général les HMM sont utilisés dans les domaines suivants :
 Intelligence Artificielle : ex Reconnaissance de Formes (Reconnaissance de
caractères, de la Parole).
 Classification (apprentissage).
4. EXEMPLE DETAILLE :
Dans cet exercice on suppose qu’on a modélisé via HMM les 2 phrases suivantes :
-
Reconnaissance des formes
Reconnaissance digitale
Pour cela chaque mot (reconnaissance, des, formes, digitale) a été modélisé par un HMM, la
quantification vectorielle a données les deux symboles suivants :
5
𝑥 = (0)
3
−3
𝑦 = (−1)
2
Reconnaissance :(𝜆1) HMM à 3 états les symboles observables « 𝑥 » et « 𝑦»
1
1 0
0.5 0.5 0
𝜋 = (0) 𝐴 = ( 0 0.5 0.5 ) 𝐵 = (0 1)
0
1 0
0 0 1
8
Des :(𝜆2) HMM à 2 états les symboles «𝑥 » et « 𝑦»
1
0 1
0 1
𝜋=( ) 𝐴=(
) 𝐵=(
)
0
0 1
1 0
Formes :(𝜆3) HMM à 2 états les symboles observables «𝑥 » et « 𝑦»
1
0 1
0 1
𝜋=( ) 𝐴=(
) 𝐵=(
)
0
0 1
0 1
Digitale:(𝜆4) HMM à 2 états les symboles observables «𝑥 » et « 𝑦»
0.1 0.9
0.2 0.8
0.5
) 𝐴=(
) 𝐵=(
)
0.6 0.4
0.7 0.3
0.5
𝜋=(
Après phase de prétraitement et segmentation d’un signal sonore, la phrase de codage a
donnée les 2 mots suivants.
6 −5 4
𝑀𝑜𝑡1 (1) (−2) (0)
3
0 1
−3 −4
𝑒𝑡 𝑀𝑜𝑡2 ( 0 ) (−1)
3
1
Question1 : Utilisez les modèles HMM afin de déduire la phrase reconnue.
On commence par quantifier les mots en symboles en utilisant les centroides obtenus lors de
la phase de codage et la distance de hamming :
Mot1
6
6
5
DISTANCE[(1) , 𝑥]=DISTANCE [(1) , (0)]=|6 − 5| + |1 − 0| + |3 − 3|=2
3
3
3
6
6
−3
DISTANCE[(1) , 𝑦]=DISTANCE [(1) , ( −1 )]=|6 − (−3)| + |1 − (−1)| + |3 − 2|=12
3
3
2
6
Le minimum est la DISTANCE[(1) , 𝑥]=2 donc le premier symbole est « x »
3
−5
−5
5
DISTANCE[(−2) , 𝑥]=DISTANCE [(−2) , (0)]=|−5 − 5| + |−2 − 0| + |0 − 3|=15
0
0
3
9
−3
−5
−5
DISTANCE[(−2) , 𝑦]=DISTANCE [(−2) , (−1)]=|−5 − (−3)| + |−2 − (−1)| + |0 − 2|=5
2
0
0
−5
Le minimum est la DISTANCE[(−2) , 𝑦]=2 donc le premier symbole est « y »
0
4
4
5
DISTANCE[(0) , 𝑥]=DISTANCE [(0) , (0)]=|4 − 5| + |0 − 0| + |1 − 3|=3
1
1
3
4
4
−3
DISTANCE[(0) , 𝑦]=DISTANCE [(0) , (−1)]=|4 − (−3)| + |0 − (−1)| + |1 − 2|=8
1
1
2
4
Le minimum est la DISTANCE[(0) , 𝑥]=2 donc le premier symbole est « x »
1
Et donc la suite des symboles quantifiés pour le mot1 est « x y x »
Mot2
En appliquant le même calcule on obtient la suite des symboles quantifiés pour le MOT2 est
«yy»
On passe maintenant à la phase de reconnaissance, on utilise l’algorithme « forward » afin de
déterminer quel est le modèle qui donne le plus de probabilité au mot à reconnaitre et donc
déduire le mot reconnu
MOT1 : « «x y x »
MOT2 : « y y »
MOT1 « x y x»,λ1 :reconnaissance » :
1 1
1
α1 = 𝜋.B(𝑥)=(0).( 0 )=(0)
0
1
0
α2 =
[𝐴′
1
0
0
0
0.5 0 0
0.5
∗ 𝑎1] ∗ 𝐵(𝑦)=[(0.5 0.5 0) ∗ (0)]*(1)=(0.5)*(1)=(0.5)
0
0
0
0
0 0.5 1
0
0
1
0
1
0
0.5 0 0
α3 = [𝐴′ ∗ 𝑎2] ∗ 𝐵(𝑥)=[(0.5 0.5 0) ∗ (0.5)]*(0)=(0.25)*(0)=( 0 )
0
1
0.25
1
0.25
0 0.5 1
Et donc Pλ1 (xyx)=0+0+0.25=0.25
10
MOT1 « x y x», « λ2 :Des »
0
α1=( )
0
0
0
α2=( ) α3=( )
0
0
Et donc Pλ2 (xyx)=0+0=0
MOT1 « x y x», « λ3 :Formes »
0
α1=( )
0
0
0
α2=( ) α3=( )
0
0
Et donc Pλ3 (xyx)=0+0=0
MOT1 « x y x», « λ4 :Digitale »
0.10
)
0.35
α1=(
0.176
)
0.069
α2=(
α3=(
0.0118
)
0.1302
Et donc Pλ4 (xyx)=0.0118+0.1302=0.142
Donc le mot reconnu pour «Mot1 » est le max des Pλn (0.25 , 0 , 0, 0.142) et qui est 0.25 donc
le mot reconnu est « Reconnaissance » avec une probabilité de 0.25.
On fait la méme chose avec le Mot2 « y y »
Et donc Pλ1 (yy)=0+0=0
Et donc Pλ2 (yy)=0+0=0
Et donc Pλ3 (yy)=0+1=1
Et donc Pλ4 (yy)=0.104+0.126=0.23
Donc le mot reconnu pour «Mot2 » est le max des Pλn (0 , 0 , 1, 0.23) et qui est 1 donc le mot
reconnu est « Formes » avec une probabilité de 1
On déduit que la phrase reconnue est « reconnaissance formes » en utilisant les modèle HMM
présentés qui correspond à une phrase syntaxiquement fausse
Afin d’affiner la reconnaissance on peut utiliser un ou plusieurs HMM qui modélisent les
phrase à reconnaitre ou le langage utilisé, comme on peut envisager l’utilisation d’autre
modèles.
Cependant il est plus courant d’utiliser l’algorithme de viterbi qui donne la probabilité du
meilleur chemin au lieu de l’algorithme forward (qui donne la somme des probabilités de tous
les chemins possibles).
MOT1 « x y x»,λ1 :reconnaissance » :
1 1
1
α1 = 𝜋.B(𝑥)=(0).( 0 )=(0)
0
1
0
0
Ψ0=(0)
0
11
100
0
0.5 0 0
α2 = 𝑚𝑎𝑥[𝐴′ ∗ 𝑎1; 𝑎1; 𝑎1] ∗ 𝐵(𝑦)=𝑚𝑎𝑥 [(0.5 0.5 0) ∗ ( 1 0 0 )]*(1)
100
0
0 0.5 1
0
0
0.5 0 0
=𝑚𝑎𝑥 ( 0.5 0 0 )*(1)=(0.5)
0
0
0 0 0
1
Ψ1=(1)(les indices des valeurs maximales)
1
1
0.5 0 0
0 0.5 0
α3 = 𝑚𝑎𝑥[𝐴 ∗ 𝑎2; 𝑎2; 𝑎2] ∗ 𝐵(𝑥)=𝑚𝑎𝑥 [(0.5 0.5 0) ∗ (0 0.5 0)]*(0)
1
0 0.5 1
0 0.5 0
′
0 0 0
1
0
=𝑚𝑎𝑥 (0 0.25 0)*(0)=( 0 )
0 0.25 0
1
0.25
1
Ψ2=(2)
2
Et donc Pλ1 (xyx)=0.25 et Ψ3=3(indice du max)
La suite d’état la plus probable qui a généré cette séquence est q3=Ψ3=3
q2=Ψ2(q3)=2
q1=Ψ2(q2)=1
donc la suite d’états est q1 q2 q3= 1- 2- 3
donc la phrase est « reconnaissance des formes »
5. CONCLUSION :
Les applications de HMM prouvent que cet outil reste est Efficace, Performant
et Un outil Puissant pour la modélisation.
12
Bibliographie
[Chr 2009]-Apprentissage et reconnaissance, Professeur : Christian Gagné,
Univ-LAVAL, 2009.
[Mar 2008]-Hidden Markov Models, Martin Sewell, Department of Computer
Science University College London, August 2008.
[Phi 2001]-Modèles Graphiques HMM & RB Temporels, Philippe.Leray, 2001.
[Gos2000]- Classification et Reconnaissance Statistique de Formes, Notes de
Cours, Faculté Polytechnique de Mons - B. Gosselin, 2000.
[Rab1986]- (Rabiner, 1986) L. R. Rabiner, “An introduction to Hidden Markov
Models“, IEEE ASSP Magazine, pp :4-16, Jan. 1986.
[Rab1989]- (Rabiner, 1989) L. R. Rabiner, “A Tutorial on Hidden Markov
Models and selected applications in speech recognition“, Proceedings of IEEE,
Vol. 77, N°2, pp:257-286, Feb. 1989.
13
Téléchargement