• Aucun résultat trouvé

Traitement Numérique des Données

N/A
N/A
Protected

Academic year: 2022

Partager "Traitement Numérique des Données"

Copied!
29
0
0

Texte intégral

(1)

Digital Data Processing – Traitement Numérique des Données 1 © Y. Bennani

Digital Data Processing

Traitement Numérique des Données

Younès BENNANI Full Professor

Master of Science in Informatics

Specialities

Data Mining, Analytics, and Knowledge Discovery (EID

2

) Programming Tools and Safety (PLS)

Digital Data Processing – Traitement Numérique des Données 2 © Y. Bennani

4 •  Traitement de données structurées en séquences

•  Alignement Temporel Dynamique Dynamic Time Warping : DTW

•  Modèles de Markov Cachés

Hidden Markov Models (HMM)

(2)

Digital Data Processing – Traitement Numérique des Données 3 © Y. Bennani

Problématique

0.23 1.21 1.20 1.23 0.10 0.12 2.49 1.19 1.34 0.58 1.22 2.30 4.65 5.82 4.91 3.16 2.25 4.01 0.82 2.28 1.01 0.09 1.22 0.23 0.14 1.11 0.02 1.32 0.11 0.47 0.63 0.86 0.70 0.51 0.34 0.13 0.87 0.56 0.53 0.29 0.38 0.38 0.31 0.09 1.52 1.35 1.49 3.81 2.33 1.34 1.45 3.70 3.08 5.01 3.27 3.40 2.23 2.56 2.15 0.90

……….

0.37 1.78 0.40 0.45 1.32 0.40 0.13 0.11 0.78 2.36 0.31 1.28 1.40 0.00 0.18 0.71 0.04 0.91 0.79 0.22 0.69 1.00 1.08 1.48 2.44 3.39 3.09 4.08 5.48 3.61 0.47 1.68 2.35 1.04 0.63 0.87 0.80 0.63 0.35 0.10 1.42 2.14 0.57 1.21 1.64 0.20 0.07 0.64 0.41 0.12 0.93 0.29 1.12 0.60 0.28 2.17 0.18 0.09 1.33 1.00

……….

0.40 0.68 0.27 1.39 1.03 0.32 1.23 0.50 0.11 0.87 1.27 4.41 3.51 4.88 4.66 5.71 2.72 0.95 1.94 0.47 0.47 1.21 1.12 0.57 1.12 0.12 0.10 0.20 3.10 0.34 1.18 0.43 0.30 0.07 0.99 0.75 1.11 1.35 1.63 0.10 0.81 1.59 0.69 1.16 4.22 4.98 4.52 2.54 5.60 4.66 0.25 0.66 0.75 0.19 0.31 0.21 1.19 0.55 1.43 0.29 0.07 0.62 0.14 1.33 1.87 1.48 0.02 0.58 0.93 0.40

3.64 0.14 0.07 0.32 1.09 0.03 0.19 0.50 1.22 0.42 1.27 0.62 0.34 0.58

2.23 0.65 0.15 1.23 0.29 1.62 0.19 1.04 0.43 1.82 1.14 0.23 0.15 0.13 2.27 2.39 4.00 6.14 5.36 4.08 3.81 3.89 2.46 1.78 1.43 0.70 1.08 1.90 1.00 0.31 0.37 1.30

0.18 0.28 0.61 1.23 0.19 2.05 0.14 1.53 1.17 0.84 0.40 0.25 0.78 0.12 0.35 0.44 0.31 0.45 0.23 0.27 0.30 0.42 0.25 0.61 1.39 0.60 1.71 4.01 2.96 5.81

6.56 5.69 5.46 2.72 1.27 2.12 1.79 0.20 1.19 0.25 1.40 0.04 0.56 0.26 2.06 0.63 0.19 0.74 0.15 0.68 0.60 0.00 0.28 0.61 0.40 1.96 1.26 0.72 2.01 0.95 1.45 2.71 3.04 3.21 4.26 5.01 6.24 .28 0.97 1.01 2.34 1.89 0.54 0.05 2.05 2.38 3.66 3.09 5.12 4.14 3.70 3.89 3.86 4.91 2.70 2.18 1.17 0.10 0.36 0.19 0.92 0.83 1.15 0.29 0.17 0.86 0.78 0.91 0.12 1.52 1.52 0.16 0.41 0.48 0.37 0.80 1.30 1.09 0.44 1.15 0.17 2.10 3.77 2.40 5.16 5.13 3.66 2.42 2.83 1.02 1.26 0.88 0.10 0.55 0.38 0.96 1.10 0.94 0.87 1.37 0.16 3.17 0.26 0.13 0.08 1.26 1.58 1.33 0.24 0.77 0.95 0.43 0.05 0.76 0.44 0.70 1.08

0.50 1.23 0.09 0.31 2.22 0.02 2.24 0.07 1.98 2.27 4.94 3.97 3.85 3.19 5.06 3.03 3.24 1.09 3.17 0.58 2.36 1.26 1.03 1.61 1.29 0.32 0.40 0.05 1.01 1.18 0.52 1.41 3.49 1.74 0.37 0.25 0.63 0.20

Caractéristiques (dim fixe) Caractéristiques (dim variable)

O bs erva ti ons O bs erva ti ons

Problématique

(3)

Digital Data Processing – Traitement Numérique des Données 5 © Y. Bennani

Principe général :

