• Aucun résultat trouvé

M ODELES DE M ARKOV C ACHES

N/A
N/A
Protected

Academic year: 2022

Partager "M ODELES DE M ARKOV C ACHES"

Copied!
4
0
0

Texte intégral

(1)

M1 IAD UPMC Module MQIA

1

M ODELES DE M ARKOV C ACHES

Rappel :

Un modèle Markovien caché est un modèle génératif aléatoire de séquences. Pour produire une séquence de longueur T avec un MMC :

- On tire au hasard le premier état avec la distribution sur l’état initial, Puis on itère T fois :

- On tire au hasard une observation avec la loi de probabilité d’émission associée à l’état courant

- On tire au hasard le prochain état avec la loi de probabilité de transition à partir de l’état courant

1. F

ORMALISATION DE L

APPRENTISSAGE D

UN

MMC

Généralement on apprend un MMC à partir d’une base de données d’apprentissage non étiquetée, c'est-à-dire constituée d’un ensemble de séquences d’observations, mais sans les séquences d’états associées. On commence par se placer dans ce cadre.

1. On suppose que l’on dispose d’une base d’apprentissage d’une seule séquence BA = {O1}. Quelle propriété satisfait la modèle λ qui maximise la vraisemblance des données d’apprentissage ?

2. On suppose que l’on dispose d’une base d’apprentissage de N séquences BA = {O1,O2,…,ON}. Quelle propriété satisfait la modèle λ qui maximise la vraisemblance des données d’apprentissage ?

On considère maintenant le cas d’une base de données d’apprentissage étiquetée, c'est-à-dire constituée d’un ensemble de couples (séquence d’observations, séquence d’états).

1. On suppose que l’on dispose d’une base d’apprentissage étiquetée de N séquences BA = {(O1,Q1),(O2,Q2),…,(ON,QN)}. Quelle propriété satisfait la modèle λ qui maximise la vraisemblance des données d’apprentissage ?

2. D

IFFICULTE DE L

APPRENTISSAGE D

UN

MMC

On considère le cas d’une base de données d’apprentissage non étiquetée. On vous fournit la séquence d’observations O=(1,2,1,1,3,2) produite par un modèle Markovien, mais on ne vous dit pas par quel type de modèle (nombre d’états etc) cette séquence a été produite, ni la séquence d’états correspondante.

1. Quel modèle Markovien maximise la vraisemblance de la séquence O (nombre d’états, lois de probabilité de transitions et d’émission) ? Quel est son pouvoir de généralisation ? 2. En supposant que la séquence a été générée par un modèle MMC à 1 état, quels sont les

paramètres de ce modèle ?

3. On suppose que cette séquence a été générée par un MMC à deux états. Proposez des paramètres pour ce modèle. Pouvez-vous prouver que votre modèle est localement optimal ? Vous commencerez par définir ce que signifie localement optimal.

(2)

M1 IAD UPMC Module MQIA

2

3. A

PPRENTISSAGE EN PRESENCE DE DONNEES ETIQUETEES

On change de cadre maintenant et on suppose que l’on vous fournit comme corpus d’apprentissage des données étiquetées, c'est-à-dire un ensemble de couples (séquence d’observations, séquence d’états).

On considère une base d’apprentissage constituée d’une séquence BA={(O=(1,2,1,1,3,2),Q=(1, 1,1,2,2,2))} et on vous demande le MMC qui maximise la vraisemblance de cette base d’apprentissage.

1. Quel est le nombre d’états du MMC ?

2. Quels sont les paramètres du modèle optimal ? Pouvez-vous démontrer son optimalité ? On généralise maintenant en considérant une base d’apprentissage étiquetée BA = {(O1,Q1),(O2,Q2),…,(ON,QN)}.

3. Comment trouve-t-on le nombre d’états du modèle optimal ?

4. Comment détermine-t-on les paramètres de ce modèle optimal ? Décrire l’algorithme pour réaliser cela (sans l’écrire en octave).

4. A

PPRENTISSAGE PAR ALIGNEMENT LINEAIRE POUR LES MODELES

G

AUCHE

-

DROITE

