Mastere M2 MVA 2010 - Modèles graphiques Exercices à rendre pour le 15 décembre 2010. Ces exercices doivent s’effectuer seul. 1 Propagation de messages dans les modèles gaussiens Soit un modèle graphique Gaussien non-orienté de paramètres canoniques η ∈ Rn (le vecteur potentiel) et Λ ∈ Rn×n (la matrice de précision). On considère le cas où la variable aléatoire correspondant à chaque noeud est une variable Gaussienne scalaire et où le modèle graphique est un arbre G = (V, E). On s’intéresse au calcul des lois marginales par l’algorithme de propagation de messages (PM). L’algorithme de propagation des messages tel que vu en cours échange des messages qui sont des fonctions-potentiels de R dans R. 1. Montrer qu’en pratique, la PM peut s’implémenter en échangeant des messages ms→t qui sont des exponentielles de fonctions quadratiques. Calculer les équations de propagation des messages pour ces fonctions quadratiques. 2. Montrer qu’au terme de l’algorithme, le calcul des marginales sur les noeuds et les arêtes permet de calculer µ = E[X] et (E[Xs Xt ]){s,t}∈E . 3. Quelle est la complexité de l’algorithme PM ? Quelle est la complexité du calcul de µ à partir de Λ et η dans le cas général du modèle Gaussien ? Dans le cas ou le modèle graphique est un arbre ? Commentez. 2 Apprentissage de la structure d’un arbre Dans cet exercice, un algorithme pour apprendre la structure d’un modèle graphique à partir de données i.i.d sera dérivé pour les arbres. 1. Préliminaire I (entropie marginale) : Soit une variable aléatoire discrète X à valeurs dans un ensemble fini X . Soit η(x) = p(X = x) le vecteur de paramètres. Soit un échantillon i.i.d (xn ), n = 1, . . . , N de taille variable. On note P N de cette n δ(x = x). Montrer que la p̂(x) la densité empirique, définie par p̂(x) = N1 N n=1 P N n log-vraisemblance conditionnelle maximale maxη n=1 log p(x |η) est égale à : max η N X log p(xn |η) = −NH(X), n=1 où H(X) est l’entropie empirique de X, définie par H(X) = − X x∈X 1 p̂(x) log p̂(x). 2. Préliminaire II (entropies jointe et conditionnelle) : Soient deux variables aléatoires discrètes X, Y à valeurs dans des ensembles finis X et Y. Soit η(x, y) = p(Y = x|X = x) la matrice de paramètres de la loi conditionnelle. Soit un échantillon i.i.d (xn , y n), n = 1, . . . , N de taille N de ces variables. On note p̂(x, y) la Pdeux N 1 densité empirique, définie par p̂(x, y) = N n=1 δ(xn = x)δ(y n = y). Montrer P n n que la log-vraisemblance conditionnelle maximale maxη N n=1 log p(y |x , η) est égale à : N X log p(y n |xn , η) = N(H(X) − H(X, Y )) max η n=1 où H(X, Y ) l’entropie (jointe) empirique de (X, Y ) est définie par H(X, Y ) = − XX p̂(x, y) log p̂(x, y). y∈Y x∈X 3. On considère maintenant P variables aléatoires X1 , . . . , XP à supports finis X1 , . . . , XP . On considère N observations i.i.d. de ces P variables, (xnp ), p = 1, . . . , P , n = 1, . . . , N. On note p̂(x1 , . . . , xP ) la densité empirique, définie comme suit : N 1 X δ(xn1 = x1 ) · · · δ(xnP = xP ). p̂(x1 , . . . , xP ) = N n=1 Cette densité jointe permet de définir des densités marginales p̂(xp , xq ) et p̂(xq ) par marginalisation. Soit un arbre couvrant orienté T à P sommets (i.e., un DAG connexe avec au plus un parent par sommet). Quelle est la paramétrisation la plus générale pour une loi p(x1 , . . . , xP ) se factorisant dans un tel DAG ? Montrer qu’une fois maximisée par rapport à ces paramètres, la log-vraisemblance des données est égale à : P X H(Xπp (T ) ) − H(Xp , Xπp (T ) ) ℓ(T ) = N p=1 (avec les conventions H(Xp , X∅ ) = H(Xp ) et H(X∅ ) = 0) 4. Pour tout p, q, on appelle information mutuelle empirique la quantité I(Xp , Xq ) = −H(Xp , Xq ) + H(Xp) + H(Xq ). Exprimer cette quantité comme une divergence de Kullback-Leibler et montrer qu’elle est positive ou nulle. 5. Exprimer ℓ(T ) à l’aide des informations mutuelles. Comment maximiser ℓ(T ) par rapport à l’arbre T ? Retrouver un problème classique de théorie des graphes, et décrire un algorithme permettant d’apprendre la structure de l’arbre ayant le maximum de vraisemblance. Quelle est sa complexité ? 2 3 Implémentation - HMM On considère les mêmes données d’apprentissage que le devoir précédent, dans le fichier “EMGaussienne.dat”, mais cette fois-ci en considérant la structure temporelle, i.e., les données sont de la forme ut = (xt , yt ) où ut = (xt , yt ) ∈ R2 , pour t = 1, . . . , T . Le but de cet exercice est d’implémenter l’inférence dans les HMM ainsi que l’algorithme EM pour l’apprentissage des paramètres. Il est conseillé d’utiliser le code du devoir précédent. On considère le modèle HMM suivant avec une chaı̂ne (qt ) à K=4 états et matrice de transition a ∈ R4×4 , et des “probabilités d’émission” Gaussiennes : ut |qt = i ∼ N (µi , Σi ). 1. Implémenter les récursions α et β vues en cours et dans le polycopié pour estimer p(qt |u1, . . . , uT ) et p(qt , qt+1 |u1 , . . . , uT ). 2. Calculer les équations d’estimation de EM. 3. Implémenter l’algorithme EM pour l’apprentissage (on pourra initialiser les moyennes et les covariances avec celles trouvées dans le devoir précédent). 4. Implémenter l’inférence pour estimer la séquence d’états la plus probables, i.e. arg maxq p(q1 , . . . , qT |y1, . . . , yT ), et représenter le résultat obtenu avec les données (pour le jeu de paramètres appris par EM). 5. Commenter les différents résultats obtenus avec ceux du devoir précédent. En particulier, comparer les log-vraisemblances, sur les données d’apprentissage, ainsi que sur les données de test (dans “EMGaussienne.test”). 3