«   Dans une séquence optimale de décisions, quelle que soit la première décision prise, les décisions subséquentes forment une sous-séquence optimale, compte tenu des résultats de la première décision »

Bellman (1957), Dynamic Programming Princeton University Press.

Programmation Dynamique

But :

Chercher la ressemblance entre deux chaînes par le calcul d une distance.

A B

M Chemin optimal

Chemin optimal Chemin optimal

Digital Data Processing – Traitement Numérique des Données 6 © Y. Bennani

Programmation Dynamique exemple

Objectif :

Construire une route entre deux villes V

1

et V

12

, minimisant le coût de construction.

V

1

V

2

V

3

V

4

V

9

V

10

V

11

V

5

V

7

V

8

V

6

V

12

C(x

i

,x

j

)=C(V

1

,V

4

)=6 0

5

7

8

12 4

9 8

5

7

4 6

3 4 8 0

4 6

5 2

7

(4)

Digital Data Processing – Traitement Numérique des Données 7 © Y. Bennani

Programmation Dynamique exemple

Problème :

Chercher les villes intermédiaires V

i

, V

j

, V

k

, qui minimisent le coût de construction C(V

1

, V

12

).

C V (

1

, V

1 2

) = C V (

1

, V

i

) + C V (

i

, V

j

) + C V (

j

, V

k

) + C V (

k

, V

1 2

)

V

i

E

1

= { V

2

,V

3

,V

4

} V

j

E

2

= { V

5

,V

6

,V

7

,V

8

} V

k

E

3

= { V

9

,V

1 0

,V

1 1

}

C V (

1

,V

j

) = min

ViE1

[ C V (

1

, V

i

) + C V (

i

, V

j

) ] V

j

∈E

2

C V (

1

, V

k

) = min

Vj∈E2

C V (

1

,V

j

) + C V (

j

, V

k

)

[ ] V

k

∈E

3

C V (

1

, V

1 2

) =

V

min

k∈E3

C V (

1

, V

k

) + C V (

k

, V

1 2

)

[ ]

Programmation Dynamique exemple

C V (

1

,V

5

) = min

C V (

1

,V

2

) + C V (

2

,V

5

) = 0 + 7 = 7 C V (

1

,V

3

) + C V (

3

,V

5

) = / ∃ C V (

1

,V

4

) + C V (

4

,V

5

) = / ∃

"

#

$

$

%

&

' '

= 7

C V (

1

,V

6

) = min

C V (

1

,V

2

) + C V (

2

,V

6

) = 0 + 8= 8

C V (

1

,V

3

) + C V (

3

,V

6

) = 5 + 4 = 9 C V (

1

,V

4

) + C V (

4

,V

6

) = / ∃

"

#

$

$

%

&

' ' = 8

C V (

1

,V

7

) = min

C V (

1

,V

2

) + C V (

2

,V

7

) = 0 + 12 = 12 C V (

1

, V

3

) + C V (

3

, V

7

) = 5 + 8 =13 C V (

1

, V

4

) + C V (

4

,V

7

) = 6 + 5 = 11

"

#

$

$

%

&

' '

=11

C V (

1

,V

8

) = min

C V (

1

,V

2

) + C V (

2

,V

8

) = /

C V (

1

,V

3

) + C V (

3

,V

8

) = 5 + 9= 14 C V (

1

,V

4

) + C V (

4

,V

8

) = 6 + 7= 13

"

#

$

$

%

&

' '

= 13

C V (

1

,V

9

) = min

C V (

1

,V

5

) + C V (

5

, V

9

) = 7 + 4 = 11

C V (

1

, V

6

) + C V (

6

, V

9

) = 8 + 6 = 14 C V (

1

, V

7

) + C V (

7

, V

9

) = 11 + 4 = 15

C V (

1

, V

8

) + C V (

8

, V

9

) = / ∃

"

#

$

$

$

%

&

' ' '

= 11

C V (

1

,V

1 0

) = min

C V (

1

,V

5

) + C V (

5

,V

1 0

) = / ∃ C V (

1

,V

6

) + C V (

6

,V

1 0

) = 8 + 3 = 11 C V (

1

, V

7

) + C V (

7

, V

1 0

) = 11+ 8 =19 C V (

1

, V

8

) + C V (

8

, V

1 0

) = 13 + 4 = 17

"

#

$

$

$

%

&

' ' '

= 11

C V (

1

,V

1 1

) = min

C V (

1

,V

5

) + C V (

5

,V

1 1

) = / ∃ C V (

1

,V

6

) + C V (

6

,V

1 1

) = /

C V (

1

, V

7

) + C V (

7

, V

1 1

) =11 + 0 = 11 C V (

1

,V

8

) + C V (

8

, V

1 1

) = 13 + 6 = 19

"

#

$

$

$

%

&

' ' '

= 11

C V (

1

, V

1 2

) = min

C V (

1

, V

9

) + C V (

9

, V

1 2

) =11 + 5 = 16 C V (

1

,V

1 0

) + C V (

1 0

,V

1 2

) = 11 + 3 = 14 C V (

1

,V

1 1

) + C V (

1 1

,V

1 2

) = 11+ 7 = 18

!

"

#

#

$

%

&

& = 14 ⇒ ( V

1

, V

2

,V

6

,V

1 0

,V

1 2

)

(5)

Digital Data Processing – Traitement Numérique des Données 9 © Y. Bennani

Distance entre séquences

