38
Modèle de Markov cachée Hidden Markov Model (HMM) 1

Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

Modèle de Markov cachée Hidden Markov Model (HMM)

1

Page 2: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 3: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

Problème de la compression/dilation du temps

3

Page 4: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

Topologies typiques

4

Page 5: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

Comment estimer les probabilités associés à la machine à états finis?

5

Page 6: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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}

Page 7: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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)]

Page 8: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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)

Page 9: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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)

Page 10: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 11: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 12: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 13: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 14: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 15: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

É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

Page 16: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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}

Page 17: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 18: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

1.  Initialisation:

2.  Induction:

3.  Terminaison:

Avec T observations et N états, ceci requiert environ N2T opérations

18

Page 19: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

Forward Algorithm

19

ot ot+1

α1j

α Nj

sj

Page 20: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

!

"##

$

%&&

Page 21: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 22: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 23: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

23

Page 24: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 25: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 26: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 27: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 28: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

28

Page 29: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

Algorithme de Viterbi n  Cumuler les probabilités de chemins maxima: n  Garder la trace des meilleures séquences :

29

Page 30: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 31: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 32: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 33: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 34: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 35: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

35

Page 36: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

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

Page 37: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

Réestimation des paramètres n  Probabilité des états initiaux:

n  Probabilités de transition:

n  Probabilités d’observations

37

Page 38: Modèle de Markov cachée Hidden Markov Model (HMM) - Cours

Réestimation des paramètres

38