• Aucun résultat trouvé

Les chaînes de Markov cachées (HMM pour "Hidden Markov Model" en anglais) [Rab89] [BF96] sont des outils statistiques permettant de modéliser des phénomènes stochastiques. Elles sont utilisées dans de nombreux domaines tant pour la classification de données [SSVP02], la reconnaissance vocale [CHC12] et d’images [YOI92], que pour l’apprentissage de dynamiques [ESYD03]. Les chaînes de Markov cachées peuvent être considérées comme une amélioration des chaînes de Markov observables. Mais qu’est qu’une chaîne de Markov ?

3.2.1 Qu’est ce qu’une chaîne de Markov ?

Une chaîne de Markov, ou modèle de Markov observable, du nom de son inventeur Andreï Markov, est un processus stochastique reposant sur la propriété que"la prédiction du futur s’effec-tue par le biais d’informations exclusivement contenues dans l’état présent du processus et ne

dé-pend pas des états antérieurs". On dit d’un tel système qu’il n’a pas de "mémoire", seul l’état

cou-rant influe sur l’état futur. Une chaîne de Markov est un processus aléatoire dont les étatsSipeuvent changer au cours du temps. L’observation de l’évolution de ces états forme des séquences d’états

S=S1,· · ·,Sn. Chaque séquence est émise avec une certaine probabilitéP(S) =P(S1,· · ·,Sn)qu’il est possible de calculer à condition de connaître la probabilité de l’état initialP(S1)et les proba-bilités d’être dans un étatSt tout en connaissant les évolutions antérieures. La nature stochastique des chaînes de Markov repose sur l’évolution du système en fonction d’une probabilité initiale et des probabilités de transition entre états. Ce qui s’exprime mathématiquement par :

P(qt =Si|qt−1=Sj,St−2=Sk,· · ·) =P(qt=Si|qt−1=Sj)

oùqt est l’état observé à l’instanttetSi un état du système.

Dans notre cas, les chaînes de Markov sont dites stationnaires, c’est à dire que les transitions entre états n’évoluent pas au cours du temps. Cette condition permet de définir une matrice de transitionA= [ai,j]tel que

ai,j=P(qt=sj|qt−1=si)tel que 1≤i,j≤n

oùai,jest la probabilité que l’état courant soit l’état jalors qu’on était dans l’étatiau pas de temps précédent. Cette matrice a la particularité de respecter les conditions suivantes :

∀i,j ai,j≥0 et ∀i

j=n

j=1

ai,j=1

Les chaînes de Markov ne sont pas nouvelles, les premiers résultats concernant un espace d’états fini d’Andreï Markov date de 1906. Par la suite, une généralisation à un espace d’états infini dénombrable a été publiée par Kolmogorov en 1936.

3.2.2 Qu’est ce qu’une chaîne de Markov cachée ?

Une chaîne de Markov cachée se compose de deux processus stochastiques : l’un caché et l’autre observable.

- le processus caché est modélisé par une chaîne de Markov observable. Dans ce cas, la suite des états observésq1,q2,· · ·,qT est cachée à l’utilisateur.

- le processus observé dépend des états du processus caché. Chaque état caché émet une observationOiappartenant à un alphabet deMsymboles observablesV ={v1,v2,· · ·,vM}

Contrairement aux chaînes de Markov observables, chaque état d’un HMM n’est pas associé à un unique symbole mais à un alphabet de symboles notéV. Cet alphabet est commun à chaque état,

il est donc possible pour chaque état d’émettre un symbole de cet alphabet avec une certaine pro-babilité. Ce n’est donc pas les états qui sont observés mais les symboles qu’ils émettent. L’intérêt de cette approche est qu’il n’y a pas de limite de taille pour l’alphabet. Dans cette représentation, chaque état possède sa propre densité de probabilité pour la distribution des symboles.

Définition 30 (Chaîne de Markov Cachée) :Une chaîne de Markov cachée se formalise

par le biais du tripléλ = (π,A,B)où

-π={π1,· · ·,πN}est le vecteur des probabilités initiales. Pour tout étati,πi est la probabilité que l’état de départ du HMM soit l’étati,πi=P(qt=Si). -A={ai,j|i,j=1,· · ·,N}est la matrice de probabilité de transition entre les

états.

-B={bi,j|i=1,· · ·,N; j=1,· · ·,M}est la matrice de probabilité d’observa-tion des symboles dans chacun des états. Où,bi,jest la probabilité d’observer le symbolevjalors que le système se trouve dans l’étatSi.

-Nest le nombre d’états du système. Les états sont définis par

S={S1,· · ·,SN}.

-Mest le nombre de symboles contenus dans l’alphabetV ={v1,· · ·,vM}

Les matrices de probabilitéπ,AetBsont construites pour respecter les conditions suivantes : N

j=1 πj=1 , N

j=1 ai,j=1 et M

j=1 bi,j=1 ∀i∈[1,N]