La distance entre séquences peut être calculée par minimisation de distances locales entre les éléments des séquences : optimisation de la ressemblance.

Déterminer la ressemblance entre une forme candidate et plusieurs formes de référence (prototypes), de longueur non nécessairement égales.

Exemple en biologie :

Séquences de nucléotides : Séquence 1 = ACGTCGTTC Séquence 2 = AGGCCTCGC

4 correspondances Séquence 1 = ACG - - TCGTTC

Séquence 2 = AGGCCTCG - -C

6 correspondances

Digital Data Processing – Traitement Numérique des Données 10 © Y. Bennani

Distance d édition

la comparaison peut se faire en terme de transformations permettant de passer d'une séquence à l'autre.

La distance d édition D entre X et Y, est le coût minimum d une suite de transformations élémentaires permettant de passer de X à Y.

On considère 3 transformations élémentaires : - Insertion d un élément x

i

- Suppression d un élément y

i

- Substitution d un élément x

i

par y

j

λ est le caractère vide

L algorithme de Wagner et Fisher calcule la distance d édition avec une complexité

O(n.m) par programmation dynamique.

(6)

Digital Data Processing – Traitement Numérique des Données 11 © Y. Bennani

Principe

Il existe 3 manières de progresser dans les 2 séquences pour aboutir à (x

r

, y

k

) :

•  Venir de (x

r-1

, y

k-1

) et faire SUB(x

r

, y

k

)

•  Venir de (x

r

, y

k-1

) et faire CRE(λ, y

k

)

•  Venir de (x

r-1

, y

k

) et faire DES(x

r

, λ) On choisit le chemin qui minimise la distance D(r,k) entre les 2 sous- séquences X(r) et Y(k) selon la formule suivante :

X (n ) = { } x i i=1K n Y (m) = { } y i i=1K m

x

r-1

x

r

x

r+1

y

r+1

y

k

y

k-1

Algorithme

Début

n ← length(x), m ← length(y) D(0,0) ← 0

pour i de 0 à n faire D(i,0) ← i finpour

pour j de 0 à m faire D(0,j) ← j finpour

pour i de 1 à n faire

pour j de 1 à m faire

CRE d

1

← D(i-1, j) + 1 DES d

2

← D(i, j-1) + 1 SUB d

3

← D(i-1, j-1) + 1 - δ (x

i

,y

j

)

D(i, j) ← min(d

1

, d

2

, d

3

) finpour

finpour

D(n,m) = distance entre les 2 séquences Fin

δ (xi,yj):

Fonction de Kronecker δ =1 si xi=yj

δ =0 sinon

Distance d édition

(7)

Digital Data Processing – Traitement Numérique des Données 13 © Y. Bennani

Exemple

d e t s u a h x e

e x c u s e d

Suppression d un symbole de X

Insertion d un symbole de Y dans X

Remplacer un symbole de X par un de Y Pas de changement

Y = e x h a u s t e d X = e x c u s e d

D(X,Y)=3

X Y

Digital Data Processing – Traitement Numérique des Données 14 © Y. Bennani

Alignement Temporel Dynamique

Dynamic Time Warping : DTW

Etant donné un signal d entrée T, l objectif de la DTW est de trouver l indice du mot le plus semblable parmi l ensemble des mots d un Dictionnaire

n ˆ

D = { R

1

, R

2

, ..., R

N

}

n = ˆ argmin

1≤n≤N

D R (

n

,T )

(8)

Digital Data Processing – Traitement Numérique des Données 15 © Y. Bennani

Alignement Temporel Dynamique

Dynamic Time Warping : DTW

R( p , n) =

r

1n

r

2n

L L r

pn

M M M M M M M M M M r

12

r

22

L L r

p2

r

11

r

21

L L r

p1

"

#

$

$

$ $

$ $

%

&

' ' ' ' ' '

T( p, m) =

t

11

t

12

L L t

1m

t

21

t

22

L L M

M M M M M M M M M M t

p1

L L L t

pm

"

#

$

$ $

$

$ $

%

&

' ' ' ' ' ' DTW se propose d'établir entre 2 matrices R et T (mots) le rapprochement qui maximise les meilleures mises en correspondance.

référence

test

Chemin de recalage

r(n) r( j (k))

r(1) t(1) t (2) t(i(k )) t (m)

R

(p,n)

T(p,m) r(j(k)) coïncide avec t(i(k))

DTW permet de réaliser (de façon optimale) un alignement temporel non linéaire de façon récursive.

Alignement Temporel Dynamique

Dynamic Time Warping : DTW

Chemins de recalage :

l’ajustement non-linéaire entre R et T peut être représenté par un chemin C :

C = c 1 , c 2 , ..., c K c k = ( i (k ) , j (k ) )

Cette séquence met en coïncidence le i(k)

ème

vecteur de la forme R et le j(k)

ème

vecteur de la forme T.

Elle est appelée la « warping function » ou le chemin de recalage.

Chemin de recalage

r( n) r( j(k))

r(1) t (1) t(2) t(i(k )) t( m)

R

(p,n)

T(p,m) r(j(k)) coïncide avec t(i(k))

le nombre de coïncidences effectuées par le chemin de recalage.

(9)

Digital Data Processing – Traitement Numérique des Données 17 © Y. Bennani

Alignement Temporel Dynamique

Dynamic Time Warping : DTW

D(C) =

d c ( )

i

.w

i i=1

K

w

i

i=1 K

La somme pondérée des erreurs le long du chemin de recalage C est :

