Modèle de Markov cachée Hidden Markov Model (HMM) 2 Exercice arbres de décision Construire l arbre de décision à partir des données suivantes en utilisant l algorithme ID3. 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/202/ia/cfai/exo.pdf Rappel: Entropie ( S) = c i= p i log 2 p i Gain( S, A) = Entropie( S) v Valeurs ( A) Sv Entropie( Sv) S Problème de la compression/ dilation du temps 3
Topologies typiques 4 Comment estimer les probabilités associés à la machine à états finis? 5 Modèle de Markov Un processus de Markov est un processus stochastique possédant la propriété de Markov La prédiction du future, sachant le présent, est pas plus précise si des informations supplémentaire concernant le passé deviennent disponibles. Séquence d observations O = {q, q 2,..., q T } Modèle du premier ordre P(q t = j q t = i, q t = k,...) = P(q t = j q t = i) 6 Ref: http://fr.wikipedia.org/wiki/chaîne_de_markov 2
Modèle de Markov Typiquement représenté par une machine à états finis 0.4 P (q ) 0. 0.8 0.3 0.3 0.2 S (q 3) 0. 0.2 0.6 N (q 2) Probabilités de transition: a, a,2 a,3 A = a 2, a 2,2 a 2,3 = " a 3, a 3,2 a 3,3 % " Probabilités initales: 0.4 0.3 0.3 0.2 0.6 0.2 0. 0. 0.8 = [ p(q ), p(q 2 ), p(q 3 )] % 7 Balles dans des urnes p(rouge) = b () p(vert) = b (2) p(bleu) = b (3) p( jaune) = b (4) p(rouge) = b 2 () p(vert) = b 2 (2) p(bleu) = b 2 (3) p( jaune) = b 2 (4) p(rouge) = b 3 () p(vert) = b 3 (2) p(bleu) = b 3 (3) p( jaune) = b 3 (4) N urnes et balles de différentes couleurs 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 Simple HMM à états discrets 0.4 0.6 Probabilité d observation (3 couleurs) 0.3 0.3 " 0.4 % 0.3 q q 0.2 2 0.3 0. q 3 0.8 0.2 0.4 " % 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 0.2 0. 0.4 0.2 0. " 0.6 % États (3 urnes) 9 3
Définition d un HMM N: nombre d états dans le modèle États: État au temps t: T: nombre d observations/trames Symboles d observations: O= { o, o2, o3, L, ot } Observation au temps t: Distribution de prob. de transition d états: Transition entre l état s i au temps t et l état s j au temps t+: Ensemble de toutes les transitions d états: 0 Définition d un HMM Distribution de prob. d observation o k à l état j: bj( k) = P( ok qt = sj) j N, k T Ensemble de toutes les observations: Distribution des états initiaux: Ensemble de tous les états initiaux: Un HMM est décrit par: Génération des observations. Choisir un état initial à partir de la distribution des états initiaux 2. Pour t = à T. Choisir o t 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 2 4
Représentation sous forme de treillis des HMM Chaque noeud du treillis est l événement où une observation o t est générée alors que le modèle occupait l état s i 3 3 Problèmes de base des HMM. Évaluation:. 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:. Problème: trouver la séquence d états qui maximise la séquence d observations 2. 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 observations à partir de données d entraînement 2. Solution: Forward-Backward Algorithm 4 Évaluation doit être évaluée pour toutes les séquences d états Q={q,q 2,,q T } possibles: p(o ) = p(o,q ) = p(o Q, )p(q ) Q p(o Q, ) = b q (o ) b q2 (o 2 ) b qt (o T ) Q p(q ) = " q a q q 2 a q2 q 3...a qt q T Avec T observations et N états dans le modèle: N T séquences d états possibles Approximativement T*N T opérations requises 5
Exemple: Pile ou face avec deux pièces de monnaie O={Face,Pile,Pile} " p( face) = p(pile) = % q 0 q États p(états) p(fpp États) Résultat q 0,q 0,q 0 **=0.25 **=0.25 0.05625 q 0,q 0,q **=0.25 **0.6=0.50 0.0875 q 0,q,q 0 **=0.25 *0.6*=0.50 0.0875 q 0,q,q **=0.25 *0.6*0.6=0.80 0.0225 q,q 0,q 0 **=0.25 0.4**=0.00 0.025 q,q 0,q **=0.25 0.4**0.6=0.20 0.05 q,q,q 0 **=0.25 0.4*0.6*=0.20 0.05 q,q,q **=0.25 0.4*0.6*0.6=0.25 0.08 " p( face) = 0.4 p(pile) = 0.6 % 6 P(FPP) : 0.3625 Forward Algorithm Une approche plus efficace pour évaluer Définissons. comme étant la probabilité d observations o à o t avec la séquence d états qui se termine à l état q t =s i pour l HMM 7. Initialisation: 2. Induction: 3. Terminaison: Avec T observations et N états, ceci requiert environ N 2 T opérations 8 6
Forward Algorithm o t o t+ j s j α Nj 9 " p( face) = p(pile) = % q 0 q " p( face) = 0.4 p(pile) = 0.6 % Face Pile Pile q 0 * *0.25 0.25 *0.25 0.069 q *0.4 *0.2 *0.25 *0.4 *0. 0.35 0.0743 *0.2 *0.35 0.36 20 Backward Algorithm Une approche efficace pour évaluer direction inverse dans la Définissons comme étant la probabilité d observations o t+ à o T avec la séquence d états qui se termine à l état q t =s i pour l HMM 2 7
o t+,o t+2,,o M Initialisation: Induction: Terminaison: Avec T observations et N états, ceci requiert environ N 2 T opérations 22 23 " p( face) = p(pile) = % q 0 q " p( face) = 0.4 p(pile) = 0.6 % Face Pile Pile 0.36 **0.3025 *0.4*0.3025 0.3025 **5 5 **.0.0 **5 *0.6*5 **.0 *0.6*.0 0.3025 5 *0.6*.0.0 *0.6*5 q 0 q 24 8
3 Problèmes de base des HMM. É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 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 Définissons comme étant la probabilité conjointe des observations o à o t et la séquence d états q q 2 q 3 q t se terminant à l état q t =s i étant donné l HMM Nous pouvons montrer par induction que: 27 9
28 Algorithme de Viterbi Cumuler les probabilités de chemins maxima: Garder la trace des meilleures séquences : 29 Exemple Viterbi = " % " A = 2.322 % ' C =.737 ' G =.737 ' ' T = 2.322 ' - -0.737 q 0 q -.322 Séquence d observation: GGCACTGAA - " A =.737 % ' C = 2.322 ' G = 2.322 ' ' T =.737 ' G G C A C T G A A q 0-2.737-5.474-8.2 -.53 3 q -3.322-6.059-8.796-0.94 8-4.00 7-4.00 7-7.32 9-6.48-9.54 0-9.54 0-22.86 2-22.0 4 Séquence : q q q q 2 q 2 q 2 q 2 q 2 q 2-25.65 8-24.48 8 Source :Exemple de Didier Gonze adapter de Borodovsky Ekisheva (2006), p. 80-8 30 0
3 Problèmes de base des HMM. É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 3 Entraînement des HMM Consiste à entraîner les paramètres du modèle HMM afin de maximiser la probabilité L entraînement se fait avec l algorithme Forward- Backward qui est aussi appelé l algorithme Baum-Welch 32 Algorithme Forward-Backward Soit un modèle HMM initial,, estimons un nouvel ensemble de paramètres du modèle de telle sorte que Utilisons les probabilités forward pour ce faire; et backward Et l algorithme d expectation-maximization: EM Algorithm 33
Réestimation des paramètres Définissons comme la probabilité d être à l état s i au temps t et à l état s j au temps t+ étant donné le modèle et la séquence d observations O 34 35 Réestimation des paramètres Définissons de nouvelles probabilités a posteriori à partir de Nombre de transitions à partir de s i : Exprimée en fréquence relative Nombre de transitions de s i à s j : Exprimée en fréquence relative Nous allons utiliser ces probabilités pour ré-estimer les paramètres HMM 36 2
Réestimation des paramètres Probabilité des états initiaux: Probabilités de transition: Probabilités d observations 37 Réestimation des paramètres 38 3