13
1 Modèle de Markov cachée Hidden Markov Model (HMM) 1 Exercice arbres de décision Construire l’arbre de décision à partir des données suivantes en utilisant l’algorithme ID3. 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 i i i p p S Entropie 1 2 log ) ( = ) ( ) ( ) ( ) , ( A Valeurs v v v S Entropie S S S Entropie A S Gain Problème de la compression/ dilation du temps 3

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

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

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

1

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

1

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

Problème de la compression/dilation du temps

3

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

2

Topologies typiques

4

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

5

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 3: Modèle de Markov cachée Hidden Markov Model (HMM)

3

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

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)

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 4: Modèle de Markov cachée Hidden Markov Model (HMM)

4

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

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

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 5: Modèle de Markov cachée Hidden Markov Model (HMM)

5

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

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

É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 6: Modèle de Markov cachée Hidden Markov Model (HMM)

6

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}

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

1.  Initialisation:

2.  Induction:

3.  Terminaison:

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

18

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

7

Forward Algorithm

19

ot ot+1

α1j

α Nj

sj

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.5*0.25

0.5*0.11

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

!

"##

$

%&&

0.5*0

.2

0.5*0

.14

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 8: Modèle de Markov cachée Hidden Markov Model (HMM)

8

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

23

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.5*0.6*0.55

0.5*0.6*1.0

0.1361 0.5*0.4*0.3025

0.5*0.5*0.3025

q0 q1

0.5 0.5

0.5

0.5

p( face) = 0.5p(pile) = 0.5

!

"##

$

%&&

p( face) = 0.4p(pile) = 0.6

!

"##

$

%&&

0.5*

0.5*

1.0

0.5*

0.5*

0.55

Face

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

9

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

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

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 10: Modèle de Markov cachée Hidden Markov Model (HMM)

10

28

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

29

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 11: Modèle de Markov cachée Hidden Markov Model (HMM)

11

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

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

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 12: Modèle de Markov cachée Hidden Markov Model (HMM)

12

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

35

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 13: Modèle de Markov cachée Hidden Markov Model (HMM)

13

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

n  Probabilités de transition:

n  Probabilités d’observations

37

Réestimation des paramètres

38