Le problème à résoudre devient :

Coefficient de pondération

D(R

n

,T) = min

C

d c ( )

i

.w

i i=1

K

w

i

i=1 K

#

$

%

%

%

%

&

' ( ( ( (

Ce qui revient à chercher parmi tous les chemins possibles, le chemin qui minimise la dissemblance entre R et T.

Digital Data Processing – Traitement Numérique des Données 18 © Y. Bennani

Restrictions sur les possibilités d  évolution du chemin de recalage : Pour correspondre à une réalité physique, le chemin de recalage doit respecter certaines conditions de continuité :

La monotonie :

croissante respectant l  évolution dans le temps :

La régularité :

un chemin ne peut aboutir au point (i,j) qu en passant obligatoirement par les points (i-1,j) ou (i-1,j-1) ou (i,j-1)

Conditions aux limites :

mettre en correspondance les éléments terminaux :

Alignement Temporel Dynamique

Dynamic Time Warping : DTW

i(k − 1) ≤ i(k) j(k − 1) ≤ j(k)

i(1) = 1 i(K) = n j(1) = 1 j(K ) = m

(xi-1 , yj-1) (xi , yj-1) (xi-1 , yj)

(xi , yj)

W=2 W=1

W=1

(10)

Digital Data Processing – Traitement Numérique des Données 19 © Y. Bennani

Alignement Temporel Dynamique

Dynamic Time Warping : DTW

Dans ce cas, le problème à résoudre devient :

D(R,T) = 1 n + m min

C

d c ( )

i

.w

i i=1

K

Coefficient de pondération :

et donc :

La distance :

w

k

= i

(k)

i

(k1)

+ j

(k)

j

(k1)

w

k

k=1 K

= n + m

D(C) = 1

n + m d c ( )

i

.w

i i=1

K

Ce problème peut être résolu efficacement par programmation dynamique.

Cette technique est basée sur le principe de l optimalité (Bellman).

Pour chaque point de l espace, évaluer la meilleure manière d entrer dans cet état en respectant les contraintes et en minimisant la contribution à la distance globale.

Alignement Temporel Dynamique

Dynamic Time Warping : DTW

Il suffit donc d étudier les transitions autorisées et d appliquer la relation récursive locale :

D(1,1) = d(r

(1)

,t

(1)

)

D(i, j) = min

D(i − 1, j) + d(r

(i)

,t

(j)

) D(i −1, j − 1) + 2d(r

(i)

,t

(j)

)

D(i, j −1) + d(r

(i)

,t

(j)

)

#

$ %

&

% D(R,T) = 1

n + m D(n,m)

(11)

Digital Data Processing – Traitement Numérique des Données 21 © Y. Bennani

Algorithme

Début

Initialisation

D

cum

(1, 1) ← d(1, 1) x 2 pour j de 2 à m faire

D

cum

(1, j) ← ∞ finpour

Programmation Dynamique

pour i de 2 à n faire

pour j de 1 à m faire

finpour finpour

Calcul du taux de dissemblance

Fin.

D

cum

(i, j) = min

D

cum

(i − 1, j) + d (i, j) D

cum

(i − 1, j − 1) + 2.d (i, j)

D

cum

(i, j − 1) + d (i, j)

"

#

$

% $

D(X, Y ) = D

cum

(n, m) n + m

Digital Data Processing – Traitement Numérique des Données 22 © Y. Bennani

DTW : exemple

T = 1 4 9

!

"

# #

$

%

&

&

2 7 6

!

"

# #

$

%

&

&

1 22

3

!

"

# #

$

%

&

&

9 7 2

!

"

# #

$

%

&

&

3 5 4

!

"

# #

$

%

&

&

' ( ) )

* + , , R =

2 4 9

!

"

# #

$

%

&

&

2 7 6

!

"

# #

$

%

&

&

4 20

3

!

"

# #

$

%

&

&

2 22

3

!

"

# #

$

%

&

&

8 7 2

!

"

# #

$

%

&

&

4 4 4

!

"

# #

$

%

&

&

' ( ) )

* + , ,

6 5 4 3 2 1

1 2 3 4 5

Distance de Hamming

6 55 58 25 19

5 48 36 15 24

4 38 13 36 55

3 20 12 31 48

2 2 21 32 37

1 2 8 33 50 57

1 2 3 4 5

D(T , R) = 19

6 + 5 = 1.7

R

T

Chemin de recalage

(12)

Digital Data Processing – Traitement Numérique des Données 23 © Y. Bennani

Classificateur à base de DTW

A A

A B B

B C

C

B A C

Prototypes Classe C

Prototypes Classe B

Prototypes Classe A

Test

Méthodes stochastiques

B A C

Modèle Classe C

Modèle Classe B

Modèle Classe A

Test

(13)

Digital Data Processing – Traitement Numérique des Données 25 © Y. Bennani

Méthodes Stochastiques

Modèles de Markov Cachés Hidden Markov Models (HMMs)

•  Dynamic Time Warping (DTW) comparent un échantillon à une référence en utilisant une distance.

•  Méthodes Stochastiques comparent un échantillon avec un modèle, prenant en compte plus de variabilité.

•  La distance est remplacée par des probabilités calculées par apprentissage.

•  Les HMMs introduits par BAUM dans les années 60.

•  Ils sont utilisés pour modéliser des séquences d  observations.