Il est possible de représenter un HMM à partir d’un graphe de dépendances entre la séquence des états cachésSet la séquence des observationsO. La figure 3.3donne un exemple de graphe de dépendances pour une chaîne à 3 états. Dans notre utilisation des HMM, nous supposons qu’il n’existe aucune contrainte concernant la transition des états. En effet, toutes les transitions d’un état vers un autre sont possibles. Par définition, un tel HMM est dit ergodique. La figure3.3est un exemple de chaîne de Markov cachée ergodique.

L’utilisation des chaînes de Markov cachées offre une flexibilité que n’ont pas les chaînes de Markov observables. En effet, pour les chaînes observables chaque état est contraint à un unique symbole, ce qui signifie forcement que sa représentation offre autant d’états qu’il y a de symboles observables. Cet aspect contraint la modélisation du système. Or, pour les chaînes cachées, chaque état a accès à un alphabet de symboles qu’il émet avec une certaine probabilitébi,j. Il n’est donc plus nécessaire d’avoir autant d’états qu’il y a de symboles à observer. La flexibilité du nombre d’états cachés permet la création d’un automate dont la génération de séquences tend vers la réalité. 3.2.3 Les trois problématiques liées aux HMM

L’utilisation des HMM s’oriente autour de trois grandes problématiques :

— Le problème de l’inférence : étant donné une chaîne et une séquence d’observations, quelle est la séquence d’états cachés la plus probable d’avoir généré cette séquence d’observa-tions ?

— Le problème de reconnaissance ou de classement : étant donné une liste de chaînes et une séquence d’observations, on cherche à sélectionner la chaîne la plus optimale, c’est à dire celle ayant la plus forte probabilité d’avoir généré cette séquence.

— Le problème d’apprentissage : étant donnée une séquence d’observationsO, comment ap-prendre les paramètresλ= (π,A,B)d’un HMM pour maximiser p(O|λ)?

Le problème de l’inférence se rapporte à déterminer la séquence d’étatsS=S1,S2,· · ·,Sk la plus probable ayant pu générer la séquence d’observationO=o1,o2,· · ·,ok. Une méthode globale pour résoudre ce problème serait de déterminer toutes les séquences d’états ayant pu générerO, puis calculer leur probabilité afin de déterminer la plus probable. Le problème de cette approche est qu’elle est très gourmande en calculs car totalement dépendante du nombre d’états du système. La littérature offre une méthode pour résoudre ce genre de problème : l’algorithme de Viterbi présenté dans [Vit67] par l’auteur du même nom. Les explications pour la résolution de ce problème se limitent à cette seule référence car il ne fait pas l’objet de cette thèse. De même pour le problème de reconnaissance, la résolution de celui-ci peut se faire notamment par le biais de l’algorithme du Forward présenté dans [HAJ90].

Le problème d’apprentissage correspond parfaitement à notre problématique d’apprentissage de la dynamique. En effet, nous cherchons à créer un automate à état probabiliste à partir d’une séquence d’observationsOcorrespondant aux différentes duréesdientre chaque émission de sor-tie. En supposant que cesdi forment l’alphabet de symbolesV de notre HMM, il est possible de créer un HMM àN états en apprenant les paramètres du systèmeλ = (π,A,B)de telle sorte que

le HMM résultant fournisse des séquences d’observations statistiquement proches de celle de la base d’apprentissageO.

L’apprentissage

Partant d’un ensemble de séquencesθ={O1,O2,· · ·,Ok}, il est possible d’apprendre les pa-ramètres d’un HMMλ = (π,A,B)de façon à maximiserP(θ|λ). Comme les séquences formant la base d’apprentissage sont supposées indépendantes, on cherche à maximiser

P(θ|λ) =

k

i=1

P(Oi|λ)

En partant d’une initialisation des paramètres d’un HMMλ0= (π0,A0,B0), la procédure consiste à ré-estimer ces paramètres de façon à satisfaireP(θ|λi+1)≥P(θ|λi). Le respect de cette contrainte garantit une amélioration de la probabilité d’émission des observations des symboles de la base d’apprentissageθ. La ré-estimation des paramètres peut se faire à l’aide de l’algorithme de Baum-Welsh présenté dans [Bil98], qui est dérivé de l’algorithme EM (Expectation Maximization) pré-senté dans [BC94].

Cet algorithme entreprend une ré-estimation des paramètres d’un HMM de manière à aug-menter la vraisemblance de génération des séquences d’observations. La maximisation de la vrai-semblance P(θ|λ) peut donc se voir comme l’optimisation du HMM λ. Celle-ci doit se faire rapidement, pour cela il est nécessaire d’utiliser un algorithme de calcul de complexité faible. Le fonctionnement de l’algorithme de Baum-Welsh nécessite l’application des algorithmesForward

etBackward pour déterminer respectivement les informations suivantes P(θ|λ), αt(i) etβt(i).

αt(i)est la probabilité de la suite d’observations partielles (o1o2 · · · ot), se terminant à l’étatSià l’instantt

αt(i) =P(o1o2 · · · ot,qt =Si|λ)

P(θ|λ)est la probabilité d’apparition des séquences observéesθ= (O1,O2,· · ·,Ok),P(θ|λ)est telle que : P(θ|λ) = N

