Partitionnement et mélanges gaussiens
Transcript of Partitionnement et mélanges gaussiens
![Page 1: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/1.jpg)
Partitionnement et melanges gaussiens
Ange Tato
Universite du Quebec a MontrealCours inspiree de [1].
2 decembre 2021
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 1 / 70
![Page 2: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/2.jpg)
Plan
1 Introduction
2 Algorithme K-moyennes et probleme
3 Melanges gaussiens
4 Exemples
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 2 / 70
![Page 3: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/3.jpg)
Plan
1 Introduction
2 Algorithme K-moyennes et probleme
3 Melanges gaussiens
4 Exemples
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 3 / 70
![Page 4: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/4.jpg)
Introduction
Il existe differents types d’apprentissage.
Apprentissage supervise : il y a une cible a predire :
D = {(x1, t1), ..., (xN , tN)}
Apprentissage non supervise : la cible n’est pas fournie :
D = {x1, ..., xN}
Apprentissage par renforcement (non couvert ici).
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 4 / 70
![Page 5: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/5.jpg)
Introduction
Apprentissage non supervise, estimation de la densite :
L’apprentissage non-supervise est lorsqu’une cible n’est pasexplicitement donnee.
estimation de densite : apprendre la loi de probabilite p(x) ayantgenere les donnees.
pour generer de nouvelles donnees realistes ;
pour distinguer les ≪vrais≫ donnees des ≪fausses≫ donnees (spamfiltering) ;
compression de donnees.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 5 / 70
![Page 6: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/6.jpg)
Introduction
Apprentissage non supervise, estimation de la densite :
L’apprentissage non-supervise est lorsqu’une cible n’est pasexplicitement donnee.
Partitionnement des donnees / clustering.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 6 / 70
![Page 7: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/7.jpg)
Introduction
Apprentissage non supervise, estimation de la densite :
Combien de groupe dans cette image ?
Nous allons apprendre a identifier automatiquement les groupescaches.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 7 / 70
![Page 8: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/8.jpg)
Plan
1 Introduction
2 Algorithme K-moyennes et probleme
3 Melanges gaussiens
4 Exemples
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 8 / 70
![Page 9: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/9.jpg)
K-moyennes ou K-means
C’est l’un des algorithmes de clustering les plus repandus. Il permetd’analyser un jeu de donnees, afin de regrouper les donnees“similaires” en groupes (ou clusters).
Similarite evalue par la notion de “distance”.
Recherche des K “donnees prototypes” ou centroıdes, autourdesquelles peuvent etre regroupees les autres donnees.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 9 / 70
![Page 10: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/10.jpg)
K-moyennes ou K-means
L’algorithme associe chaque donnee a son centroıde le plus proche,afin de creer des clusters.
Les moyennes definissent la position des centroıdes dans l’espace :origine du nom de cet algorithme (K-moyennes ou K-means enanglais).
Apres avoir initialise au hasard des centroıdes (donnees au hasarddans le jeu), K-means alterne plusieurs fois les deux etapes pouroptimiser les centroıdes et leurs groupes :
Regrouper chaque objet autour du centroıde le plus proche.
Replacer chaque centroıde selon la moyenne des points de son groupe.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 10 / 70
![Page 11: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/11.jpg)
K-moyennes ou K-means
from sklearn.cluster import KMeans
kmeans = KMeans(4, random_state=0)
labels = kmeans.fit(X).predict(X)
plt.scatter(X[:, 0], X[:, 1], c=labels, s=40, cmap='viridis');
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 11 / 70
![Page 12: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/12.jpg)
K-moyennes ou K-means
On pourrait s’attendre a ce que l’affectation de cluster pour certainspoints soit plus certaine que pour d’autres.
Dans l’exemple ci-dessus : il semble y avoir un tres legerchevauchement entre les deux clusters du milieu, de sorte quenous pourrions ne pas avoir une confiance totale dans l’affectation decluster de points entre eux.
Le modele k-means n’a pas de mesure intrinseque de probabiliteou d’incertitude des affectations.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 12 / 70
![Page 13: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/13.jpg)
K-moyennes ou K-means
Un facon de voir : k-means place un cercle (ou, dans des dimensionsplus elevees, une hyper-sphere) au centre de chaque cluster, avec unrayon defini par le point le plus eloigne du cluster.
Ce rayon agit comme une coupure stricte pour l’affectation dans lecluster : tout point en dehors de ce cercle n’est pas considere commeun membre du cluster.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 13 / 70
![Page 14: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/14.jpg)
K-moyennes ou K-means
Une observation importante pour k-means est que ses modeles declusters sont circulaires : k-means n’a aucun moyen integre deprendre en compte les clusters elliptiques par exemple.
Exemple : On transforme un peu nos donnees :
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 14 / 70
![Page 15: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/15.jpg)
K-moyennes ou K-means
Les ’amas’ ne sont pas circulaires.
k-means n’est pas assez flexible pour en tenir compte et essaie deforcer l’ajustement des donnees dans quatre clusters circulaires.
2 desavantages :
Manque de flexibilite dans la forme des clusters ;
Manque d’assignation probabiliste aux clusters. Appartient oun’appartient pas (Assignation binaire !).
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 15 / 70
![Page 16: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/16.jpg)
Plan
1 Introduction
2 Algorithme K-moyennes et probleme
3 Melanges gaussiens
4 Exemples
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 16 / 70
![Page 17: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/17.jpg)
Melanges Gaussiens
Un modele de melange gaussien (GMM : Gaussian Mixture Models)tente de trouver un melange de distributions de probabilitesgaussiennes multidimensionnelles qui modelisent au mieux toutensemble de donnees d’entree.
Dans le cas le plus simple, les GMM peuvent etre utilises pourrechercher des clusters de la meme maniere que les k-means :
from sklearn import mixture
gmm = mixture.GaussianMixture(n_components=4).fit(X)
labels = gmm.predict(X)
plt.scatter(X[:, 0], X[:, 1], c=labels, s=40, cmap='viridis');
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 17 / 70
![Page 18: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/18.jpg)
Melanges Gaussiens
Un melange de gaussiennes suppose que les donnees ont etegenerees comme suit :
Pour n = 1...N
choisir un entier k ϵ {1, ...,K} selon les probabilites π1, ... , πK ;
genere xn d’une loi de probabilite N (xn∣µk ,Σk) (loi normalemultidimensionnelle ou multivariee).
En mots : les entrees sont des echantillons d’une de K differentes loisgaussiennes, ayant chacune des moyennes et covariances differentes.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 18 / 70
![Page 19: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/19.jpg)
Melanges Gaussiens
Visuellement on a :
Figure – Melange gaussien : l’ensemble de plusieurs densites (normales) deprobabilites.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 19 / 70
![Page 20: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/20.jpg)
Melanges Gaussiens
Exemple de donnees generees d’un melange de gaussiennes (K=3)
Figure – La couleur indique de quelle gaussienne a ete echantillonnee le point.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 20 / 70
![Page 21: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/21.jpg)
Melanges Gaussiens
Probabilite a priori du choix de la gaussienne
On va noter z la variable aleatoire correspondant a l’identite de lagaussienne qui a genere une entree x .
format one-hot : zk=1 si x a ete generee par la kegaussienne.
La probabilite de choisir la kegaussienne est donc :
p(zk = 1) = πk
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 21 / 70
![Page 22: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/22.jpg)
Melanges Gaussiens
Probabilite a priori du choix de la gaussienne
La probabilite de choisir la kegaussienne est donc :
p(zk = 1) = πk
Puisque z est one-hot, on peut aussi ecrire :
p(z) =K
∏k=1
πzkk
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 22 / 70
![Page 23: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/23.jpg)
Melanges Gaussiens
fonction de densite conditionnelle de l’entree
Sachant z la probabilite (fonction de densite) de x est :
p(x∣zk = 1) = N (x∣µk ,Σk)
N (x∣µ,Σ) = 1
(2π)N/21
∣Σ∣1/2exp {−1
2(x − µ)TΣ−1(x − µ)}
Que l’on peut aussi ecrire
p(x∣z) =K
∏k=1
N (x∣µk ,Σk)zk
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 23 / 70
![Page 24: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/24.jpg)
Melanges Gaussiens
Reseau bayesien
On peut illustrer un melange de gaussiennes sous la forme du reseaubayesien (modele graphique) suivant :
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 24 / 70
![Page 25: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/25.jpg)
Melanges Gaussiens
Approche probabiliste generative
On va supposer que les donnees ont ete generees selon le processussuivant (cas binaire) :
Pour n = 1...N
assigne tn=1 avec la probabilite p(C1) = π et tn=0 avec la probabilitep(C2) = 1 − π
si tn=1, genere xn de la loi de probabilite p(xn∣C1) = N (xn∣µ1,Σ)sinon (tn=0), genere xn de la loi de probabilitep(xn∣C2) = N (xn∣µ2,Σ)
En mots : les entrees sont des echantillons d’une loi gaussienne, maisde moyennes differentes pour les differentes classes.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 25 / 70
![Page 26: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/26.jpg)
Melanges Gaussiens
Dans un melange de gaussienne, l’appartenance aux K gaussiennes(≪classes≫) n’est pas connue.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 26 / 70
![Page 27: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/27.jpg)
Melanges Gaussiens
Fonction de densite marginale des entrees
Puisqu’on ne connait pas l’appartenance aux gaussiennes (z), on vas’interesser a la probabilite marginale :
p(x) = ∑z
p(z)p(x∣z) =K
∑k=1
πkN (x∣µk ,Σk)
C’est de cette facon qu’on va mesurer la performance de notremodele.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 27 / 70
![Page 28: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/28.jpg)
Melanges Gaussiens
Partitionnement de donnees, clustering
A partir d’un melange de gaussiennes entraıne, on pourrait inferer aquelle gaussienne appartiennent les entrees :
on pourrait alors automatiquement categoriser nos donnees enfonction des probabilites d’appartenance a chacune des gaussiennes.
Partitionnement :
permet de ≪mettre de l’ordre≫ dans les donnees ;
permet de visualiser les donnees une partition a la fois.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 28 / 70
![Page 29: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/29.jpg)
Melanges Gaussiens
probabilite d’appartenance, responsability
A l’aide de la regle de Bayes, on obtient la probabilited’appartenance a la k
egausssienne suivante :
γ(zk) ≡ p(zk = 1∣x) = p(zk = 1)p(x∣zk = 1)∑K
j=1 p(zj = 1)p(x∣zj = 1)
=πkN (x∣µk ,Σk)
∑Kj=1 πjN (x∣µj ,Σj)
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 29 / 70
![Page 30: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/30.jpg)
Melanges Gaussiens
Partitionnement de donnees, clustering
Lors du partitionnement, on assigne chaque entree x a la gaussienneayant associee la plus grande probabilite d’appartenance.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 30 / 70
![Page 31: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/31.jpg)
Melanges Gaussiens
Partitionnement de donnees, clustering
On n’a pas de garanties qu’on va retrouver les ≪vraies≫ categories ?
1 les donnees de chaque categorie ne sont peut-etre pas gaussiennes ;
2 le modele de melange entraıne n’est peut-etre pas bon.
Plus les donnees des differentes categories seront bien separees (pasentrelacees), meilleurs seront les resultats.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 31 / 70
![Page 32: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/32.jpg)
Melanges Gaussiens
Maximum de vraisemblance (EM)
Probabilite marginale :
p(x) = ∑z
p(z)p(x∣z) =K
∑k=1
πkN (x∣µk ,Σk)
On va entraıner un melange de gaussiennes par maximum devraisemblance.
ln p(X ∣π, µ,Σ) =N
∑n=1
ln{K
∑k=1
πkN (xn∣µk ,Σk)}
On va maximiser la (log-)vraisemblance marginale des donneesd’entraınement.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 32 / 70
![Page 33: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/33.jpg)
Melanges Gaussiens
Maximum de vraisemblance (EM)
On va entraıner un melange de gaussiennes par maximum devraisemblance.
ln p(X ∣π, µ,Σ) =N
∑n=1
ln{K
∑k=1
πkN (xn∣µk ,Σk)}
Cas µk ∶ la solution doit satisfaire
0 = −N
∑n=1
πkN (xn∣µk ,Σk)∑j πjN (xn∣µj ,Σj)
Σk(xn − µk)
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 33 / 70
![Page 34: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/34.jpg)
Melanges Gaussiens
Maximum de vraisemblance (EM)
On va entraıner un melange de gaussiennes par maximum devraisemblance.
ln p(X ∣π, µ,Σ) =N
∑n=1
ln{K
∑k=1
πkN (xn∣µk ,Σk)}
Cas µk ∶ la solution doit satisfaire
0 = −N
∑n=1
γ(znk)Σk(xn − µk)
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 34 / 70
![Page 35: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/35.jpg)
Melanges Gaussiens
Maximum de vraisemblance (EM)
On va entraıner un melange de gaussiennes par maximum devraisemblance.
ln p(X ∣π, µ,Σ) =N
∑n=1
ln{K
∑k=1
πkN (xn∣µk ,Σk)}
Cas µk ∶ Si on suppose que les γ(znk sont fixes
µk =1
Nk
N
∑n=1
γ(znk)xn
Nk =
N
∑n=1
γ(znk)
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 35 / 70
![Page 36: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/36.jpg)
Melanges Gaussiens
Maximum de vraisemblance (EM)
On va entraıner un melange de gaussiennes par maximum devraisemblance.
ln p(X ∣π, µ,Σ) =N
∑n=1
ln{K
∑k=1
πkN (xn∣µk ,Σk)}
Cas πk ∶ on utilise le multiplicateur de Lagrange
ln p(X ∣π, µ,Σ) + λ(K
∑k=1
πk − 1)
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 36 / 70
![Page 37: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/37.jpg)
Melanges Gaussiens
Maximum de vraisemblance (EM)
On va entraıner un melange de gaussiennes par maximum devraisemblance.
ln p(X ∣π, µ,Σ) =N
∑n=1
ln{K
∑k=1
πkN (xn∣µk ,Σk)}
Cas πk ∶ Si on suppose que les γ(znk sont fixes
πk =Nk
N
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 37 / 70
![Page 38: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/38.jpg)
Melanges Gaussiens
Maximum de vraisemblance (EM)
On va entraıner un melange de gaussiennes par maximum devraisemblance.
ln p(X ∣π, µ,Σ) =N
∑n=1
ln{K
∑k=1
πkN (xn∣µk ,Σk)}
Cas Σk ∶ Si on suppose que les γ(znk sont fixes
Σk =1
Nk
N
∑n=1
γ(znk)(xn − µk)(xn − µk)T
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 38 / 70
![Page 39: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/39.jpg)
Melanges Gaussiens
Algorthme EM
Les solutions pour µk , πk , Σk supposent que les γ(znk) sont fixes.
par contre, changer µk , πk , et Σk va changer γ(znk).la supposition que les γ(znk) ne changeront pas est donc fausse.
Solution : on alterne entre calculer γ(znk) et µk , πk , Σk .
1 Etape Estimation : calcul de tous les γ(znk).2 Etape Maximisation : calcul des µk , πk , et Σk .
On appelle cela l’algorithme EM.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 39 / 70
![Page 40: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/40.jpg)
Melanges Gaussiens
Algorthme EM : Pseudocode
1 Initialisation des moyennes µk , covariances σk et les coefficients πk .Evaluer la valeur initiale de la log de vraisemblance.
2 E step. Evaluations des ”responsabilities” a partir des valeurs desparametres courants.
γ(znk) =πkN (xn∣µk ,Σk)
∑Kj=1 πkN (xn∣µj ,Σj)
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 40 / 70
![Page 41: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/41.jpg)
Melanges Gaussiens
Algorthme EM : Pseudocode
1 Initialisation.
2 E step.
3 M step. Re-estimer les parametres en utilisant les probabilitescourantes.
µNouvk =
1
Nk
N
∑n=1
γ(znk)xn
ΣNouvk =
1
Nk
N
∑n=1
γ(znk)(xn − µNouvk )(xn − µ
Nouvk )T
πNouvk =
Nk
N
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 41 / 70
![Page 42: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/42.jpg)
Melanges Gaussiens
Algorthme EM : Pseudocode
1 Initialisation.
2 E step.
3 M step.
4 Evaluation du log de vraissemblance et verifier la convergence desparametres ou du log lui meme. Si le critere de convergence n’est passatisfait, retourner a l’etape 2.
ln p(X ∣π, µ,Σ) =N
∑n=1
ln{K
∑k=1
πkN (xn∣µk ,Σk)}
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 42 / 70
![Page 43: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/43.jpg)
Melanges Gaussiens
Algorthme EM : Exemple d’execution
Initialisation.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 43 / 70
![Page 44: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/44.jpg)
Melanges Gaussiens
Algorthme EM : Exemple d’execution
Etape E.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 44 / 70
![Page 45: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/45.jpg)
Melanges Gaussiens
Algorthme EM : Exemple d’execution
Etape M.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 45 / 70
![Page 46: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/46.jpg)
Melanges Gaussiens
Algorthme EM : Exemple d’execution
Apres 2 iterations.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 46 / 70
![Page 47: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/47.jpg)
Melanges Gaussiens
Algorthme EM : Exemple d’execution
Apres 5 iterations.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 47 / 70
![Page 48: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/48.jpg)
Melanges Gaussiens
Algorthme EM : Exemple d’execution
Apres 20 iterations.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 48 / 70
![Page 49: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/49.jpg)
Melanges Gaussiens
Un modele de melange gaussien est tres similaire aux k-moyennes : ilutilise une approche EM qui effectue les operations suivantes :
E-step : pour chaque point, trouver des poids encodant la probabilited’appartenance a chaque cluster.
M-step : pour chaque cluster, mettre a jour son emplacement, saforme en fonction de tous les points de donnees, en utilisant les poids.
Chaque cluster est associe non pas a une sphere a bords rigide, maisa un modele gaussien lisse.
Tout comme les k-moyennes, cet algorithme peut parfois manquer lasolution optimale. En pratique plusieurs initialisations aleatoiressont utilisees.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 49 / 70
![Page 50: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/50.jpg)
Plan
1 Introduction
2 Algorithme K-moyennes et probleme
3 Melanges gaussiens
4 Exemples
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 50 / 70
![Page 51: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/51.jpg)
Exemples
Possible d’extraire les affectations de clusters probabilistes.
Dans Scikit-Learn, cela se fait a l’aide de la methodepredict proba .
Cela renvoie une matrice de taille [n samples, n clusters] qui mesurela probabilite qu’un point appartient au cluster donne.
Correspond a γ(znk).
from sklearn import mixture
gmm = mixture.GaussianMixture(n_components=4).fit(X)
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 51 / 70
![Page 52: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/52.jpg)
Exemples
On peut visualiser cette incertitude en rendant par exemple la taillede chaque point proportionnelle a la certitude de sa prediction ;
en regardant la figure suivante, nous pouvons voir que ce sontprecisement les points aux frontieres entre les clusters qui refletentcette incertitude d’affectation des clusters :
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 52 / 70
![Page 53: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/53.jpg)
Exemples
Que donne les clusters visuellement ?
gmm = mixture.GaussianMixture(n_components=4, random_state=42)
plot_gmm(gmm, X)
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 53 / 70
![Page 54: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/54.jpg)
Exemples
Essayons avec les donnees etirees :
gmm = mixture.GaussianMixture(n_components=4, covariance_type='full', random_state=42)
plot_gmm(gmm, X_stretched)
Figure – Avec les K-moyennes Figure – Avec les melanges gaussiens
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 54 / 70
![Page 55: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/55.jpg)
Exemples
Choisir le type de covariance covariance type
Cet hyperparametre controle les degres de liberte de la forme dechaque cluster ;
La valeur par defaut est covariance type="diag" , ce qui signifieque la taille du cluster le long de chaque dimension peut etre definieindependamment, l’ellipse resultante etant contrainte de s’alignersur les axes.
covariance type="spherical" , contraint la forme du cluster detelle sorte que toutes les dimensions soient egales. Le clusteringresultant aura des caracteristiques similaires a celles de k-means.covariance type="full" ; plus complique et plus couteux en
calcul, permet a chaque cluster d’etre modelise comme une ellipseavec une orientation arbitraire.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 55 / 70
![Page 56: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/56.jpg)
Exemples
Choisir le type de covariance covariance type
Visualisation d’une representation de ces trois choix pour un memecluster dans la figure suivante :
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 56 / 70
![Page 57: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/57.jpg)
Exemples
GMM comme un estimateur de densite
Bien que GMM soit souvent classe comme un algorithme declustering, il s’agit fondamentalement d’un algorithme d’estimationde la densite.
Le resultat d’un ajustement GMM a certaines donnees n’esttechniquement pas un modele de clustering, mais un modeleprobabiliste generatif decrivant la distribution des donnees.
Exemple : considerons certaines donnees generees a partir de lafonction make moons de Scikit-Learn :
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 57 / 70
![Page 58: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/58.jpg)
Exemples
GMM comme un estimateur de densite
from sklearn.datasets import make_moons
Xmoon, ymoon = make_moons(200, noise=.05, random_state=0)
plt.scatter(Xmoon[:, 0], Xmoon[:, 1]);
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 58 / 70
![Page 59: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/59.jpg)
Exemples
GMM comme un estimateur de densite
gmm2 = mixture.GaussianMixture(n_components=2, covariance_type='full', random_state=0)
plot_gmm(gmm2, Xmoon)
Figure – Faire correspondre ces clusters a un GMM a deux composants.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 59 / 70
![Page 60: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/60.jpg)
Exemples
GMM comme un estimateur de densite
Utilisons plus de composants et ignorons les etiquettes decluster, nous trouvons un ajustement beaucoup plus proche desdonnees d’entree :
gmm16 = mixture.GaussianMixture(n_components=16, covariance_type='full', random_state=0)
plot_gmm(gmm16, Xmoon, label=False)
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 60 / 70
![Page 61: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/61.jpg)
Exemples
GMM comme un estimateur de densite
Le melange de 16 gaussiennes ne sert pas a trouver des groupes dedonnees separes, mais plutot a modeliser la distribution globaledes donnees d’entree.
Il s’agit d’un modele generatif de la distribution. Ex : voici 400
nouveaux points tires de cet ajustement GMM a 16 composants a nosdonnees :
Xnew, labels = gmm16.sample(400)
plt.scatter(Xnew[:, 0], Xnew[:, 1]);
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 61 / 70
![Page 62: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/62.jpg)
Exemples
Combien de composants ?
Un modele generatif est intrinsequement une distribution deprobabilite pour l’ensemble de donnees.
Ajuster les vraisemblances du modele a l’aide d’un critere analytiquetel que le critere d’information d’Akaike (AIC) ou le critered’information bayesien (BIC).
L’estimateur GMM de Scikit-Learn comprend ces methodes integreesqui calculent ces deux elements :
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 62 / 70
![Page 63: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/63.jpg)
Exemples
Combien de composants ?
n_components = np.arange(1, 21)
models = [mixture.GaussianMixture(n, covariance_type='full', random_state=0).fit(Xmoon)
for n in n_components]
plt.plot(n_components, [m.bic(Xmoon) for m in models], label='BIC')
plt.plot(n_components, [m.aic(Xmoon) for m in models], label='AIC')
plt.legend(loc='best')
plt.xlabel('n_components');
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 63 / 70
![Page 64: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/64.jpg)
Exemples
Combien de composants ?
Le nombre optimal de clusters est la valeur qui minimise l’AIC ou leBIC, selon l’approximation que nous souhaitons utiliser.
L’AIC nous dit que notre choix de 16 composants ci-dessus etaitprobablement trop grand : environ 8 a 12 composants auraient ete unmeilleur choix.
Le BIC recommande un modele plus simple.
Remarque : ce choix du nombre de composants mesure a quel pointGMM fonctionne comme un estimateur de densite, et non a quelpoint il fonctionne comme un algorithme de clustering.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 64 / 70
![Page 65: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/65.jpg)
Exemples
GMM pour generer de nouvelles donnees
Nous allons utiliser la meme idee que ci-dessus pour generer denouvelles images de faces (Olivetti faces).
from sklearn.datasets import fetch_olivetti_faces
from sklearn.datasets import fetch_olivetti_faces
faces = fetch_olivetti_faces()
(faces.images).shape #(400, 64, 64)
Figure – 100 visages affiches.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 65 / 70
![Page 66: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/66.jpg)
Exemples
GMM pour generer de nouvelles donnees
400 images de taille 64×64 (400×4096), on veut construire un GMMpar-dessus pour en generer davantage.
Les GMM peuvent avoir des difficultes a converger dans un espace dedimension aussi elevee, nous allons reduire la dimension avec l’ACP.
On lui demandant de preserver 99% de la variance dans les donneesprojetees :
faces_new = (faces.images).reshape(400,-1) #400*4096
from sklearn.decomposition import PCA
pca = PCA(0.99)
data = pca.fit_transform(faces_new)
data.shape #400 * 260
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 66 / 70
![Page 67: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/67.jpg)
Exemples
GMM pour generer de nouvelles donnees
Nombre de composants a utiliser :
n_components = np.arange(1, 50, 5)
models = [mixture.GaussianMixture(n, covariance_type='full', random_state=0)
for n in n_components]
aics = [model.fit(data).aic(data) for model in models]
plt.plot(n_components, aics);
Figure – 100 visages affiches.Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 67 / 70
![Page 68: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/68.jpg)
Exemples
GMM pour generer de nouvelles donnees
On choisi 11 composants et on genere les nouvelles donnees :
gmm = mixture.GaussianMixture(11, covariance_type='full', random_state=0)
gmm.fit(data)
data_new,_ = gmm.sample(100)
faces_new = pca.inverse_transform(data_new)
faces_new2 = faces_new.reshape(100,64,64)
print_faces(faces_new2, faces.target, 10)
Figure – 10 visages generes.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 68 / 70
![Page 69: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/69.jpg)
Exemples
GMM pour generer de nouvelles donnees
Les resultats ressemblent pour la plupart a des images de l’ensemblede donnees !
Travail effectue : etant donne un echantillon de faces, nous avonsmodelise la distribution de ces donnees de maniere a pouvoirgenerer de nouveaux echantillons de faces a partir des donnees.
Les faces generees ne sont pas des faces qui font parties de notre jeude donnees.
Elles capturent les caracteristiques generales des donnees d’entreetelles que modelisees par le modele de melange.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 69 / 70
![Page 70: Partitionnement et mélanges gaussiens](https://reader035.fdocuments.net/reader035/viewer/2022062420/62aeb106bda7d35da3270178/html5/thumbnails/70.jpg)
References I
Hugo Larochelle.Apprentissage automatique : Melange de gaussiennes.Universite de Sherbrooke.
Ange T. (Universite du Quebec a Montreal Cours inspiree de [1].)INF8100 2 decembre 2021 70 / 70