On considère un modèle Markovien de structure Gauche-Droite (c'est-à-dire dont le seul état initial est le premier, le seul état final est le dernier, et de matrice de probabilités de transitions diagonale supérieure.

Une stratégie simple pour apprendre un tel modèle à partir d’une base non étiquetée consiste à aligner linéairement les séquences d’observations sur le modèle gauche droite, c'est-à-dire que chaque état produit le même nombre d’observations dans une séquence donnée. Et de supposer que ces séquences d’états sont les vraies séquences d’états.

1. Que donne cette stratégie pour un modèle à 2 états appris sur la base BA={O=(1,1,1,2), O=(1,1,1,1,2)} ? Le modèle obtenu est-il optimal ?

2. Ecrire un code octave qui implémente cette stratégie d’apprentissage.

5. A

PPRENTISSAGE PAR

B

AUM

-W

ELCH SIMPLIFIE

On considère une version simplifiée de l’algorithme classique dit de Baum-Welch qui est utilisé pour maximiser la vraisemblance d’un corpus d’apprentissage non étiqueté. Cet algorithme simplifié consiste à itérer la ré-estimation des paramètres du modèle à l’aide d’un algorithme de type EM (Même famille de modèles que K-Moyennes).

A une itération donnée, on dispose d’une estimation des paramètres du modèle, et on en cherche de nouveaux, meilleurs. Pour cela, on utilise deux étapes :

- On estime les variables cachées, cad la séquence d’états qui a produit chacune des séquences d’apprentissage par décodage (algorithme de Viterbi réalisé avec les anciens paramètres).

- On maximise la vraisemblance avec les données complètes (séquences d’observations + séquences d’états). Cela donne une nouvelle estimation des paramètres du modèle.

On vous demande d’écrire le code octave nécessaire à la mise en œuvre de cet algorithme pour un modèle Gauche-Droite. Pour cela vous pouvez partir de la fonction de haut niveau suivante.

(3)

M1 IAD UPMC Module MQIA

3

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% X = base de séquences (une par ligne)

% K = nb états

% V = Nb symboles

% MMC GD Discret

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function M=ApprendMMCGD(X, K, V) M=InitMMCGD(X,V,K);

N=size(X)(1); % Nb séquences app Ite=1;

IteMax=10;

while (Ite<IteMax)

Stats=InitZerosMMC(V, K);

PI=Stats{1};

A=Stats{2};

B=Stats{3};

for i=1:N

StatsTemp=CompteMMC(M, X(i,:),K);

PI = PI + StatsTemp{1};

A = A + StatsTemp{2};

B = B + StatsTemp{3};

end;

%lissage

M= reestimeMMCGD(A,B,PI);

Pmoy= CalculeProbaBaseMMCGD(M,X);

Ite+=1;

end;

end;

1. Identifiez le rôle des différentes fonctions 2. Ecrire ces fonctions.

6. A

STUCES NUMERIQUES

L’implémentation de MMC pose souvent des problèmes numériques. C’est notamment le cas pour le calcul des quantités alpha nécessaires pour calculer la vraisemblance d’une séquence par un modèle donné.

1. Rappelez les formules de récurrences sur les quantités

2. Imaginez le type de problème que l’on peut rencontrer en calculant ces quantités et pourquoi ? 3. Imaginez des solutions pour remédier à ce problème.

7. A

PPRENTISSAGE PAR

B

AUM

-W

ELCH

La simplification dans l’algorithme de l’exercice 6 vient du fait qu’à chaque itération, on estime les variables cachées, cad la séquence d’états qui a produit chacune des séquences d’apprentissage, puis on suppose que ces séquences d’états sont les vraies séquences.

En réalité l’algorithme de Baum Welch itère le calcul d’une distribution sur les variables cachées, puis se sert de cette distribution pour déterminer les nouveaux paramètres.

1. En supposant que vous disposez d’une distribution sur les variables cachées sous la forme de probabilités suivantes,

et

déterminez les paramètres du nouveau modèle.

) , / ( )

( 1 λ

γt i = p qt =i oT γt(i,j)= p(qt =i,qt+1 = j/o1T,λ) ) , ( )

(i p x1 q i

t t

t = =

α

(4)

M1 IAD UPMC Module MQIA

4

Un algorithme tout à fait semblable à celui permettant de calculer les alphas (mais qui part de t=T pour remonter à t=1) permet de calculer des probabilités du type .

2. Montrez que gamma peut s’exprimer en fonction de quantités alpha et beta.

3. En déduire un algorithme pour calculer les gammas.

) ,

| ( )

( 1 λ

β t i

T t

t i =P x+ q =s

Références

Documents relatifs

Comme nous ne sommes pas très exigeants sur la forme précise de la crue de projet, dans la mesure où elle respecterait les caractéristiques essentielles Q et d, on peut mettre à

Schéma de la relation (intention) : Définition structurelle de la relation R 1(Ncli, Nom, Prénom, Adr, Ville) Un n-uplet correspond à une ligne de la relation.  Cardinalité :

Une strat´ egie simple pour apprendre un tel mod` ele ` a partir d’une base non ´ etiquet´ ee consiste ` a aligner lin´ eairement les s´ equences d’observations sur le mod`

Et, dans chaque état, toutes les observations (Soleil, Nuage, Pluie) pourront être observées mais avec des probabilités variables (on parlera de probabilités d’émission

[r]

Le tableau donné dans le fichier exo1.txt donne les pourcentages de variation par rapport à la période précédente du PIB en volume et de la con- sommation privée en volume en

Le fichier exo2.txt contient les prix en euros d’un produit, P, lors de différentes dates, et le salaire moyen en euros des employés de l’entreprise fabricant ce produit, S (il

k. D’après l’allure de la courbe, on remarque qu’à partir de la position x c = 0.15 vers le bord de fuite, la couche limite est soumise à un gradient de pression défavorable.. La