La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Modèles de Markov Cachés

Présentations similaires


Présentation au sujet: "Modèles de Markov Cachés"— Transcription de la présentation:

1 Modèles de Markov Cachés
Adapté de source glanées sur l’Internet :Yannis Korilis, Christian St-Jean, Dave DeBarr, Bob Carpenter, Jennifer Chu-Carroll et plusieurs autres

2 Modèles de Markov Cachés
La séquence observée est l’évidence d’une chaîne de Markov sous-jacente cachée Observations S S N P S P S Etat interne (caché) s1 s2 s1 s3 s2 s2 s1 L’émission d’un état observé n’est pas déterministe ! Chaque état caché émet, de manière aléatoire, un parmi N symboles d’un alphabet

3 Exemple Trames sonores représentatives de trois mots différents pad
bad spat Mot sous jacent signal sonore observable

4 Composantes d’un MMC (« HMM »)
Les probabilités initiales des états cachés ={i=P(si)} Le modèle de transition des états cachés L’alphabet ={s1,...,sm} décrivant les états cachés La matrice des probabilités de transitions entre eux A={aij= P(sj|si)} Le modèle d’observation des symboles émis par les états cachés L’alphabet ={o1,...,ok} des symboles émis par les si pour un HMM discret Les probabilités d’émission B={bi(ok)=P(ok|si)} b1(.)  On suppose généralement un processus stationnaire (les probabilités ne dépendent pas du temps) s2 s1 s3 A b2(.) b3(.)

5 Exemple de HMM États : Symboles observables émis par chaque état
={‘Printemps’,  ‘Été ’,‘Automne’,  ‘Hiver’} A={aij} Symboles observables émis par chaque état ={‘N’, ‘P ’, ‘S’} B={bj(.)} : loi multinomiale N=0.2 P=0.5 S=0.3 Printemps Hiver N=0.1 P=0.45 S=0.45 0.25 N=0.05 P=0.55 S=0.4 Eté Automne N=0.01 P=0.13 S=0.86 0.25 0.25 0.25

6 Que peut-on faire avec un HMM ?
Évaluation d’un modèle proposé pour expliquer une séquence d’observations Explication d’une séquence d’observation par un modèle donné Modélisation d’un processus (caractérisation d’un HMM)

7 Évaluation de modèle Quel HMM ={,,,A,B} est le plus probable d’avoir donné lieu à une séquence d’observations O=o1,...,on ? Il faut trouver le maximum de P(O|) : Calcul direct Algorithme Forward-Backward

8 Explication d’un séquence d’observations
Connaissant un HMM , quelle séquence d’états S=s1,...,sn est la plus probable d’avoir donné lieu à une séquence d’observations O=o1,...,on ? Il faut trouver le maximum de P(S|O,) : Calcul direct L’algorithme de Viterbi

9 Modélisation (Apprentissage)
Partant d’un ensemble d’observations O, comment régler les paramètres d’un HMM  pour maximiser la vraisemblance de P(O|) ? L’entraînement de Viterbi L’algorithme de Baum-Welch

10 Quelques domaines d’application
Reconnaissance de formes Reconnaissance de la parole Traitement de la langue naturelle Commande automatique Traitement du signal Analyse des séquences biologiques Économie Analyse géopolitique Robotique Diagnostic Etc. Avec les SVM, les HMM sont les méthodes statistiques les plus efficaces en dehors des approches neuro-mimétiques

11 Indép. des observations
Évaluation de modèle Étant donné un modèle HMM ={,,,A,B} et une séquence d’observations O, quelle est la probabilité que O soit dû à , P(O|) ? Supposons que O est généré par la séquence d’états Si = si(1),…,si(n) : P(Si|)=P(si(1),…,si(n)|)=i(1)*ai(1),i(2)*ai(2),i(3)*…*ai(n-1),i(n) P(O|Si ,)=P(O| si(1),…,si(n),)=bi(1)(o1)* bi(2)(o2)*…* bi(n)(on) Par conséquent : Th. de Bayes Indép. des observations Approche disrecte Th. de Bayes Si Si génère n observations, il faut 2n-1 multiplications, chacune portant sur un état possible; pour m états  Complexité computationnelle : o(2n*mn) !

