1 / 34

Modèles de Markov Cachés

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. 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.

sancha
Download Presentation

Modèles de Markov Cachés

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 N S S S P 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 »)  s1 s2 A s3 • 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 sipour 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) b2(.) b3(.)

  5. Exemple de HMM • États : • ={‘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. É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 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. bi(ot) s1 sj si sm Forward É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 : 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. t+1(1) s1 b1(ot+1) ai,j sj t+1(j) si bj(ot+1) sm bm(ot+1) t+1(m) Backward 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 : • 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 : o2 o1 on on-1 … Observations … s? s? s? s?

  15. Explication : L’algorithme de Viterbi  s1 s2 b1(.)  A b2(.) s3 b3(.) 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) o2 o1 o3 on-1 on s1 s1 s1 s1 s1 s2 s2 s2 s2 s2 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= = 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 • 1(1) = π1*b1(2) = 0.6*0.1 = 0.06, • 1(2) = π2*b2(2) = 0.4*0.6 = 0.24, • Ψ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 = 0.0384 • => Ψ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 = 0.0432 • => Ψ2(2) = 2

  22. t = 3 • 3(1) = maxj (2(j)*aj1)*b1(3) • = max{0.0384*0.7, 0.0432*0.4}*0.5 = 0.01344 • => Ψ3(1) = 1 • 3(2) = maxj(2(j)*aj2)*b2(3) • = max{0.0384*0.3, 0.0432*0.6}*0.1 = 0.002592 • => Ψ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 probableest 2,1,1, avec une vraisemblance P(O|λ) = 0.01344.

  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)

  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 : 0 1 0 0 Adjectif Nom Verbe Article le=0.4la=0.4du=0.2 bon:0.1optimal:0.5grand:0.4 possède:0.3permet:0.4 travaille:0.3 modèle:0.3 ouvrier:0.1choix:0.6

  26. Choix du nombre d ’états 1,1 2,2 3,3 • On peut aussi partir d’observations • Exemple d’un HMM continu gaussien en 2D, bi() ~ N(,) Observations Etats 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 rigoureuse • + Hypothèse de Viterbi:  « Tous les autres chemins ont une probabilité nulle ou négligeable » • + Algorithme optimal

  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 à skpour la séquence Si

  29. Entraînement de Viterbi : Nombre de passages sj en skpour l ’ensemble des séquences : Nombre d’émissions du symbole ol par sjpour 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 : ot+1 Avec la règle de Bayes: 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 • 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

More Related