•  Ils sont utilisés à partir des années 70 en reconnaissance de la parole où ils se sont imposés comme le modèle de référence.

•  Appliqués ensuite à la reconnaissance de caractères manuscrits, au traitement d’images, à la bioinformatique, ...

Digital Data Processing – Traitement Numérique des Données 26 © Y. Bennani

Méthodes Stochastiques

Hidden Markov Models (HMMs) Exemple

pile:1 ƒace:1

S

1

S

2

0.3 0.4

0.7

0.6

O = pppffpppfffppfffffpp

V = { p , f }

S = S

1

S

1

S

1

S

2

S

2

S

1

S

1

S

1

S

2

S

2

S

2

S

1

S

1

S

2

S

2

S

2

S

2

S

2

S

1

S

1

(14)

Digital Data Processing – Traitement Numérique des Données 27 © Y. Bennani

Méthodes Stochastiques

Hidden Markov Models (HMMs) Exemple

O = pppffpppfffppfffffpp

V = { p , f }

S = KKKKKKKK

?

p : 0.75 ƒ : 0.25

p : 0.2 ƒ : 0.8

S

1

S

2

0.3 0.4

0.7

0.6

Méthodes Stochastiques

Hidden Markov Models (HMMs)

Exemple

(15)

Digital Data Processing – Traitement Numérique des Données 29 © Y. Bennani

Méthodes Stochastiques

Hidden Markov Models (HMMs) Exemple

a : 1 a : 0.2

b : 0.8

b : 0.75 c : 0.25

a : 0.6 b : 0.1 c : 0.3

c : 1

S

1

S

2

S

3

S

4

S

5

0.5 0.3

0.7

1

0.25

0.25

1

1

V = { a , b , c }

s

1

a s

1

a s

2

a

s

3

b s

4

b s

4

b

s

5

c s

5

c s

5

c

s

5

c s

5

c s

5

c

s

5

c s

5

c s

5

c

s

2

b s

2

b s

2

b

≈1.6 10

-3

≈1.9 10

-4

≈3.2 10

-5

Digital Data Processing – Traitement Numérique des Données 30 © Y. Bennani

Méthodes Stochastiques

Hidden Markov Models (HMMs) Notations

λ = ( A, B, Π )

V = { } v

i i=1

M

un alphabet de M symboles O = { } o

t t=1

T

un ensemble d' observations où o

t

∈V S = { } s

i i=1

N

un ensemble de N états Π = { } π

i i=1

N

un vecteur de distribution d' états initiaux

A = { } a

ij iN,j=1

matrice carrée des transitions

où a

ij

est la probabilité de passer de l' état s

i

à l' état s

j

a

ij

≥ 0 et a

ij

= 1

j=1 N

B = { b

j

( k) }

i,j=1

N

matrice des probabilités de production du symbole v

k

alors que λ se trouve à l' état s

j

b

j

( k) ≥ 0 et b

j

(k) = 1

k=1 M

(16)

Digital Data Processing – Traitement Numérique des Données 31 © Y. Bennani

Méthodes Stochastiques

Hidden Markov Models (HMMs) Les 3 problèmes classiques des HMMs

1. Évaluation :

Soit un HMM λ et une séquence de symbole O = o 1 , o 2 , …, o T donnés.

Quelle est la probabilité de générer O avec λ ?

2. Décodage :

Quelle est la séquence d  états Q = q 1 , q 2 , …, q T de λ qui a la probabilité maximale de générer O ?

3. Apprentissage :

Comment ajuster les paramètres de λ de manière à maximiser la probabilité de générer O ?

Méthodes Stochastiques

Hidden Markov Models (HMMs) Problème 1 : Évaluation

Soit un HMM λ et une séquence de symbole O = o 1 , o 2 , …, o T donnés.

Calculer

P(O / λ )

- Méthode directe :

consiste à énumérer toutes les séquences d états possibles de longueur T.

- Algorithme de Forward-Backward : l observation peut se faire en 2 temps :

- émission du début O

(1:t)

en aboutissant à l état q i au temps t

- émission de la fin O

(t+1:T)

sachant que l on

part de q i

(17)

Digital Data Processing – Traitement Numérique des Données 33 © Y. Bennani

Méthodes Stochastiques

Hidden Markov Models (HMMs) Évaluation : Méthode directe

P(O / λ )

La probabilité de la séquence d observation O = o 1 , o 2 , …, o T étant donné le modèle λ, est égale à la somme sur tous les chemins d’états possibles Q des probabilités conjointes de O et de Q :

P(O / λ) = P (O, Q / λ) = P(O / Q, λ) P(Q / λ)

Q

Q

Digital Data Processing – Traitement Numérique des Données 34 © Y. Bennani

Méthodes Stochastiques

Hidden Markov Models (HMMs) Évaluation : Méthode directe

P(O / λ )

P(O / Q, λ ) = b q

1

(o 1 ) b q

2

(o 2 ) ... b q

T

(o T ) P(Q / λ ) = π q

1

a q

1

q

2

a q

2

q

3

... a q

T−1

q

T

P(O / λ) = π q

1

b q

1

(o 1 ) a q

1

q

2

b q

2

( o 2 ) ... a q

T−1

q

T

b q

T

(o T )

Q

Or et

⇒ 2T multiplications par séquence d états possible Dans le pire des cas : N

T

séquences d  états possibles

⇒ O(T N

T

) opérations.

Ex. : N=5 et T=100 ⇒ ≈ 10

72

opérations