i=1 αT(i)

etβt(i)peut se voir comme la probabilité d’observer la suite partielle (ot+1ot+2 · · ·oT), qui com-mence à l’instantt+1 et dont l’état à l’instanttestSi

βt(i) =P(ot+1ot+2 · · · oT,qt=Si|λ) P(θ|λ)peut également s’obtenir à partir deβt(i)puisque

P(θ|λ) =

N

i=1

β1(i)

Le rôle de l’algorithmeForward, présenté par l’algorithme 20, est de calculer itérativement la matriceα car l’information qu’elle condense est nécessaire au déroulement de l’algorithme de

Baum-Welsh.

Algorithme 20Algorithme Forward

PROCÉDURE: Forward

ENTRÉES: λi= (πi,Ai,Bi),O=o1o2 · · · oT Pouriallant de 1 àNfaire

α1(i) =πibi(o1) Fin pour

Pourtallant de 1 àT−1faire Pour jallant de 1 àNfaire

αt+1(j) = ( Ni=1 αt(i)ai j)bj(ot+1) Fin pour Fin pour P(θ|λ) = Ni=1 αT(i) Sorties: P(θ|λ),α

L’algorithmeBackward, présenté par l’algorithme21est conçu de manière similaire à l’algo-rithmeForwarddans son fonctionnement. Son rôle est de calculer itérativement la matriceβ qui est également indispensable au déroulement de l’algorithme de Baum-Welsh.

Algorithme 21Algorithme Backward

PROCÉDURE: Backward

ENTRÉES: λi= (πi,Ai,Bi),O=o1o2 · · · oT

Pouriallant de 1 àNfaire

βT(i) =1

Fin pour

Pourtallant deT−1 à 1faire Pouriallant de 1 àNfaire

βt(i) = Nj=1 ai jβt+1(j)bj(ot+1) Fin pour Fin pour Sorties: β

A partir des variablesαt(i) etβt(i), il est possible de calculer la vraisemblance P(θ|λ) des séquences d’observationsθ, pour le HMMλ, à chaque instantt:

P(θ|λ) =

N

i=1

αt(i)βt(i)

Les estimations du HMMλ = (π,A,B)effectuées par l’algorithme de Baum-Welsh sont conçues ainsi :

πi=probabilité d’être dans l’étatSià l’instantt=1

ai j=nombre de transitions de l’étatSi versSj

bj(k) =nombre de fois où l’on est dans l’étatSi en observant le symbolevk

nombre de fois où l’on est dans l’étatSj

Pour estimer ces nouvelles probabilités, l’algorithme de Baum-Welch utilise deux nouvelles matrices :ε et γ. Les coefficients deε,εt(i,j) représentent la probabilité d’être dans l’étatSi à l’instantt et de passer dans l’état Sj à l’instantt+1. Et les coefficients de γ,γt(i)représentent la probabilité d’être dans l’étatSi à l’instantt. Le calcul de ces coefficients dépend des matrices

α etβ obtenues grâce aux algorithmes Forward et Backward. Le calcul des coefficients εt(i,j)

s’obtient par

εt(i,j) =αt(i)ai,jbj(ot+1)βt+1(j)

P(θ|λ)

et ceux deγcomme suit

γt(i) = N

j=1 εt(i,j) =αt(i)βt(i) P(θ|λ)

La ré-estimation des paramètresπ,AetBdu HMMλ s’obtient par :

πi1(i) 1≤i≤N ai j= T−1t=1 εt(i,j) T−1t=1 γt(i) 1≤i,j≤N bj(k) = Tt=1∩ot=vk γt(i) Tt=1 γt(i)

Algorithme 22Algorithme de Baum-Welsh

PROCÉDURE: Baum-Welsh ENTRÉES: λ = (π,A,B),θ

TantqueP(θ|λ)peut être augmentéefaire

(P(θ|λ),α) =Forward(λ,θ)

β =Backward(λ,θ)

Pourtallant de 1 àT faire Pouriallant de 1 àNfaire

Pour jallant de 1 àNfaire

Calcul deεt(i,j) Fin pour Calcul deγt(i) Fin pour Fin pour Ré-estimation deλ= (π,A,B) Fin Tantque Sorties: λ

Suite à chaque ré-estimation de paramètres, l’algorithme recalcule la vraisemblance. Le pro-cessus est réitéré tant que la vraisemblance n’est pas maximale. L’algorithme22présente le fonc-tionnement de l’algorithme de Baum-Welsh. La qualité de l’apprentissage d’un HMM par

l’algo-rithme de Baum-Welsh est dépendante de l’initialisation des paramètresλ0= (π0,A0,B0). En effet, le choix des paramètres initiaux est primordial, si l’on fixe une probabilité à 0 celle-ci reste égale à 0 tout au long de l’apprentissage. Il est conseillé de donner des probabilités quasi-équiprobables à l’initialisation. Mais si toute fois, certaines informations sont disponiblesa priori, il est bon de les prendre en compte afin d’accélérer le processus d’apprentissage.

3.3 Adaptation de l’apprentissage des HMM aux contraintes des