FAA - M1S2 Hadrien Glaude Introduction Fondements de l’Apprentissage Automatique Deux exemples Mélanges de modèles probabilistes Partitionnement de données Classification Maximum de vraisemblance Hadrien Glaude [email protected] Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve Université Lille 1 - CRIStAL (SequeL) - Thales Systèmes Aéroportés Master 1 Info Conclusion 1/26 1 Introduction 2 Deux exemples Partitionnement de données Classification 3 Maximum de vraisemblance Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve 4 Conclusion 2/26 Mélange de modèles probabilistes Introduction FAA - M1S2 Objectif : améliorer les performances en combinant des modèles simples pour obtenir des modèles plus complexes. Approche : probabiliste (différent du boosting) Hypothèse : modèles simples probabilistes mélange linéaire convexe Hadrien Glaude Introduction Deux exemples Partitionnement de données Classification Dérivation : maximiser la vraisemblance Maximum de vraisemblance des paramètres de chaque modèle simple des coefficients du mélange Dans ce cours : Deux usages : partitionnement et classification (régression) Deux modèles : Gaussien et régression logistique (régression linéaire) Maximisation de la vraisemblance dans des cas compliqués : Espérance-Maximisation (EM) 2/26 Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve Conclusion 1 Introduction 2 Deux exemples Partitionnement de données Classification 3 Maximum de vraisemblance Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve 4 Conclusion 3/26 1 Introduction 2 Deux exemples Partitionnement de données Classification 3 Maximum de vraisemblance Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve 4 Conclusion 3/26 Partitionnement de données Mélange de Gaussiennes FAA - M1S2 Hadrien Glaude Loi normale (densité) Introduction Deux exemples 1 1 (x − µ)2 νµ,σ (x) = √ exp − 2 σ2 σ 2π 1 1 > −1 νµ,Σ (x) = exp − (x − µ) Σ (x − µ) 2 |Σ|1/2 (2π)d/2 Partitionnement de données Classification Maximum de vraisemblance Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve d : dimension µ, µ : moyenne σ 2 , Σ : variance Conclusion 3/26 Partitionnement de données Mélange de Gaussiennes Partitionnement de données : Soit N individus X = {xi |i = 1..N}, chacun décrit par d attributs, supposé issus de K groupes. Hypothèse : modèle gaussien Les individus de chaque groupe sont des échantillons d’une gaussienne de paramètre θk = {µ, Σ}. On note Θ = {θk }k=1..K Les proportions des groupes sont données par π = {πk }k=1..K Donc, les individus x de X sont tirés selon le mélange de lois Mélange de Gaussiennes (densité) fΦ (x) = K X FAA - M1S2 Hadrien Glaude Introduction Deux exemples Partitionnement de données Classification Maximum de vraisemblance Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve Conclusion πk νθk (x), k=1 où Φ = {Θ, π} et νθk est la densité d’une gaussienne. 4/26 1 Introduction 2 Deux exemples Partitionnement de données Classification 3 Maximum de vraisemblance Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve 4 Conclusion 5/26 Classification Mélange de régressions logistiques FAA - M1S2 Hadrien Glaude Régression logistique pour la classification (deux classes) : Vraisemblance P (Y |x, θ) du modèle régression logistique Introduction Deux exemples P (Y = 1|x, θ) = sig(θT x) Partitionnement de données Classification P (Y = 0|x, θ) = 1 − P (Y = 1|x) = 1 − sig(θT x) P (Y = y |x, θ) = sig(θT x)y (1 − sig(θT x))1−y sig(x) = 1 1+e −x Maximum de vraisemblance Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve : fonction sigmoı̈de θ : vecteur de paramètres du modèle log-linéaire Règle pour classifier (fonction de coût 0-1) : Si Si P(Y =1|x,θ) P(Y =0|x,θ) P(Y =0|x,θ) P(Y =1|x,θ) = = sig(θ > x) 1−sig(θ > x) sig(θ > x) 1−sig(θ > x) ≥ 1 alors ŷ = 1 Conclusion < 1 alors ŷ = 0 5/26 Classification Mélange de régressions logistiques FAA - M1S2 Hadrien Glaude La régression logistique ne fonctionne que pour des classes linéairement séparables. Idée : Introduction Deux exemples Des sous groupes d’individus sont linéairement séparables. Pour chaque groupe k, on apprend les paramètres θk de la régression logistique. On combine linéairement les classifieurs appris. Partitionnement de données Classification Maximum de vraisemblance Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve Vraisemblance P (Y |x, Φ) du mélange de régressions logistiques P (Y = y |x, Φ) = K X πk sig(θkT x)y (1 − sig(θkT x))1−y , k=1 Conclusion avec Φ = {Θ, Π}, Θ = {θk }k=1..K , Π = {πk }k=1..K 6/26 1 Introduction 2 Deux exemples Partitionnement de données Classification 3 Maximum de vraisemblance Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve 4 Conclusion 7/26 Vraisemblance Définition FAA - M1S2 Hadrien Glaude Log-vraisemblance L(X ; θ) Introduction Soit θ les paramètres du modèle et X = {xi }i=1..N des échantillons i.i.d., Deux exemples Partitionnement de données Classification Cas discret : i.i.d. L(X ; θ) = log(P (X |θ)) = N X Maximum de vraisemblance log(P (xi |θ)) Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve i=1 Cas continue : i.i.d. L(X ; θ) = log(fθ (X )) = N X log(fθ (xi )) Conclusion i=1 7/26 1 Introduction 2 Deux exemples Partitionnement de données Classification 3 Maximum de vraisemblance Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve 4 Conclusion 8/26 Loi normale : maximum de vraisemblance I Annulation du gradient FAA - M1S2 Pour la loi normale, dériver et annuler la log-vraisemblance suffit à retrouver les paramètres. Hadrien Glaude Introduction µML N 1 X = xi N ΣML = 1 N Deux exemples Partitionnement de données Classification i=1 N X Maximum de vraisemblance (xi − µML )(xi − µML )> i=1 Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve Démonstration (d = 1) : on écrit la log-vraisemblance, L(X ; µ, σ) = N X log(νµ,σ (xi )) Conclusion i=1 N = −N log(σ) − 1X N log(2π) − 2 2 i=1 xi − µ σ 2 8/26 Loi normale : maximum de vraisemblance II Annulation du gradient FAA - M1S2 Les dérivés partielles s’écrivent, Hadrien Glaude N ∂L 1 X = 2 (xi − µ) ∂µ σ Introduction Deux exemples i=1 N N 1 X ∂L (xi − µ)2 =− + 3 ∂σ σ σ Partitionnement de données Classification Maximum de vraisemblance i=1 On égalise à zéro : N X 1 −N + 2 σ i=1 N X i=1 (xi − µ) = 0 ⇒ µ = N 1 X xi N 1 (xi − µ) = 0 ⇒ σ = N 2 2 Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve i=1 N X Conclusion 2 (xi − µ) i=1 9/26 Régression logistique : maximum de vraisemblance Descente de gradient (rappel) FAA - M1S2 Hadrien Glaude On écrit la log-vraisemblance, L(Y ; X , θ) = N X Introduction yi log sig(θT xi ) + (1 − yi ) log 1 − sig(θT xi ) i=1 Deux exemples Partitionnement de données Classification Calcul du gradient, Maximum de vraisemblance N ∂L X = xi yi − sig(θ> xi ) ∂θ Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve i=1 Monté de gradient pour trouver le maximum, θ(t+1) = θ(t) + αt ∂L (t) θ ∂θ Conclusion 10/26 1 Introduction 2 Deux exemples Partitionnement de données Classification 3 Maximum de vraisemblance Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve 4 Conclusion 11/26 Espérance Maximisation I Introduction de variables latentes et décomposition de la vraisemblance Problème : maximiser la vraisemblance L(X ; θ) de modèles complexes peut s’avérer très compliquée. Idée : introduire de nouvelle variables Z , dı̂tes cachées ou latentes, qui vont venir compléter les observations X tel que leur connaissance facilite la maximisation de la vraisemblance. On note Φ les paramètres de la distribution de X Hadrien Glaude Introduction Deux exemples Partitionnement de données Classification Maximum de vraisemblance En utilisant la règle de Bayes, P (X |Φ) = P (X |Z , Φ) = FAA - M1S2 Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve P (X , Z |Φ) P (Z |X , Φ) On appelle L(X , Z ; Φ) la vraisemblance complétée, on a Conclusion L(X ; Φ) = L(X , Z ; Φ) − L(Z ; Φ, X ) L’algorithme EM fonctionne de façon itérative. On note Φ(t) les paramètres à l’étape t. 11/26 Espérance Maximisation II Introduction de variables latentes et décomposition de la vraisemblance FAA - M1S2 Hadrien Glaude Prenons l’espérance sur Z conditionnellement à Φ(t) et X , Q(Φ,Φ(t) ) Introduction Deux exemples H(Φ,Φ(t) ) Partitionnement de données Classification }| }| z h i{ z h i{ L(X ; Φ) = EZ L(X , Z ; Φ)Φ(t) , X − EZ L(Z ; Φ, X )Φ(t) , X Maximum de vraisemblance Connaissant les paramètres à l’étape t, on cherche Φ(t+1) qui maximise L(X , Φ(t+1) ). Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve On peut montrer qu’il suffit de maximiser Q(Φ(t+1) , Φ(t) ). Cette maximisation se fait en deux étapes. Conclusion 12/26 Espérance Maximisation Étape E, étape M FAA - M1S2 Hadrien Glaude L’étape E, consiste à calculer de l’expression h i Q(Φ, Φ(t) ) = EZ L(X , Z ; Φ)Φ(t) , X Introduction Deux exemples Partitionnement de données Classification C’est à dire à calculer l’espérance sur Z conditionnellement à Φ(t) , X . Dans l’étape M, on cherche le prochain ensemble de paramètres Φ(t+1) tel que Φ(t+1) = arg max Q(Φ, Φ(t) ) Φ Maximum de vraisemblance Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve Conclusion 13/26 Mélange de Gaussiennes I Étape E FAA - M1S2 Pour le mélange de Gausienne, on a P (xi |Φ) = K X Hadrien Glaude Introduction πk νθk (xi ), Deux exemples k=1 Partitionnement de données Classification On introduit les variables aléatoires zik qui valent 1 si l’individu xi est généré par la k-ième Gaussienne, 0 sinon. On pose, K X P (xi , zik |Φ) = (πk νθk (xi ))zik Maximum de vraisemblance Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve k=1 qui vérifie P zik ∈{0,1} P (xi , zik |Φ) = P (xi |Φ) On écrit la log-vraisemblance des données complétées, L(X , Z ; Φ) = N X K X i=1 k=1 Conclusion zik log (πk νθk (xi )) , 14/26 Mélange de Gaussiennes II Étape E Ainsi FAA - M1S2 " (t) Q(Φ, Φ ) = EZ = N X K X i=1 k=1 N K h XX EZ # (t) zik log (πk νθk (xi ))Φ , X Hadrien Glaude Introduction Deux exemples i zik Φ(t) , xi log (πk νθk (xi )) Partitionnement de données Classification i=1 k=1 Maximum de vraisemblance Notons γik = EZ zik Φ(t) , xi , on a Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve P z = 1, x Φ(t) ik (t) i γik = P zik = 1Φ , xi = P xi Φ(t) πk νθk (xi ) = PK k 0 =1 πk 0 νθk 0 (xi ) Conclusion Intuition : probabilité d’être généré par le k-ième modèle divisé normalisé par la probabilité d’être généré par l’ensemble (le mélange) des modèles. 15/26 Mélange de Gaussiennes I Étape M FAA - M1S2 Dans l’étape M, on cherche Φ(t+1) = arg max Φ Hadrien Glaude N X K X Introduction γik log (πk νθk (xi )) Deux exemples i=1 k=1 avec Φ = {Π, Θ} sous la contrainte P k Partitionnement de données Classification πk = 1 Maximum de vraisemblance On utilise le lagrangien, L(Π, Θ, λ) = N X K X ! γik log (πk νθk (xi )) − λ i=1 k=1 X πk − 1 k On dérive par rapport à chaque composante et on annule. Conclusion Commençons par πk , ∂L = ∂πk Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve PN i=1 γik πk −λ=0 16/26 Mélange de Gaussiennes II Étape M P Ainsi, pour tout k, N i=1 γik = λπk On somme sur k et on réinjecte la contrainte pour trouver, N= K X N X γik = k=1 i=1 K X Deux exemples k=1 Partitionnement de données Classification N 1 X γik πk = N Maximum de vraisemblance Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve i=1 Passons à θk = {µk , Σk }, on a, et Hadrien Glaude Introduction λπk = λ Finalement, ∂L ∂Lk (X ; µk , Σk ) = ∂µk ∂µk FAA - M1S2 ∂L ∂Lk (X ; µk , Σk ) = ∂Σk ∂Σk Conclusion avec, N 1 1 1X Lk (X ; µk , Σk ) = − log(|Σ|)− log(2π)− γik (xi −µ)> Σ−1 (xi −µ) 2 2 2 i=1 17/26 Mélange de Gaussiennes III Étape M FAA - M1S2 Hadrien Glaude Similairement au cas avec une seule Gaussienne, on trouve Introduction Deux exemples PN µk = Σk = γik xi Pi=1 N i=1 γik PN i=1 γik (xi Partitionnement de données Classification Maximum de vraisemblance − µk )(xi − µk )> PN i=1 γik Intuition : chaque modèle est appris avec l’ensemble des individus mais pondérés par leur coefficient d’appartenance à ce modèle. Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve Conclusion 18/26 Mélange de régression logistiques I Étape E FAA - M1S2 Hadrien Glaude Pour le mélange de régressions logistiques, on a Introduction P (yi |xi , Φ) = K X πk sig(θkT xi )yi (1 − Deux exemples sig(θkT xi ))1−yi Partitionnement de données Classification k=1 Maximum de vraisemblance On introduit les variables aléatoires zik qui valent 1 si l’individu xi est appartient au groupe k, 0 sinon. On pose, P (yi |xi , Φ) = K X πk sig(θkT xi )yi (1 − sig(θkT xi ))1−yi Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve zik k=1 Conclusion qui vérifie P zik ∈{0,1} P (xi , zik |Φ) = P (xi |Φ) 19/26 Mélange de régression logistiques II Étape E FAA - M1S2 Hadrien Glaude On écrit la log-vraisemblance, L(Y , Z ; X , Φ) = N X K X zik Introduction Deux exemples log(πk ) + yi log sig(θkT xi ) Partitionnement de données Classification i=1 k=1 +(1 − yi ) log 1 − sig(θkT xi ) Maximum de vraisemblance Ainsi Q(Φ, Φ(t) ) = N X K X h i EZ zik Φ(t) , xi , yi log(πk ) + yi log sig(θkT xi ) i=1 k=1 +(1 − yi ) log 1 − sig(θkT xi ) Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve Conclusion 20/26 Mélange de régression logistiques III Étape E FAA - M1S2 Hadrien Glaude On note γik = EZ zik Φ(t) , xi , yi , on a Introduction Deux exemples P z = 1, y Φ(t) , x i ik (t) i γik = P zik = 1Φ , xi , yi = P yi Φ(t) , xi = PK Partitionnement de données Classification Maximum de vraisemblance πk sig(θkT xi )yi (1 − sig(θkT xi ))1−yi k 0 =1 πk 0 sig(θkT0 xi )yi (1 − sig(θkT0 xi ))1−yi Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve Intuition : probabilité d’être généré par le k-ième modèle divisé normalisé par la probabilité d’être généré par l’ensemble (le mélange) des modèles. Conclusion 21/26 Mélange de régressions logistiques I Étape M FAA - M1S2 Hadrien Glaude Dans l’étape M, on cherche Φ (t+1) = arg max Φ N X K X Introduction γik log(πk ) + yi log sig(θkT xi ) Partitionnement de données Classification i=1 k=1 +(1 − yi ) log 1 − sig(θkT xi ) avec Φ = {Π, Θ} sous la contrainte P k Deux exemples Maximum de vraisemblance πk = 1 Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve On utilise le lagrangien L(Π, Θ, λ), que l’on dérive par rapport à chaque composante et égalise à zéros. Comme pour le mélange de Gaussiennes, on a Conclusion N 1 X πk = γik N i=1 22/26 Mélange de régressions logistiques II Étape M FAA - M1S2 Passons à θk = {µk , Σk }. La résolution se fait par descente de gradient, ∂L = ∂θk N X Introduction Deux exemples γik xi yi − sig(θk> xi ) Partitionnement de données Classification i=1 (t 0 +1) θk Hadrien Glaude Maximum de vraisemblance (t 0 ) = θk + αt ∂L (t 0 ) θ ∂θk k Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve Intuition : le calcul du gradient pour un modèle se fait à l’aide de tous les individus mais pondérés par leur coefficient d’appartenance à ce modèle. Conclusion 23/26 Espérance Maximisation I Preuve de convergence FAA - M1S2 Pour prouver la convergence, on va montrer que chaque itération de EM augmente la log-vraisemblance. On calcule l’incrément à chaque pas, Hadrien Glaude Introduction Deux exemples L(X ; Φ(t) ) =Q(Φ(t) , Φ(t) ) − H(Φ(t) , Φ(t) ) (t+1) L(X ; Φ (t+1) L(X ; Φ (t+1) (t) (t+1) (t) ) =Q(Φ , Φ ) − H(Φ ,Φ ) (t+1) (t) (t) ) − L(X ; Φ ) = Q(Φ , Φ ) − Q(Φ , Φ(t) ) − H(Φ(t+1) , Φ(t) ) − H(Φ(t) , Φ(t) ) (t) On montre avec l’inégalité de Jensen que H(Φ(t+1) , Φ(t) ) − H(Φ(t) , Φ(t) ) ≤ 0 Partitionnement de données Classification Maximum de vraisemblance Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve Conclusion De plus, l’algorithme EM assure que Q(Φ(t+1) , Φ(t) ) ≥ Q(Φ(t) , Φ(t) ) 24/26 Espérance Maximisation II Preuve de convergence FAA - M1S2 Hadrien Glaude Introduction Deux exemples Donc, (t+1) L(X ; Φ Partitionnement de données Classification (t) ) − L(X ; Φ ) ≥ 0 Maximum de vraisemblance Comme la log-vraisemblance est majorée et qu’à chaque pas L(X ; Φ(t) ) augmente, l’algorithme converge. Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve Conclusion 25/26 1 Introduction 2 Deux exemples Partitionnement de données Classification 3 Maximum de vraisemblance Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve 4 Conclusion 26/26 Quelques remarques FAA - M1S2 Hadrien Glaude L’algorithme EM est très utilisé, a de nombreuses variantes et s’applique a une très large variété de modèle. Le mélange de Gaussiennes est équivalent au K -moyennes quand les variances tendent vers 0. Introduction Deux exemples Partitionnement de données Classification Maximum de vraisemblance L’algorithme EM peut diverger en cas de singularités dans la fonction de vraisemblance. Ce problème peut être réglé par traitement bayésien. Cas simples Cas compliqués Algorithme Espérance Maximisation Application au mélange de modèles Preuve Une approche bayésienne permet aussi de sélectionner automatiquement le nombre de composantes dans le mélange. Conclusion 26/26 5 Travaux dirigés 1/1 Travaux dirigés Implémentation de l’algorithme EM FAA - M1S2 Implémenter l’algorithme EM pour le mélange de régressions logistiques L’algorithme se décompose ainsi : Hadrien Glaude Travaux dirigés Initialisation des coefficients de mélange aléatoirement PK (0) (attention à respecter la contrainte : ∀i k=1 γik = 1) Boucle sur t jusqu’à ce que les coefficients de mélange entre deux itérations changent faiblement : PN PK PN PK (t+1) (t) (t+1) − γik )2 ≤ EM i=1 k=1 (γik )2 i=1 k=1 (γik (t+1) Étape M : calculer les θk par descentes de gradient (t) (astuce : initialiser la descente de gradient en utilisant θk ) (t+1) Étape E : calculer les coefficients de mélange γik Tester l’algorithme sur sklearn.datasets.make circles Tracer la droite séparatrice de chaque régresseur logistique (donnée par θk ). 1/1