(18)

Digital Data Processing – Traitement Numérique des Données 35 © Y. Bennani

Méthodes Stochastiques

Hidden Markov Models (HMMs)

Évaluation : Forward-Backward

P(O / λ )

L’observation peut se faire en 2 temps :

- émission du début O

(1:t)

en aboutissant à l état q i au temps t - émission de la fin O

(t+1:T)

sachant que l’on part de q i

P(O / λ ) = α (t , q i ) β ( t, q i )

q i

Probabilité d émettre le début O(1:t) en aboutissant à l état qi au temps t

Probabilité d émettre la fin O(t+1:T) sachant que l on part de qi Le calcul de a se fait avec t croissant

tandis que celui de b se fait avec t décroissant d où Forward-Backward

Méthodes Stochastiques

Hidden Markov Models (HMMs) Procédure Forward

P(O / λ) = α (t, q

i

)β (t, q

i

)

qi

= α

t

(i)β

t

(i)

qi

α t (i ) = P(o 1 o 2 K o t , q t = s i / λ )

à t = 1 on a :

α 1 (i ) = π i b i (o 1 ) 1 ≤ iN

pour 1 ≤ tT − 1, 1 ≤ iN

α t +1 ( j) = α t (i)a ij

i=1 N

& ∑

' ( )

* + b j (o t +1 )

P(O / λ ) = α T (i )

i=1 N

Initialisation :

Induction :

Terminaison :

⇒ O(T N2) opérations.

Ex. : N=5 et T=100 ⇒ ≈ 3000 opérations

(19)

Digital Data Processing – Traitement Numérique des Données 37 © Y. Bennani

Méthodes Stochastiques

Hidden Markov Models (HMMs) Procédure Backward

P(O / λ) = α (t, q

i

)β (t, q

i

)

qi

= α

t

(i)β

t

(i)

qi

β t (i) = P(o t+1 o t+2 K o T , q t = s i / λ )

à t = T on a :

β T (i ) = 1 1 ≤ iN

pour T −1 ≥ t ≥ 1, 1 ≤ iN

β t (i) = a ij

j=1 N

b j (o t +1 ) β t +1 ( j)

P(O / λ ) = π i b i (o 1 ) β 1 (i)

i =1 N

Initialisation :

Induction :

Terminaison :

⇒ O(T N2) opérations.

Ex. : N=5 et T=100

⇒ ≈ 3000 opérations

Digital Data Processing – Traitement Numérique des Données 38 © Y. Bennani

Méthodes Stochastiques

Hidden Markov Models (HMMs) Procédure Backward

P(O /λ) = α

t

(i)β

t

(i)

qi

P(O / λ ) = α T (i)

i=1 N

= π i b i ( ) o 1 β 1 (i)

i=1 N

Calcul de la probabilité d observation :

Obtenue en prenant les valeurs de α et β à un instant t quelconque :

Cependant, on utilise le plus souvent les valeurs obtenues pour deux cas

particuliers (t=1) ou (t=T) :

(20)

Digital Data Processing – Traitement Numérique des Données 39 © Y. Bennani

Hidden Markov Models (HMMs) Procédure Forward-Backward

Exemple

A =

0.3 0.5 0.2 0 0.3 0.7

0 0 1

"

#

$ $

$

%

&

' ' '

B =

1 0

0.5 0.5

0 1

"

#

$ $

$

%

&

' ' '

π = 0.6 0.4 0

#

$

% %

%

&

' ( ( (

1 3 2

0.2

0.7 1

0.3

0.5 0.3

V = { a,b }

α

1

(1) = π

1

b

1

(a) = 0.6 ×1= 0.6 α

1

(2) = π

2

b

2

(a) = 0.4 × 0.5 = 0.2 α

1

(3) = π

3

b

3

(a) = 0 × 0 = 0

α

2

(1) = [ α

1

(1) × a

11

+ α

1

(2)× a

21

+ α

1

(3) × a

31

] b

1

(a)

= [ 0.6 × 0.3+ 0.2 ×0 + 0 × 0 ] ×1 = 0.18 α

2

(2) = [ α

1

(1) × a

12

+ α

1

(2) × a

22

+ α

1

(3) × a

32

] b

2

(a)

= [ 0.6 × 0.5 + 0.2 × 0.3+ 0 × 0 ] × 0.5 = 0.18

α

2

(3) = [ α

1

(1) × a

13

+ α

1

(2) × a

23

+ α

1

(3) × a

33

] b

3

(a)

= [ 0.6 × 0.2 + 0.2 × 0.7 + 0 ×1 ] × 0 = 0

α

3

(1) = [ α

2

(1) × a

11

+ α

2

(2) × a

21

+ α

2

(3) × a

31

] b

1

(b)

= [ 0.18 × 0.3 + 0.18 × 0 + 0 × 0 ] × 0 = 0 α

3

(2) = [ α

2

(1) × a

12

+ α

2

(2) × a

22

+ α

2

(3) × a

32

] b

2

(b)

= [ 0.18 × 0.5 + 0.18 × 0.3 + 0 × 0 ] × 0.5 = 0.072 α

3

(3) = [ α

2

(1) × a

13

+ α

2

(2) × a

23

+ α

2

(3) × a

33

] b

3

(b)

= [ 0.18 × 0.2 + 0.18 × 0.7 + 0 × 1 ] ×1 = 0,162

α

4

