Vous êtes sur la page 1sur 24

Processus stochastique

Nadia BALI

Institut superieur
informatique et Mathématiques
(Monastir)

1er novembre 2022

1 / 24
chaine de Markov caché : (HMM)
Données Séquetielles
Les données sont générées séquentiellement en fonction du temps ou
de l’indice
Information spatiale dans le temps ou index

2 / 24
Avantage de HMM sur les données séquentielles

Structure du modée naturel : processus doublement stochastique


Les paramétres de transition modélisent la variabilité temporel
distribution de sortie modélisent la variabilité spatial
Outil de modélisation efficace et bon pour
séquences avec contraintes temporelles
variabilité spatiale le long de la séquence
processus complexes du monde réel
Algorithmes efficaces d’évaluation, de décodage et d’apprentissage
Mathématiquement fort
Efficacité informatique
Technologie éprouvée !
Histoires réussies dans de nombreuses applications

3 / 24
Domaines d’application réussis de HMM

Reconnaissance de l’écriture manuscrite en ligne


Reconnaissance de la parole
Reconnaissance gestuelle
Modélisation du langage
Analyse et suivi des vidéos de mouvement
Alignement séquence protéique/séquence génique
Prévision du cours des actions
...

4 / 24
C’est quoi HMM ?

5 / 24
Chaine de Markov caché : Example

N urnes contenant des balles colorées


M couleurs distinctes
chaque urne contient un nombre de balles de différentes couleurs

6 / 24
HMM : processus de génération

Algorithme de génération de séquence


étape 1 : Choisissez l’urne initiale selon un processus aléatoire
étape 2 : Prenez au hasard une boule dans l’urne puis replacez-la
étape 3 : Sélectionner une autre urne selon un processus de sélection
aléatoire
étape 4 : Répétez les étapes 2 et 3

7 / 24
HMM : informations cachées

Maintenant, qu’est-ce qui est caché ?

On peut juste voir les balles choisies


Nous ne pouvons pas voir quelle urne est sélectionnée á la fois
Ainsi, les informations de sélection d’urne (transition d’état) sont
masquées

8 / 24
HMM : Définition

Notation :λ = (A, B, Π)
1 N : nombres d’états
2 M : nombre de symboles observable dans les états

V = {v1 , . . . , vM }

3 A : distribution de probabilité de transition d’état

A = {aij }, 1 ≤ i, j ≤ N

4 B : distribution de probabilité des symboles d’observation

B = {bi (vk )}, 1 ≤ i ≤ N, 1 ≤ j ≤ M

5 Π : Distribution de l’état initial

πi = P(q1 = i), 1 ≤ i ≤ N

9 / 24
HMM :Structure de dépendance

Hypothèse de Markov du 1er ordre de transition

P(qt |q1 , q2 , . . . , qt−1 ) = P(qt |qt−1 )

Indépendance conditionnelle des paramètres d’observation

P(Xt |qt , X1 , . . . , qt−1 ) = P(Xt |, qt )

10 / 24
HMM :Exemple revisité
nombre d’ états : N = 3
nombre d’ observationss : M = 3

V = {R, G, B}

distrubition d’état initial

π = {P(q1 = i)} = [1, 0, 0]

Distribution de probabilité de transition d’état


 
0.6 0.2 0.2
A = {aij } =  0.1 0.3 0.6 
0.3 0.1 0.6

distribution de probabilté des symbols observés


 
3/6 2/6 1/6
B = {bi (vk )} =  1/6 3/6 2/6 
1/6 1/6 4/6

11 / 24
Trois problémes de base des HMM

1 évaluation du modéle :
Problème : calculer la probabilité de génération de la séquence
d’observations étant donnée un HMM :
- P(O|λ)
Solution : Forward Algorithm
2 Décodage :
Problème :Etant donnée séquence d’observations, une trouver la
séquence d’états qui maximise la séquence d’observations
Q ∗ = arg maxQ=(q1 ,...,qT ) {P(Q, X |λ)}
Solution : Viterbi Algorithm
3 Apprentissage :
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
Solution : Forward Backward Algorithm

12 / 24
évaluation du modéle :

Algorithme Forward
Algorithme Backward

13 / 24
Définiton

étant donné un modéle λ


Une séquence d’observation : X = x1 , x2 , . . . , xT
P(X |λ) =?
P P
P(X |λ) = Q P(X , Q|λ) = Q P(X |Q, λ)P(Q|λ)
(Un chemin ou une séquence d’état : Q = q1 , . . . , qT )

14 / 24
Solution :

solution facile mais lente : enumération exhaustive

X X
P(X |λ) = P(X , Q|λ) = P(X |Q, λ)P(Q|λ)
Q Q
X
= bq1 (x1 )bq2 (x2 ) . . . bqT (xT )πq1 aq1q2 aq2q3 . . . bqT −1 qT
Q

- l’énumération exhaustive = explosion combinatoire !

O(N T )

Une solution intelligente existe ?


oui !
technique de programmation dynamique
la structure en treillis
Trés efficace - linèaire en longueur

15 / 24
Algorithme directe : forward
idée clé :
couvrir un réseau de N états sur T instants
concerver la somme des probabilités de tous les chemins venant à
chaque état i à l’instant t

probabilité directe :

αt (j) = P(x1 , x2 , . . . , xt , qt = Sj |λ)


X
= P(x1 , x2 , . . . , xt , Qt = q1 . . . qt |λ)
Qt
N
X
= αt−1 (i)aij bj (xt )
i=1

16 / 24
Algorithme directe : forward

initialisation
α1 (i) = π1 bi (x1 ) 1≤i ≤N
inductionP
N
αt (j) = i=1 αt−1 (i)aij bj (xt ) 1≤j ≤N
terminaison
N
X
P(X |λ) αT (i)
i=1

17 / 24
Exemple numérique :P(RRGB|λ)

18 / 24
Décodage par estimatiom du chemin le Plus probable

Algorithme de Viterbi

19 / 24
Chemin le Plus probable

soit un modéle λ
une séquence d’observation : X = x1 , x2 , . . . , xT
P(X , Q|λ) =?
Q ∗ = arg maxQ {P} (Q, X |λ) = arg maxQ {P} (X |Q, λ)P(Q|λ)
- (un chemin ou une sequence d’etats : Q = (q1 , . . . , qT )

20 / 24
Algorithme de Viterbi

Objectif
Une analyse du résultat du traitement interne
La meilleure, la séquence d’état la plus probable
Segmentation interne
Algorithme de Viterbi
Alignement de l’observation et de la transition d’état
Technique de programmation dynamique

21 / 24
Idée de chemin de Viterbi

Idée clé
Enjamber un réseau de N états et T fois
Conserver la probabilité et le nœud précédent du chemin le plus
probable venant á chaque état i á l’instant t
Sélection de chemin récursif
probabilité de chemin : δt+1 = max1≤i≤N δt (i)aij bj (xt+1 )
noeud de chemin : ψt+1 (j) = arg maxδt (i) {aij }

22 / 24
Algorithme de Viterbi

Introduction : δ1 (i) = πi bi (x1 )


ψ1 (i) = 0
Recusion : δt+1 = max1≤i≤N δt (i)aij bj (xt+1 )
ψt+1 (j) = arg max1≤i≤N {δt (i)aij }
Terminaison P∗ = max1≤i≤N δt (i)
q∗T = arg max1≤i≤N {δt (i)}
Path backtracking : q∗t = ψt+1 (q∗t+1 ), t = T − 1, . . . , 1

23 / 24
Exemple numérique :P(RRGB|λ)

24 / 24

Vous aimerez peut-être aussi