12 Évaluation de modèle : L’algorithme forward-backward
De nombreuses multiplications sont répétées (portions de sous-séquences communes => Calculer P(O|) de manière incrémentale Soit t(i)=P(o1, o2…ot, Si(t)=si| ) la probabilité d’avoir O=o1,…,ot avec la dernière observation émise par l’état si , on a : Par induction : s1 sj sm si Forward bi(ot) [] tous les chemins vers un état i qui passeen j Chacun de s1..sm aurait pu émettre ot Probabilité que si complète la sous-séquence finissant à t Pour n observations et m états, on a 2m2 multiplications à chaque étape  Complexité computationnelle o(2m2n) au lieu de o(n*mn)

13 L’algorithme forward-backward (suite)
Soit t(i)=P(ot+1, ot+2…on|Si(t)=si,  ) la probabilité d’observer la sous- séquence ot+1,…,on en partant de l’état Si(t)=si; partant de t=1, on a : s1 si sm sj Backward ai,j b1(ot+1) bj(ot+1) bm(ot+1) t+1(m) t+1(1) t+1(j) Par induction : On part toujours d’un étant initial Chacun de s1..sm aurait pu émettre o1 Probabilité que si précède la sous-séquence qui suit à t+1 Pour m état et n observations, on a 2m2 multiplications à chaque étape  Complexité o(2m2n) en temps, o(m) en espace (idem pour l ’algorithme forward)

14 Explication On veut identifier la séquence d’états Si=si(1),…,si(n) ayant la probabilité maximale d’avoir généré O=o1,...,on Il faut trouver : ou, de manière équivalente : o1 o2 on-1 on Observations s? s? s? s?

15 Explication : L’algorithme de Viterbi
b1(.)  b2(.) b3(.) s2 s1 s3 A Recherche parmi tous les chemins possibles : o(mn) ! Algorithme de Viterbi (ou règle du petit poucet ) : Chaque symbole est émis par un seul état caché La séquence d’états la plus probable pour expliquer la séquence d’observations à l’instant t dépend seulement de la séquence la plus probable à t-1 On peut trouver la séquence en procédant de proche en proche !

16 Algorithme de Viterbi(suite)
Le séquence d’etats optimale est la somme des meilleurs segments en allant de gauche à droite d(si,t,sj,t+1)=ai,j*bj(ot+1) o1 o2 o3 on-1 on s1 s1 s1 s1 s1 s2 s2 s2 s2 s2 Principe de Bellman : Optimalité des chemins partiels " Toute politique optimale est composée de sous-politiques optimales ". si si si si si sn-1 sn-1 sn-1 sn-1 sn-1 sn sn sn sn sn

17 Algorithme de Viterbi (fin)
Soit la probabilité du meilleur état finissant la sous-séquence o1,…,ot à l’instant t Règle d’induction: On mémorise, à chaque t, l’état optimal sj menant à si au temps t+1 On garde trace ainsi des n-1 meilleurs états successifs du parcours Résultat final: Prendre le chemin qui maximise => Complexité en o(m2*n) en temps, o(m*N) en espace (un chemin par état)

18 L’algorithme de Viterbi
Initialisation : Pour t=1 et 1  i  m , 2. Récurrence : Pour t = 2,…,n, et 1  i  m , 3. Terminaison : s(n) = argmaxi 4. Retour en arrière : Pour t = n-1,…,1, s(t) = Ψt+1(s(t+1))

19 Exemple Une personne en vacances envoie une carte postale mentionnant les activités suivantes : jour 1: plage ; jour 2 : magasinage ; jour 3 : sieste. On veut en déduire la séquence météorologique sous-jacente probable sachant que : Les conditions météorologiques suivent une chaîne de Markov à 2 états : Pluie et soleil On possède des statistiques sur le comportement des touristes selon les états

20 Modèle HMM A = B= = Séquence d’observations : O = 2,1,3
0.4 0.3 0.1 0.6 0.5 0.6 0.4 0.7 0.3 0.4 0.6 A = B= = Transition d’état émission de symboles par les états état initial  ={pluie=1, soleil=2}, ={magasinage=1, plage=2, sieste=3} Séquence d’observations : O = 2,1,3 Probabilité du meilleur chemin menant à l’état j au temps t : État optimal à l’instant t-1 pour aboutir à l’état j au temps t :

21 Calculs Étape 1 Étape 2 t = 2 1(1) = π1*b1(2) = 0.6*0.1 = 0.06,
Ψ1(1) = Ψ1(2)=0 Étape 2 t = 2 2(1) = maxj (1(j)*aj 1)*b1(1) = max {0.06*0.7, 0.24*0.4}*0.4 = => Ψ2(1) = argmaxj (1(j)*aj 1)= 2 2(2) = maxj (1(j)*aj2)*b2(1) = max{0.06*0.3, 0.24*0.6}*0.3 = => Ψ2(2) = 2

22 Étape 3 : s(3) = argmax {3(1), 3(2)} = 1
3(1) = maxj (2(j)*aj1)*b1(3) = max{0.0384*0.7, *0.4}*0.5 = => Ψ3(1) = 1 3(2) = maxj (2(j)*aj2)*b2(3) = max{0.0384*0.3, *0.6}*0.1 = => Ψ3(2) = 2 Étape 3 : s(3) = argmax {3(1), 3(2)} = 1 Étape 4 : s(2) = Ψ3(s(3)) = 1, s(1) = Ψ2(s(2)) = 2 La séquence d’états cachés la plus probable est 2,1,1, avec une vraisemblance P(O|λ) =

23 Vérification par la force brute ! P(s1=i,s2=j,s3=k,o1=2,o2=1,o3=3|)=i*bi(2)*aij*bj(1)*ajk*bk(3)
1,1,1 0.6 0.1 0.7 0.4 0.5 1,1,2 0.3 1,2,1 1,2,2 2,1,1 2,1,2 2,2,1 2,2,2

24 Caractérisation d’un HMM par apprentissage
Partant d’un ensemble de séquences d’observations O={O1,...,OT}, comment ajuster =<,,,A,B> pour maximiser P(O|) ? Choix du nombre d’états (fixé, automatique (critères globaux, fusions d’états)) Choix de la fonction d’émission (loi multinomiale, normale, Student) Méthodes d’apprentissage (Viterbi, Baum-Welch, NN)

25 Choix du nombre d’états
Si on est chanceux, on peut associer une sémantique aux états. Ex : 1 Adjectif Nom Verbe Article le=0.4 la=0.4 du=0.2 bon:0.1 optimal:0.5 grand:0.4 possède:0.3 permet:0.4 travaille:0.3 modèle:0.3 ouvrier:0.1 choix:0.6

26 Choix du nombre d ’états
On peut aussi partir d’observations Exemple d’un HMM continu gaussien en 2D, bi() ~ N(,) Observations Etats 1,1 3,3 2,2 Nombre de composantes dans le mélange ~ Nombre d ’états dans le HMM

27 Entraînement de Viterbi
On dispose d’un ensemble d’observations O={O1,...,OT} Principe du max. de vraisemblance: Max. de vraisemblance suivant les chemins de Viterbi: - approche moins - Approche moins rigoureuse + Hypothèse de Viterbi:  « Tous les autres chemins ont une probabilité nulle ou négligeable » + Algorithme optimal Les paramètres ne sont donc pas estimés en maximisant la vraie proba de génération mais la probabiblité de géné ration suivant les chemins les + probables

28 Entraînement de Viterbi
bj() : loi multinomiale sur l’alphabet  Rappel : : Nombre d’émissions de ol par sj pour la séquence Si : Nombre de transitions de sj à sk pour la séquence Si

29 Entraînement de Viterbi
: Nombre de passages sj en sk pour l ’ensemble des séquences : Nombre d’émissions du symbole ol par sj pour l ’ensemble des séquences : Nombre de fois où sj est premier dans le chemin de Viterbi Ouf !! Maximiser cette formule <=> Maximiser les 3 sous-produits

30 Entraînement de Viterbi
Choix du paramétrage initial du HMM Répéter Initialiser les compteurs à 0 Pour chaque séquence d’observations Oi Calculer le chemin de Viterbi pour le HMM courant Mettre à jour des compteurs Fin pour Re-estimer les paramètres du HMM avec les formules précédentes Jusqu’à stabilité des paramètres;

31 Algorithme de Baum-Welch
On veut toujours estimer , mais sans connaissance de chemin !! Probabilité dans  de passer par si à t et sj à t+1 pour l’a séquence observations Ok : Avec la règle de Bayes: ot+1 aij si sj

32 Algorithme de Baum-Welch (2)
Conséquences pour une séquence d’observations donnée : : Probabilité dans  de se retrouver à l’instant t dans l’état si : Espérance du nombre de transitions par sj à l’instant t : Espérance du nombre total de passages par si => on aboutit à des estimateurs simples ...

33 Algorithme de Baum-Welch (3)
Formules à étendre pour T séquences !

34 Algorithme de Baum-Welch (fin)
Choix du paramétrage initial du HMM Répéter Pour chaque séquence Oi Calculer avec l ’algorithme forward Calculer avec l ’algorithme backward Calculer Fin pour Ré estimer les paramètres du HMM avec les formules précédentes Jusqu ’à stabilité des paramètres; Croissance monotone de la vraisemblance => optimum local


Télécharger ppt "Modèles de Markov Cachés"

Présentations similaires


Annonces Google