(1) = [ α

3

(1) × a

11

+ α

3

(2) × a

21

+ α

3

(3) × a

31

] b

1

(b)

= [ 0 × 0.3 + 0.072 × 0 + 0,162 × 0 ] × 0 = 0 α

4

(2) = [ α

3

(1) × a

12

+ α

3

(2) × a

22

+ α

3

(3) × a

32

] b

2

(b)

= [ 0 × 0.5 + 0.072 × 0.3+ 0,162 × 0 ] × 0.5 = 0.0108 α

4

(3) = [ α

3

(1) × a

13

+ α

3

(2) × a

23

+ α

3

(3) × a

33

] b

3

(b)

= [ 0 × 0.2 + 0.072 × 0.7 + 0,162 × 1 ] ×1 = 0,2124

Hidden Markov Models (HMMs) Procédure Forward-Backward

Exemple

(21)

Digital Data Processing – Traitement Numérique des Données 41 © Y. Bennani

Calcul de α pour la suite d observations : a a b b

a a b b S

2

S

3

S

1

0 0 0.162 0.212

0.2 0.072 0.108

0.6 0.18 0 0

+

α

1

(i) α

2

(i) α

3

(i) α

4

(i)

0.18

a12

a13

a23

a11

a33

a22

€ π1

€ π2

€ π3

b1(a)

b2(a)

b3(a)

b1(b)

b2(b)

b3(b)

t états

Hidden Markov Models (HMMs) Procédure Forward-Backward

Exemple

P(O/λ)= αT(i)

i=1 N

P(aabb /λ) = 0.32

Digital Data Processing – Traitement Numérique des Données 42 © Y. Bennani

Méthodes Stochastiques

Hidden Markov Models (HMMs) Problème 2 : Décodage

Soit un HMM λ et une séquence de symbole O = o 1 , o 2 , …, o T donnés.

Quelle est la séquence d états Q = q 1 , q 2 , …, q T de λ qui a la

probabilité maximale de générer O ?

P(Q /O, λ ) = P(Q, O / λ )

Pour cela, on utilise l ’algorithme de Viterbi.

(22)

Digital Data Processing – Traitement Numérique des Données 43 © Y. Bennani

Méthodes Stochastiques

Hidden Markov Models (HMMs) Algorithme de Viterbi

Soit δ t (i) la probabilité du meilleur che min amenant à l'état s i à t en é tan t guidé par les t premières observations

δ t (i) = max

q

1

q

2

K q

t−1

P(q 1 K q t = s i ,o 1 o 2 K o t / λ )

Méthodes Stochastiques

Hidden Markov Models (HMMs)

à t = 1 on a :

δ 1 (i) = π i b i (o 1 ) 1 ≤ iN ψ 1 (i ) = 0

pour 2 ≤ tT, 1iN , 1 ≤ jN δ t ( j ) = max

i ( δ t −1 (i )a ij ) b j (o t )

ψ t ( j ) = arg max

i ( δ t −1 (i )a ij )

P * = max

i ( δ T (i ) )

q T * = arg max

i

δ T (i)

( )

Initialisation :

Récursion :

Terminaison :

Algorithme de Viterbi

Rétro-propagation:

pour T − 1 ≥ t ≥ 1 q t * = ψ t +1 (q t * +1 )

(23)

Digital Data Processing – Traitement Numérique des Données 45 © Y. Bennani

Hidden Markov Models (HMMs) Procédure Forward-Backward

Exemple

A =

0.3 0.5 0.2 0 0.3 0.7

0 0 1

"

#

$ $

$

%

&

' ' '

B =

1 0

0.5 0.5

0 1

"

#

$ $

$

%

&

' ' '

π = 0.6 0.4 0

#

$

% %

%

&

' ( ( (

1 3 2

0.2

0.7 1

0.3

0.5 0.3

V = { a,b }

Digital Data Processing – Traitement Numérique des Données 46 © Y. Bennani

Hidden Markov Models (HMMs)

Algorithme de Viterbi Exemple

Calcul de δ pour la suite d observations : a a b b

a a b b S

2

S

3

S

1

0 0

0.2

0.6

Max δ

1

(i) δ

2

(i) δ

3

(i) δ

4

(i)

δ

1

(1) = π

1

b

1

(a) = 0.6 ×1 = 0.6 ψ

1

(1) = 0 δ

1

(2) = π

2

b

2

(a) = 0.4 × 0.5 = 0.2 ψ

1

(2) = 0 δ

1

(3) = π

3

b

3

(a) = 0 × 0 = 0 ψ

1

(3) = 0

a12

a13

a23

a11

a33

a22

€ π1

€ π2

€ π3

b1(a)

b2(a)

b3(a)

b1(b)

b2(b)

b3(b)

t

états

(24)

Digital Data Processing – Traitement Numérique des Données 47 © Y. Bennani

Hidden Markov Models (HMMs)

Algorithme de Viterbi Exemple

a a b b S

2

S

3

S

1

0 0

0.2

0.6 0.18 0

Max δ

1

(i) δ

2

(i) δ

3

(i) δ

4

(i)

0.15

a12

a13

a23

a11

a33

a22

€ π1

€ π2

€ π3

b1(a)

b2(a)

b3(a)

b1(b)

b2(b)

b3(b)

t états

δ

2

(1) = max [ ( δ

1

(i) × a

i1

) × b

1

(a) ]

1≤i≤N

= max δ

1

(1) × a

11

δ

1

(2) × a

21

δ

1

(3) × a

31

%

&

' ( '

)

* '

+ ' × b

1

(a) = 0.18 ψ

2

(1) = 1 δ

2

(2) = max

δ

1

(1) × a

12

δ

1

(2) × a

22

δ

1

(3) × a

32

%

&

' ( '

)

* '

+ ' × b

2

(a) = 0.15 ψ

2

(2) =1 δ

2

(3) = max

δ

1

(1) × a

13

δ

1

(2) × a

23

δ

1

(3) × a

33

%

&

' ( '

)

* '

+ ' × b

3

(a) = 0 ψ

2

(3) = 2

Calcul de δ pour la suite d observations : a a b b

Digital Data Processing – Traitement Numérique des Données 48 © Y. Bennani

Hidden Markov Models (HMMs)

Algorithme de Viterbi Exemple

a a b b S

2

S

3

S

1

0 0 0.105 0.105

0.2 0.045 0.0067

0.6 0.18 0 0

Max δ

1

(i) δ

2

(i) δ

3

(i) δ

4

(i)

0.15 0.105

a12

a13

a23

a11

a33

a22

€ π1

€ π2

€ π3

b1(a)

b2(a)

b3(a)

b1(b)

b2(b)

b3(b)

t états

Le meilleur chemin est : 1 2 3 3

ψ1(1)=0 ψ2(1)=1 ψ3(1)=1 ψ4(1)=1 ψ1(2)=0 ψ2(2)=1 ψ3(2)=1 ψ4(2)=2 ψ1(3)=0 ψ2(3)=2 ψ3(3)=2 ψ4(3)=3

q

4*

= argmax δ

4

(1) δ

4

(2) δ

4

(3)

#

$

%

%

%

&

' ( ( (

= 3

q

3*

4

(3) = 3 q

2*

3

(3) = 2 q

1*

2

(2) =1

P

*

= max

i

( δ

T

(i) )

pour T − 1≥ t ≥ 1 q

t

*

= ψ

t+1

(q

t+1

*

)

q

T

*

= argmax

i

δ

T

(i)

( )

Calcul de δ pour la suite d observations : a a b b

(25)

Digital Data Processing – Traitement Numérique des Données 49 © Y. Bennani

Méthodes Stochastiques

Hidden Markov Models (HMMs) Problème 3 : Apprentissage

Soit un HMM λ et une séquence de symbole O = o 1 , o 2 , …, o T donnés.

Comment ajuster les paramètres de λ (probabilités de transition et d’émission) de manière à maximiser la Probabilité de générer O ?

V = { p , f }

p : ? ƒ : ?

p : ? ƒ : ?

S

1

S

2

?

?

?

?

Digital Data Processing – Traitement Numérique des Données 50 © Y. Bennani

Méthodes Stochastiques

Hidden Markov Models (HMMs) Algorithme de Baum-Welch

Cas particulier de l’algorithme EM (Expectation-Maximization)

Convergence vers un optimum local, Algorithme de réestimation itératif Principe :

1. Choisir un paramétrage initial λ o

2. Réestimer les valeurs de ces paramètres à l’aide du paramétrage actuel

3. Si la vraisemblance des données a été améliorée alors retourner en 2.

(26)

Digital Data Processing – Traitement Numérique des Données 51 © Y. Bennani

Méthodes Stochastiques

Hidden Markov Models (HMMs) Algorithme de Baum-Welch (1)

ξ t (i, j) = P( q t = s i , q t +1 = s j / O, λ )

= P(q t = s i , q t +1 = s j , O / λ ) P(O / λ )

= α t (i )a ij b j (o t +1 ) β t +1 ( j) P(O / λ )

La probabilité de passer de l’état s i à l’état s j entre t et t+1 étant donné l’observation O et le modèle λ :

ξ

t

(i , j )

t=1 T−1

= esperance du nombre de transitions de s

i

à s

j

Méthodes Stochastiques

Hidden Markov Models (HMMs) Algorithme de Baum-Welch (2)

γ t (i) = P( q t = s i / O, λ )

= α t (i ) β t (i ) P(O / λ )

= ξ t (i, j)

j =1 N

La probabilité d’être à l’état s i à l’instant t, étant donné l’observation O et le modèle λ :

γ

t

( i)

t=1 T−1

= esperance du nombre de passage dans s

i

Références

Documents relatifs

•  Schalkoff, R., Pattern recognition: Statistical, structural and neural approaches, Wiley, 1992.. • 

trouver les 2 plus proches projections (une de chaque coté)de la projection du point test. Étape

w  Très utilisés en fouille de données (recherche d’informations dans de grandes bases de données hétérogènes). w  Variante : arbres multivariés, potentiellement

Le nombre de paires de données correctement classées dans le même cluster.

Différents matériaux (terre-chanvre stabilisé ou non de Mazhoud [126], chaux-chanvre) et différentes mises en œuvre (banché de Cerezo [136], pré- compacté de Tronet [141]

Nous avons résolu cette question pour l’algorithme d’Uzawa, mais le problème reste ouvert pour l’al-.. gorithme

Les méthodes d’analyse spatiale testées, de type Papadakis itéré, s’avèrent plus performantes que l’analyse en blocs lors- que le gradient naturel du terrain est

Conditions mixtes La solution u du probl`eme (3) est repr´esent´ee par la moyenne d’une variable al´eatoire Y fonction d’une marche al´eatoire r´efl´echie, puis absorb´ee..