machine learning et data mining - paris dauphine universityatif/lib/exe/fetch.php?... · 2017. 3....
TRANSCRIPT
Machine Learning et Data MiningClustering, Groupement, Segmentation
Jamal [email protected]
Certificat Data Science
Universite Paris-Dauphine
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 1 / 141
Introduction
Plan
1 Introduction
2 Distances
3 Approches de clustering par partitionnement
4 Approches de clustering hiErarchique
5 Approches de clustering par modelisation statistique
6 Classification spectrale
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 2 / 141
Introduction
Clustering
Former des groupes homogenes a l’interieur d’une population
Etant donne un ensemble de points, chacun ayant un ensembled’attributs, et une mesure de similarite definie sur eux, trouver desgroupes (classes, segments, clusters) tels que :
Les points a l’interieur d’un meme groupe sont tres similaires entre eux.Les points appartenant a des groupes differents sont tres dissimilaires.
Le choix de la mesure de similarite est important.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 3 / 141
Introduction
Clustering : exemples d’applications
Deux grands types
Meilleure comprehension des donnees
Segmentation de marches pour des applications marketing.
Pretraitement avant d’autres analyses.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 4 / 141
Introduction
Clustering : domaines d’applications
Text mining : textes proches, dossiers automatiques.
Web mining : pages web proches
BioInformatique : genes ressemblants
Marketing : segmentation de la clientele
Web lot analysis : profils utilisateurs
...
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 5 / 141
Introduction
Clustering
Formalisation
Soit une base de donnees S = {xi, i = 1 . . . N} o˘ xi est un tuple et unentier k.
Probleme de clustering : determiner une fonction f : S → {1, ..., k}.Une classe, Cj , j = 1..k contient les tuples prenant la valeur j sur lafonction f .Necessite une mesure de similarite sim.Determiner f : X → {1, ..., k} telle que pour chaque classe Cj , ∀xu, xv ∈ Cjet xw /∈ Cj :
sim(xu, xv) > sim(xu, xw)
etsim(xu, xv) > sim(xv, xw)
Fonction objectif evaluant la qualite d’une partition.
Procedure d’optimisation de la fonction.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 6 / 141
Introduction
Clustering
Classe : notion ambig¸e
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 7 / 141
Introduction
Clustering
Les problematiques
Nature des observations : donnees binaires, textuelles, numeriques, ... ?
Notion de similarite (ou de dissimilarite entre observations)
Definition d’un cluster
Evaluation de la validite d’un cluster.
Nombre de clusters pouvant etre identifies dans les donnees
Quels algorithmes ?
Comparaison de differents resultats de clustering.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 8 / 141
Introduction
Clustering : les differentes methodes
Plusieurs types :
Par partitionnement : Deux classes sont toujours disjointes.Principe : partitionnement des objets et evaluation des partitions.
Hierarchiques : Deux classes sont disjointes ou l’une contient l’autre.Principe : decomposition hierarchique d’ensembles d’objets.
Par Densite : Principe : se base sur une fonction de densite ou deconnectivite
...
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 9 / 141
Introduction
Clustering : par partitionnement
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 10 / 141
Introduction
Clustering : hierarchique
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 11 / 141
Clustering
Plan
1 Introduction
2 Distances
3 Approches de clustering par partitionnement
4 Approches de clustering hiErarchique
5 Approches de clustering par modelisation statistique
6 Classification spectrale
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 12 / 141
Clustering
Dissimilarite et Similarite
Pour definir l’homogeneite d’un groupe d’observations, il est necessaire demesurer la ressemblance entre deux observations.
Dissimilarite
Une fonction de dissimilarite est une fonction d qui a tout couple (x1, x2) associe une valeurdans R+ telle que :
d(x1, x2) = d(x2, x1) ≥ 0,
d(x1, x2) = 0⇒ x1 = x2
Plus la mesure est faible, plus les points sont similaires.
Similarite
Une fonction de similarite est une fonction s qui a tout couple (x1, x2) associe une valeurdans R+ telle que :
s(x1, x2) = s(x2, x1) ≥ 0,
s(x1, x1) ≥ s(x1, x2)
Plus la mesure est grande, plus les points sont similaires.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 13 / 141
Clustering
Distance
Distance
Une distance est une dissimilarite d qui verifie en plus l’inegalite triangulaire :
d(x, y) ≤ d(x, z) + d(z, y).
Quelle distance utiliser ?
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 14 / 141
Clustering
Distance (donnees numeriques)
Mesure de la distance d(x1, x2) entre deux points x1 et x2.
Distance de Minkowsky : d(x1, x2) = (∑dj=1 |x1,j − x2,j |q)
1q
q = 2 : distance euclidienne
d(x1, x2) =
√√√√ d∑j=1
(x1,j − x2,j)2 =√
(x1 − x2)t(x1 − x2)
q = 1 : distance de Manhattan
d(x1, x2) =
d∑j=1
|x1,j − x2,j |
.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 15 / 141
Clustering
Distance (donnees numeriques)
Mesure de la distance d(x1, x2) entre deux points x1 et x2.
Distance de Sebestyen : pour donner un poids different aux attributs.
d2(x1, x2) = (x1 − x2)tW (x1 − x2)
avec W matrice diagonale de ponderation.
Distance de Mahalanobis : si les variables correlees prennent tropd’importance, on peut normaliser la distance euclidienne par lacovariance.
d2(x1, x2) = (x1 − x2)tC−1(x1 − x2)
avec C matrice de variance-covariance.
...
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 16 / 141
Clustering
Distance (donnees binaires)
Mesure de la distance d(x1, x2) entre deux points x1 et x2.
On considere x1 et x2 deux vecteurs binaires. On note :
a, le nombre de fois o˘ x1,j = x2,j = 1.b, le nombre de fois o˘ x1,j = 0 et x2,j = 1.c, le nombre de fois o˘ x1,j = 1 et x2,j = 0.d, le nombre de fois o˘ x1,j = x2,j = 0.
Exemples de similarites souvent utilisees :
s1(x1, x2) = aa+b+c+d
.s2(x1, x2) = a
a+b+c.
s3(x1, x2) = 2a2a+b+c
.s4(x1, x2) = a
a+2(b+c).
s5(x1, x2) = a+da+b+c+d
.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 17 / 141
Clustering
Distance (donnees qualitatives a valeurs discretes)
Mesure de la distance d(x1, x2) entre deux points x1 et x2.
Similarite entre individus :Codage disjonctif complet permettant de se ramener a un tableau devariables binaires.
Similarite entre variables : tableau de contingence
D’autres distances
Distance cosinus
Distances d’edition
...
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 18 / 141
Clustering
Distance entre deux clusters
Mesure de la distance entre deux clusters ou classes C1 et C2
Plus proche voisin : Dmin(C1, C2) = min{d(xi, xj), xi ∈ C1, xj ∈ C2}.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 19 / 141
Clustering
Distance entre deux clusters
Mesure de la distance entre deux clusters ou classes C1 et C2
Diametre maximum : Dmax(C1, C2) = max{d(xi, xj), xi ∈ C1, xj ∈ C2}.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 20 / 141
Clustering
Distance entre deux clusters
Mesure de la distance entre deux clusters ou classes C1 et C2
Distance moyenne : Dmoy(C1, C2) =
∑xi∈C1
∑xj∈C2
d(xi,xj)
n1n2
avec n1 et n2 nombre d’elements dans C1 respectivement C2.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 21 / 141
Clustering
Distance entre deux clusters
Mesure de la distance entre deux clusters ou classes C1 et C2
Distance des centres de gravites : Dcg(C1, C2) = d(µ1, µ2)avec µ1 et µ2 les centres de gravite de C1 respectivement C2.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 22 / 141
Clustering
Evaluation de la qualite d’un clustering
Inertie Intra-cluster
Chaque cluster Ck est caracterise par :
Son centre de gravite : µk = 1nk
∑i∈Ck
xi avec nk = card(Ck).
Son inertie : Jk =∑i∈Ck
d2(xi, µk)L’inertie d’un cluster mesure la concentration des points du cluster autourdu centre de gravite. Plus cette inertie est faible, plus petite est ladispersion des points autour du centre de gravite.
Sa matrice de variance-covariance : Σk =∑i∈Ck
(xi − µk)(xi − µk)t
Remarque : Jk = trace(Σk). L’inertie d’un cluster represente la variancedes points de ce cluster.
Inertie intra-cluster : Jw =∑k
∑i∈Ck
d2(xi, µk) =∑i∈Ck
Jk.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 23 / 141
Clustering
Evaluation de la qualite d’un clustering
Inertie Inter-cluster
Soit µ le centre de gravite du nuage de points : µ = 1N
∑i xi.
Les centres de gravite des clusters forment eux aussi un nuage de pointscaracterise par :
Inertie inter-cluster : Jb =∑kNkd
2(µk, µ)L’inertie inter-cluster mesure l’eloignement des centres des clusters entreseux. Plus cette inertie est grande, plus les clusters sont bien separes.Une matrice de variance-covariance inter-cluster :Σb =
∑k(µk − µ)(µk − µ)t
Remarque : Jb = trace(Σb).
Comment obtenir une bonne partition ?
Minimisation de l’inertie intra-cluster et maximisation de l’inertie inter-cluster.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 24 / 141
Clustering : partitionnement
Plan
1 Introduction
2 Distances
3 Approches de clustering par partitionnement
4 Approches de clustering hiErarchique
5 Approches de clustering par modelisation statistique
6 Classification spectrale
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 25 / 141
Clustering : partitionnement
Clustering par partitionnement
Objectifs
N donnees D = {xi ∈ Rd}i=1..N disponibles
Construire une partition des donnees en K < N clusters Ck
Approche directe
Construire toutes les partitions possibles.Evaluer la qualite de chaque cluster et retenir la meilleure partition.
Probleme :
Le nombre de partitions possibles augmente de maniere exponentielle :
nb(Clusters) =1
K!
K∑k=1
(−1)K−kCKk kN
Pour N = 10 et K = 4 on a 34105 partitions possibles.Probleme NP difficile.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 26 / 141
Clustering : partitionnement
Clustering par partitionnement
Solution plus pratique
Minimisation de l’inertie intra-classe :
Jw =
K∑k=1
∑i∈Ck
d2(xi, µk)
Eviter l’enumeration exhaustive de toutes les partitions possibles.
Utilisation d’une approche heuristique donnant au moins une bonnepartition et par necessairement la partition optimale au sens de Jw.
Algorithmes : k-means, k-medoids, CLARA, CLARANS, ...
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 27 / 141
Clustering : partitionnement
Clustering par partitionnement : K-means (MacQueen,1967) 1
Principe
Choisir K elements initiaux centre de gravite µk, k = 1..K des K groupes.
Chaque point (ou objet) xi est associe a un cluster et un seul, le clusterCl dont le centre µl est le plus proche.
Recalculer le centre de gravite de chaque cluster Ck, k = 1..K.
Iterer jusqu’a la stabilite, c’est a dire la convergence du critere (i.e. lesobjets ne changent plus de groupes).
1. J. MacQueen, Some methods for classification and analysis of multivariate observations,”Proc. of the Fifth Berkeley Symp. On Math. Stat. and Prob., vol. 1, pp. 281-296, 1967.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 28 / 141
Clustering : partitionnement
Clustering par partitionnement : K-means
Select K points as the initial centroids
repeatForm K clusters by assigning all points to the closest centroid
Recompute the centroid of each cluster
until The centroids don’t changeAlgorithme 1 : Basic K-means algorithm
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 29 / 141
Clustering : partitionnement
Clustering par partitionnement : K-means
Fonction objectif
(C1, ...CK) = argmin∑Ki=1
∑xj∈Ci
dist(µi − xj)2 avec µi = 1|Ni]
∑i∈Ci
xi avec
Ni = card(Ci).
Initialiser les centres µ1, ..., µk.
Repeter :
Affectation de chaque point a son cluster le plus proche :
Cl ← xi, l = argminkd(xi, µk)
.Recalculer le centre µk de chaque cluster :
µk =1
Nk
∑i∈Ck
xi
avec Nk = card(Ck).
Tant que ||∆µ|| > ε.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 30 / 141
Clustering : partitionnement
Clustering par partitionnement : K-means
Illustration d’un clustering en 2 classes
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 31 / 141
Clustering : partitionnement
Illustration
Exemple de donnees
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 32 / 141
Clustering : partitionnement
Illustration
Initialisation
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 33 / 141
Clustering : partitionnement
Illustration
Affectation de l’objet •
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 34 / 141
Clustering : partitionnement
Illustration
Etape d’affectation
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 35 / 141
Clustering : partitionnement
Illustration
Etape de representation (1/2)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 36 / 141
Clustering : partitionnement
Illustration
Etape de representation (2/2)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 37 / 141
Clustering : partitionnement
Illustration
Etape d’affectation
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 38 / 141
Clustering : partitionnement
Illustration
Mise a jour des centres
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 39 / 141
Clustering : partitionnement
Illustration
Etape de representation
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 40 / 141
Clustering : partitionnement
Illustration
Etape d’affectation
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 41 / 141
Clustering : partitionnement
Illustration
Mise a jour des centres
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 42 / 141
Clustering : partitionnement
Illustration
Etape de representation
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 43 / 141
Clustering : partitionnement
Clustering par partitionnement : K-means
Details
Les centres initiaux sont souvent choisis aleatoirement :
Dans l’intervalle de definition des xiDans l’ensemble xiLes clusters resultant peuvent donc varier ,i.e. des initialisations differentespeuvent mener a des clusters differents.
Le centre est la moyenne des points dans un groupe.
La proximite est calculee a l’aide d’une distance euclidienne, cosinus,correlation, ..
L’algorithme converge souvent en quelques iterations (a chaque iterationle critere Jw diminue)
La condition d’arret est souvent changee en jusqu’a que seuls quelquespoints changent de groupes.
Complexite : O(NKld) avec N nombre de points, d nombre d’attributs,K nombre de clusters et l le nombre d’iterations.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 44 / 141
Clustering : partitionnement
Clustering par partitionnement : K-means
Importance de l’initialisation des centres de gravite
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 45 / 141
Clustering : partitionnement
Clustering par partitionnement : K-means
Importance de l’initialisation des centres de gravite
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 46 / 141
Clustering : partitionnement
Clustering par partitionnement : K-means
Importance de l’initialisation des centres de gravite
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 47 / 141
Clustering : partitionnement
Clustering par partitionnement : K-means
Importance de l’initialisation des centres de gravite
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 48 / 141
Clustering : partitionnement
Clustering par partitionnement : K-means
Importance de l’initialisation des centres de gravite
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 49 / 141
Clustering : partitionnement
Clustering par partitionnement : K-means
Probleme de l’initialisation des centres de gravite
Faire plusieurs essais.
Utilisation de clustering hierarchique pour determiner les centres initiaux.
Selectionner plus que K centres initiaux et faire une selection parmi eux(les plus separables).
Post-traitement
...
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 50 / 141
Clustering : partitionnement
Clustering par partitionnement : K-means
Methode generale pour obtenir des clusters stables = formes fortes
On repete r fois l’algorithme.
On regroupe ensemble les xi qui se retrouvent toujours dans les memesclusters.
Choix du nombre de clusters : probleme difficile
Fixe a priori (exemple : decoupage d’une clientele en K segments).
Cherche la meilleure partition pour differents K > 1 et cherche un coudeau niveau de la decroissance de Jw(K).
Imposer des contraintes sur le volume ou la densite des clusters obtenus.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 51 / 141
Clustering : partitionnement
Clustering par partitionnement : K-means
Limitations
Mauvaise prise en compte des outliers.
Points extremes en dehors des groupes.Faussent les moyennes et donc les centres.
Problemes avec des clusters de :
differentes tailles,differentes densites,de formes non-globulaires.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 52 / 141
Clustering : partitionnement
Clustering par partitionnement : K-means
Limitations : clusters de taille differente
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 53 / 141
Clustering : partitionnement
Clustering par partitionnement : K-means
Limitations : clusters de densite differente
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 54 / 141
Clustering : partitionnement
Clustering par partitionnement : K-means
Limitations : clusters de form non globular
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 55 / 141
Clustering : partitionnement
K-means : extensions
K-means sequentiels
Adaption du K-means lorsque les exemples arrivent au fur et a mesure.
Initialiser µ1, ..., µk
Initialiser n1, ..., nk a 0.
Repeter :
Acquerir xAffectation du point au cluster le plus proche :
Cl ← x, l = argminkd(x, µk)
Incrementer nl et recalculer le centre µl de ce cluster.
µl = µl +1
nl(x− µl)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 56 / 141
Clustering : partitionnement
Exemple
Soient six point dans le plan ayant pour coordonnees
abscisse (x) ordonnee (y)P1 -2 2P2 -2 -1P3 0 -1P4 2 2P5 -2 3P6 3 0
1 Calcul de la partition obtenue en prenant pour centres initiaux : c1(−1, 1)et c2(2, 3)
2 Calcul de la partition obtenue en prenant pour centres initiaux : c1(−1, 2)et c2(1, 1)
3 Inerties intra-classes des deux partitions obtenues. Formes fortes (ougroupements stables).
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 57 / 141
Clustering : partitionnement
Programme en R
x = c(-2,-2,0,2,-2,3)y = c(2, -1,-1,2,3,0)don = matrix(data=c(x,y), nr=6, nc=2)ctre = c(-1,2,-1,3)ctre1 = matrix(data=ctre, nr=2, nc=2)cl1 = kmeans(don,ctre1,algorithm=”Lloyd”)plot(don, col = cl1$cluster)points(cl1$centers, col = 1 : 2, pch = 8, cex=2)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 58 / 141
Clustering : partitionnement
Programme en R
x = c(-2,-2,0,2,-2,3)y = c(2, -1,-1,2,3,0)don = matrix(data=c(x,y), nr=6, nc=2)ctre = c(-1,2,-1,3)ctre1 = matrix(data=ctre, nr=2, nc=2)cl1 = kmeans(don,ctre1,algorithm=”Lloyd”)plot(don, col = cl1$cluster)points(cl1$centers, col = 1 : 2, pch = 8, cex=2)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 58 / 141
Clustering : partitionnement
Programme en R
x = c(-2,-2,0,2,-2,3)y = c(2, -1,-1,2,3,0)don = matrix(data=c(x,y), nr=6, nc=2)ctre = c(-1,2,-1,3)ctre1 = matrix(data=ctre, nr=2, nc=2)cl1 = kmeans(don,ctre1,algorithm=”Lloyd”)plot(don, col = cl1$cluster)points(cl1$centers, col = 1 : 2, pch = 8, cex=2)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 58 / 141
Clustering : partitionnement
Programme en R
x = c(-2,-2,0,2,-2,3)y = c(2, -1,-1,2,3,0)don = matrix(data=c(x,y), nr=6, nc=2)ctre = c(-1,2,-1,3)ctre1 = matrix(data=ctre, nr=2, nc=2)cl1 = kmeans(don,ctre1,algorithm=”Lloyd”)plot(don, col = cl1$cluster)points(cl1$centers, col = 1 : 2, pch = 8, cex=2)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 58 / 141
Clustering : partitionnement
Programme en R
x = c(-2,-2,0,2,-2,3)y = c(2, -1,-1,2,3,0)don = matrix(data=c(x,y), nr=6, nc=2)ctre = c(-1,2,-1,3)ctre1 = matrix(data=ctre, nr=2, nc=2)cl1 = kmeans(don,ctre1,algorithm=”Lloyd”)plot(don, col = cl1$cluster)points(cl1$centers, col = 1 : 2, pch = 8, cex=2)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 58 / 141
Clustering : partitionnement
Programme en R
x = c(-2,-2,0,2,-2,3)y = c(2, -1,-1,2,3,0)don = matrix(data=c(x,y), nr=6, nc=2)ctre = c(-1,2,-1,3)ctre1 = matrix(data=ctre, nr=2, nc=2)cl1 = kmeans(don,ctre1,algorithm=”Lloyd”)plot(don, col = cl1$cluster)points(cl1$centers, col = 1 : 2, pch = 8, cex=2)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 58 / 141
Clustering : partitionnement
Programme en R
x = c(-2,-2,0,2,-2,3)y = c(2, -1,-1,2,3,0)don = matrix(data=c(x,y), nr=6, nc=2)ctre = c(-1,2,-1,3)ctre1 = matrix(data=ctre, nr=2, nc=2)cl1 = kmeans(don,ctre1,algorithm=”Lloyd”)plot(don, col = cl1$cluster)points(cl1$centers, col = 1 : 2, pch = 8, cex=2)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 58 / 141
Clustering : partitionnement
Programme en R
x = c(-2,-2,0,2,-2,3)y = c(2, -1,-1,2,3,0)don = matrix(data=c(x,y), nr=6, nc=2)ctre = c(-1,2,-1,3)ctre1 = matrix(data=ctre, nr=2, nc=2)cl1 = kmeans(don,ctre1,algorithm=”Lloyd”)plot(don, col = cl1$cluster)points(cl1$centers, col = 1 : 2, pch = 8, cex=2)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 58 / 141
Clustering : partitionnement
Programme en R
x = c(-2,-2,0,2,-2,3)y = c(2, -1,-1,2,3,0)don = matrix(data=c(x,y), nr=6, nc=2)ctre = c(-1,2,-1,3)ctre1 = matrix(data=ctre, nr=2, nc=2)cl1 = kmeans(don,ctre1,algorithm=”Lloyd”)plot(don, col = cl1$cluster)points(cl1$centers, col = 1 : 2, pch = 8, cex=2)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 58 / 141
Clustering : hierarchiques
Plan
1 Introduction
2 Distances
3 Approches de clustering par partitionnement
4 Approches de clustering hiErarchique
5 Approches de clustering par modelisation statistique
6 Classification spectrale
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 59 / 141
Clustering : hierarchiques
Clustering hierarchique
Principe
Chaque individu represente un groupe.
Trouver les deux groupes les plus proches.
Grouper les deux groupes en un nouveau groupe.
Iterer jusqu’a N groupes.
Visualisation sous la forme d’un dendogramme
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 60 / 141
Clustering : hierarchiques
Clustering hierarchique
Deux grandes approches
Clustering hierarchique ascendant : CHA (Agglomeratif)
Commencer avec les points en tant que clusters individuels.A chaque etape, grouper les clusters les plus proches jusqu’a obtenir 1 seulou k clusters.
Clustering hierarchique descendant (Divisif)
Commencer avec 1 seul cluster comprenant tous les points.A chaque etape, diviser un cluster jusqu’a obtenir des clusters necontenant qu’un point ou jusqu’a obtenir k clusters.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 61 / 141
Clustering : hierarchiques
Clustering hierarchique ascendant (CHA)
Principe
Chaque point ou cluster est progressivement absorbe par le cluster le plusproche.
Algorithme
Initialisation
Chaque individu est place dans son propre cluster.Calcul de la matrice de ressemblance M entre chaque couple de clusters (ici lespoints)
Repeter
Selection dans M des deux clusters les plus proches Ci et Cj .Fusion de Ci et Cj pour former un cluster Cg .Mise a jour de M en calculant la ressemblance entre Cg et les clusters existants.
Jusqu’a fusion des 2 derniers clusters.
L’operation cle est le calcul de la ressemblance entre deux clusters
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 62 / 141
Clustering : hierarchiques
Clustering hierarchique ascendant (CHA)
Dendogramme = representation des fusions successives.
Hauteur d’un cluster dans le dendogramme = similarite entre les deuxclusters avant la fusion (sauf pour certaines mesures de similarite).
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 63 / 141
Clustering : hierarchiques
Clustering hierarchique ascendant (CHA)
Monotonie
Une propriete fondamentale des algorithmes CHA est que la fusion de deuxclusters ne doit pas pouvoir augmenter la similarite (fonction s) avec les autresclusters.
min(s(Ci, Cj), s(Ci, Ck)) ≥ s(Ci, Cj ∪ Ck)
C’est cette propriete qui permet une representation en dendogramme.
Les barres horizontales sont ordonnees par ordre de fusion.
Elles correspondent bien a une similarite decroissante ou une distancecroissante.
Gr’ce a la monotonie, les barres horizontales ne croisent pas les verticales.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 64 / 141
Clustering : hierarchiques
Clustering hierarchique ascendant (CHA) : metrique
Probleme
Trouver la metrique entre les clusters la plus proche de la metrique utilisee entre lesindividus : min, max, moyenne, ...
Saut minimal (Single linkage) : se base sur dmin(C1, C2), distance entre les deux
points les plus proches de chaque cluster
Tendance a produire des classes generalesSensibilite aux outliers et individus bruites
Saut maximal (Complete linkage) : se base sur la distance dmax(C1, C2), distance
entre les deux points les plus eloignes des deux clusters.
Tendance a produire des classes specifiques (on ne regroupe que des classes tresproches).Sensibilite aussi aux individus bruites.
Saut moyen : se base sur la distance dmoy(C1, C2)
Tendance a produire des classes de variance proche
Barycentre : se base sur la distance dcg(C1, C2)
Bonne resistance au bruit
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 65 / 141
Clustering : hierarchiques
Clustering hierarchique ascendant (CHA) : metrique
Exemple
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 66 / 141
Clustering : hierarchiques
Clustering hierarchique ascendant (CHA) : metrique
Saut minimal (Single linkage) : la similarite est determinee par un lien dans legraphe de proximite.
d(3, 6) = 0.11d({3, 6}, {2, 5}) = min(d(3, 2), d(6, 2), d(3, 5), d(6, 5)) = min(0.15, 0.25, 0.28, 0.39) = 0.15
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 67 / 141
Clustering : hierarchiques
Clustering hierarchique ascendant (CHA) : metrique
Saut minimal (Single linkage)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 68 / 141
Clustering : hierarchiques
Clustering hierarchique ascendant (CHA) : metrique
Saut minimal (Single linkage)
Complexite : O(N2)
A premiere vue O(N3)
Initialisation de la matrice de distance : O(N2)Pour i de N − 1 a 1, donc environ N fois, recherche du min de la matrice ⇒ N3.
Mise a jour de la matrice de distance tres simple :
d(Cz , Cx ∪ Cy) = min(d(Cz , Cx), d(Cz , Cy))
En utilisant une liste des plus proches voisins de chaque cluster :
La recherche du min se fait sur cette liste avec une mise a jour qui ne necessitepas de la reparcourir entierement.Remplacer tout Cx ou Cy apparaissant comme plus proche voisin par Cx ∪ Cy .En effet si Cx est le plus proche voisin de Cz , Cx ∪ Cz l’est forcement.Algorithme best merge persistent (ManRagSchu, 2008)⇒ N2
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 69 / 141
Clustering : hierarchiques
Clustering hierarchique ascendant (CHA) : metrique
Saut maximal (complete linkage) : la similarite est determinee par la distancemaximale (tous les liens dans le graphe de proximite).
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 70 / 141
Clustering : hierarchiques
Clustering hierarchique ascendant (CHA) : metrique
Saut maximal (complete linkage)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 71 / 141
Clustering : hierarchiques
Clustering hierarchique ascendant (CHA) : metrique
Saut moyen
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 72 / 141
Clustering : hierarchiques
Clustering hierarchique ascendant (CHA) : metrique
Saut moyen
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 73 / 141
Clustering : hierarchiques
Programme R
Classification hierarchique des donnees ”iris” avec le saut moyen :data(iris)don=iris[,1 :4]## Classification par la C.A.H.#hclust(dist(don), ”ave”)plot(hc)plot(hc, hang = -1)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 74 / 141
Clustering : hierarchiques
Programme R
Classification hierarchique des donnees ”iris” avec le saut moyen :data(iris)don=iris[,1 :4]## Classification par la C.A.H.#hclust(dist(don), ”ave”)plot(hc)plot(hc, hang = -1)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 74 / 141
Clustering : hierarchiques
Programme R
Classification hierarchique des donnees ”iris” avec le saut moyen :data(iris)don=iris[,1 :4]## Classification par la C.A.H.#hclust(dist(don), ”ave”)plot(hc)plot(hc, hang = -1)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 74 / 141
Clustering : hierarchiques
Programme R
Classification hierarchique des donnees ”iris” avec le saut moyen :data(iris)don=iris[,1 :4]## Classification par la C.A.H.#hclust(dist(don), ”ave”)plot(hc)plot(hc, hang = -1)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 74 / 141
Clustering : hierarchiques
Programme R
Classification hierarchique des donnees ”iris” avec le saut moyen :data(iris)don=iris[,1 :4]## Classification par la C.A.H.#hclust(dist(don), ”ave”)plot(hc)plot(hc, hang = -1)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 74 / 141
Clustering : hierarchiques
Programme R
Classification hierarchique des donnees ”iris” avec le saut moyen :data(iris)don=iris[,1 :4]## Classification par la C.A.H.#hclust(dist(don), ”ave”)plot(hc)plot(hc, hang = -1)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 74 / 141
Clustering : hierarchiques
Programme R
Classification hierarchique des donnees ”iris” avec le saut moyen :data(iris)don=iris[,1 :4]## Classification par la C.A.H.#hclust(dist(don), ”ave”)plot(hc)plot(hc, hang = -1)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 74 / 141
Clustering : hierarchiques
Programme R
Classification hierarchique des donnees ”iris” avec le saut moyen :data(iris)don=iris[,1 :4]## Classification par la C.A.H.#hclust(dist(don), ”ave”)plot(hc)plot(hc, hang = -1)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 74 / 141
Clustering : hierarchiques
Programme R
Classification hierarchique des donnees ”iris” avec le saut moyen :data(iris)don=iris[,1 :4]## Classification par la C.A.H.#hclust(dist(don), ”ave”)plot(hc)plot(hc, hang = -1)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 74 / 141
Clustering : hierarchiques
Clustering hierarchique descendant
Principe
Selection du cluster le moins coherent.
Subdivision du cluster le moins coherent.
Probleme
Pour faire la subdivision, il faut souvent faire appel a un clusteringhierarchique ascendant pour savoir quelle est la meilleure faAon deseparer les points.
Moins utilise que l’autre approche.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 75 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Introduction par l’exemple
On considere N donnees {xi ∈ Rd}i=1,..,N formant deux classes.
On veut trouver le modele statistique des donnees.
On constate que pour modeliser les donnees, il faut deux distributionsgaussiennes.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 76 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Introduction par l’exemple
On considere N donnees {xi ∈ Rd}i=1,..,N formant deux classes.
On veut trouver le modele statistique des donnees.
On constate que pour modeliser les donnees, il faut deux distributionsgaussiennes.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 76 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Introduction par l’exemple
On considere N donnees {xi ∈ Rd}i=1,..,N formant deux classes.
On veut trouver le modele statistique des donnees.
On constate que pour modeliser les donnees, il faut deux distributionsgaussiennes.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 76 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Introduction par l’exemple
Dans la classe 1, les donnees suivent une loi normale multidimensionnelle N (X;µ1,Σ1)ou X designe une variable aleatoire (µ : moyenne, Σ = matrice de variance-covariance).
Dans la classe 2, les donnees suivent une loi normale N (X;µ2,Σ2) ou X designe unevariable aleatoire.
Loi marginale de X :f(X) = f(X,Z = 1) + f(X,Z = 2)
f(X) = f(X|Z = 1)Pr(Z = 1) + f(X|Z = 2)Pr(Z = 2)
(bayes)f(X) = π1f(X|Z = 1) + π2f(X|Z = 2)
avec f(X|Z = 1) ≡ N (X;µ1,Σ1) et f(X|Z = 2) ≡ N (X;µ2,Σ2)Z : variable aleatoire cachee indiquant la classe du point X.
Z est aussi appelee variable latente
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 77 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Introduction par l’exemple
Dans la classe 1, les donnees suivent une loi normale multidimensionnelle N (X;µ1,Σ1)ou X designe une variable aleatoire (µ : moyenne, Σ = matrice de variance-covariance).
Dans la classe 2, les donnees suivent une loi normale N (X;µ2,Σ2) ou X designe unevariable aleatoire.
Loi marginale de X :f(X) = f(X,Z = 1) + f(X,Z = 2)
f(X) = f(X|Z = 1)Pr(Z = 1) + f(X|Z = 2)Pr(Z = 2)
(bayes)f(X) = π1f(X|Z = 1) + π2f(X|Z = 2)
avec f(X|Z = 1) ≡ N (X;µ1,Σ1) et f(X|Z = 2) ≡ N (X;µ2,Σ2)Z : variable aleatoire cachee indiquant la classe du point X.
Z est aussi appelee variable latente
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 77 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Introduction par l’exemple
Dans la classe 1, les donnees suivent une loi normale multidimensionnelle N (X;µ1,Σ1)ou X designe une variable aleatoire (µ : moyenne, Σ = matrice de variance-covariance).
Dans la classe 2, les donnees suivent une loi normale N (X;µ2,Σ2) ou X designe unevariable aleatoire.
Loi marginale de X :f(X) = f(X,Z = 1) + f(X,Z = 2)
f(X) = f(X|Z = 1)Pr(Z = 1) + f(X|Z = 2)Pr(Z = 2)
(bayes)f(X) = π1f(X|Z = 1) + π2f(X|Z = 2)
avec f(X|Z = 1) ≡ N (X;µ1,Σ1) et f(X|Z = 2) ≡ N (X;µ2,Σ2)Z : variable aleatoire cachee indiquant la classe du point X.
Z est aussi appelee variable latente
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 77 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Introduction par l’exemple
Dans la classe 1, les donnees suivent une loi normale multidimensionnelle N (X;µ1,Σ1)ou X designe une variable aleatoire (µ : moyenne, Σ = matrice de variance-covariance).
Dans la classe 2, les donnees suivent une loi normale N (X;µ2,Σ2) ou X designe unevariable aleatoire.
Loi marginale de X :f(X) = f(X,Z = 1) + f(X,Z = 2)
f(X) = f(X|Z = 1)Pr(Z = 1) + f(X|Z = 2)Pr(Z = 2)
(bayes)f(X) = π1f(X|Z = 1) + π2f(X|Z = 2)
avec f(X|Z = 1) ≡ N (X;µ1,Σ1) et f(X|Z = 2) ≡ N (X;µ2,Σ2)Z : variable aleatoire cachee indiquant la classe du point X.
Z est aussi appelee variable latente
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 77 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Introduction par l’exemple
Dans la classe 1, les donnees suivent une loi normale multidimensionnelle N (X;µ1,Σ1)ou X designe une variable aleatoire (µ : moyenne, Σ = matrice de variance-covariance).
Dans la classe 2, les donnees suivent une loi normale N (X;µ2,Σ2) ou X designe unevariable aleatoire.
Loi marginale de X :f(X) = f(X,Z = 1) + f(X,Z = 2)
f(X) = f(X|Z = 1)Pr(Z = 1) + f(X|Z = 2)Pr(Z = 2)
(bayes)f(X) = π1f(X|Z = 1) + π2f(X|Z = 2)
avec f(X|Z = 1) ≡ N (X;µ1,Σ1) et f(X|Z = 2) ≡ N (X;µ2,Σ2)Z : variable aleatoire cachee indiquant la classe du point X.
Z est aussi appelee variable latente
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 77 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Introduction par l’exemple
Dans la classe 1, les donnees suivent une loi normale multidimensionnelle N (X;µ1,Σ1)ou X designe une variable aleatoire (µ : moyenne, Σ = matrice de variance-covariance).
Dans la classe 2, les donnees suivent une loi normale N (X;µ2,Σ2) ou X designe unevariable aleatoire.
Loi marginale de X :f(X) = f(X,Z = 1) + f(X,Z = 2)
f(X) = f(X|Z = 1)Pr(Z = 1) + f(X|Z = 2)Pr(Z = 2)
(bayes)f(X) = π1f(X|Z = 1) + π2f(X|Z = 2)
avec f(X|Z = 1) ≡ N (X;µ1,Σ1) et f(X|Z = 2) ≡ N (X;µ2,Σ2)Z : variable aleatoire cachee indiquant la classe du point X.
Z est aussi appelee variable latente
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 77 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Introduction par l’exemple
Loi marginale de X :
f(X) = f(X,Z = 1) + f(X,Z = 2)
f(X) = π1f(X|Z = 1) + π2f(X|Z = 2)
π1 et π2 designent la probabilite a priori que X releve de la classe C1
respectivement C2. (π1 + π2 = 1)
f(X|Z = 1) et f(X|Z = 2) designent la densite conditionnelle de Xrespectivement a Z = 1 et Z = 2.
f(X) est entierement determine par la connaissance de πj , µj , Σj ,j ∈ {1, 2}. On l’appelle modele de melange de densites.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 78 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Introduction par l’exemple
Loi marginale de X :
f(X) = f(X,Z = 1) + f(X,Z = 2)
f(X) = π1f(X|Z = 1) + π2f(X|Z = 2)
π1 et π2 designent la probabilite a priori que X releve de la classe C1
respectivement C2. (π1 + π2 = 1)
f(X|Z = 1) et f(X|Z = 2) designent la densite conditionnelle de Xrespectivement a Z = 1 et Z = 2.
f(X) est entierement determine par la connaissance de πj , µj , Σj ,j ∈ {1, 2}. On l’appelle modele de melange de densites.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 78 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Introduction par l’exemple
Loi marginale de X :
f(X) = f(X,Z = 1) + f(X,Z = 2)
f(X) = π1f(X|Z = 1) + π2f(X|Z = 2)
π1 et π2 designent la probabilite a priori que X releve de la classe C1
respectivement C2. (π1 + π2 = 1)
f(X|Z = 1) et f(X|Z = 2) designent la densite conditionnelle de Xrespectivement a Z = 1 et Z = 2.
f(X) est entierement determine par la connaissance de πj , µj , Σj ,j ∈ {1, 2}. On l’appelle modele de melange de densites.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 78 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Introduction par l’exemple
Loi marginale de X :
f(X) = f(X,Z = 1) + f(X,Z = 2)
f(X) = π1f(X|Z = 1) + π2f(X|Z = 2)
π1 et π2 designent la probabilite a priori que X releve de la classe C1
respectivement C2. (π1 + π2 = 1)
f(X|Z = 1) et f(X|Z = 2) designent la densite conditionnelle de Xrespectivement a Z = 1 et Z = 2.
f(X) est entierement determine par la connaissance de πj , µj , Σj ,j ∈ {1, 2}. On l’appelle modele de melange de densites.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 78 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Modele de melange : illustration
Modele de melange gaussien :
f(X) = π1N (X;µ1,Σ1) + π2N (X;µ2,Σ2)
avec π1 + π2 = 1
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 79 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Du modele de melange au clustering
Interet du modele statistique pour faire du clustering
Si on connait le modele de melange, on connait les probabilites a priori πjet les lois conditionnelles f(X|Z = j), j ∈ {1, 2}D’apres le theoreme de Bayes, on en deduit les probabilites a posteriorid’appartenance du point X = x a C1 et C2 :
Pr(Z = 1|X = x) =π1f(X = x|Z = 1)
f(X = x)
Pr(Z = 2|X = x) =π2f(X = x|Z = 2)
f(X = x)
Remarque : Pr(Z = 1|X = x) + Pr(Z = 2|X = x) = 1
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 80 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Du modele de melange au clustering
Interet du modele statistique pour faire du clustering
Si on connait le modele de melange, on connait les probabilites a priori πjet les lois conditionnelles f(X|Z = j), j ∈ {1, 2}D’apres le theoreme de Bayes, on en deduit les probabilites a posteriorid’appartenance du point X = x a C1 et C2 :
Pr(Z = 1|X = x) =π1f(X = x|Z = 1)
f(X = x)
Pr(Z = 2|X = x) =π2f(X = x|Z = 2)
f(X = x)
Remarque : Pr(Z = 1|X = x) + Pr(Z = 2|X = x) = 1
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 80 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Du modele de melange au clustering
Interet du modele statistique pour faire du clustering
Si on connait le modele de melange, on connait les probabilites a priori πjet les lois conditionnelles f(X|Z = j), j ∈ {1, 2}D’apres le theoreme de Bayes, on en deduit les probabilites a posteriorid’appartenance du point X = x a C1 et C2 :
Pr(Z = 1|X = x) =π1f(X = x|Z = 1)
f(X = x)
Pr(Z = 2|X = x) =π2f(X = x|Z = 2)
f(X = x)
Remarque : Pr(Z = 1|X = x) + Pr(Z = 2|X = x) = 1
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 80 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Du modele de melange au clustering
Affectation des points aux clusters
Affectation probabiliste
Le point x est affecte a la classe de plus grande probabilite a posteriori
C1 ← x, Pr(Z = 1|X = x) > Pr(Z = 2|X = x)
C2 ← x, sinon
Ceci se generalise aisement pour K > 2 clusters.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 81 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Du modele de melange au clustering
Affectation des points aux clusters
Affectation probabiliste
Le point x est affecte a la classe de plus grande probabilite a posteriori
C1 ← x, Pr(Z = 1|X = x) > Pr(Z = 2|X = x)
C2 ← x, sinon
Ceci se generalise aisement pour K > 2 clusters.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 81 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Du modele de melange au clustering
Affectation des points aux clusters
Affectation probabiliste
Le point x est affecte a la classe de plus grande probabilite a posteriori
C1 ← x, Pr(Z = 1|X = x) > Pr(Z = 2|X = x)
C2 ← x, sinon
Ceci se generalise aisement pour K > 2 clusters.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 81 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Estimation des parametres du modele
Retour a l’exemple.
Modele de melange gaussien
f(X) = π1N (X;µ1,Σ1) + π2N (X;µ2,Σ2)
Parametres a estimer : π1, π2, µ1, µ2,Σ1,Σ2
On regroupe tous les parametres du modele de melange dans le vecteur θ
θ = [π1, π2, µ1,Σ1(:)T , µ2,Σ2(:)T ]T
Comment estimer les parametres a partir des donnees ?
⇒ Maximiser la vraisemblance (ou le log de la vraisemblance)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 82 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Estimation des parametres du modele
Retour a l’exemple.
Modele de melange gaussien
f(X) = π1N (X;µ1,Σ1) + π2N (X;µ2,Σ2)
Parametres a estimer : π1, π2, µ1, µ2,Σ1,Σ2
On regroupe tous les parametres du modele de melange dans le vecteur θ
θ = [π1, π2, µ1,Σ1(:)T , µ2,Σ2(:)T ]T
Comment estimer les parametres a partir des donnees ?
⇒ Maximiser la vraisemblance (ou le log de la vraisemblance)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 82 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Estimation des parametres du modele
Retour a l’exemple.
Modele de melange gaussien
f(X) = π1N (X;µ1,Σ1) + π2N (X;µ2,Σ2)
Parametres a estimer : π1, π2, µ1, µ2,Σ1,Σ2
On regroupe tous les parametres du modele de melange dans le vecteur θ
θ = [π1, π2, µ1,Σ1(:)T , µ2,Σ2(:)T ]T
Comment estimer les parametres a partir des donnees ?
⇒ Maximiser la vraisemblance (ou le log de la vraisemblance)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 82 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Estimation des parametres du modele
Retour a l’exemple.
Modele de melange gaussien
f(X) = π1N (X;µ1,Σ1) + π2N (X;µ2,Σ2)
Parametres a estimer : π1, π2, µ1, µ2,Σ1,Σ2
On regroupe tous les parametres du modele de melange dans le vecteur θ
θ = [π1, π2, µ1,Σ1(:)T , µ2,Σ2(:)T ]T
Comment estimer les parametres a partir des donnees ?
⇒ Maximiser la vraisemblance (ou le log de la vraisemblance)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 82 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Notion de vraisemblance
On suppose des donnees {xi}i=1,...,N identiquement et independammentdistribuees. Ces donnees suivent une loi f(X; θ) de parametres θ.
Vraisemblance :
Λ(θ;x1, ..., xN ) =
N∏i=1
f(X = xi; θ)
En general, on utilise la Log-vraisemblance :
L(θ;x1, ..., xN ) = log(Λ(θ;x1, ..., xN )) =
N∑i=1
log(f(X = xi; θ))
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 83 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Notion de vraisemblance
On suppose des donnees {xi}i=1,...,N identiquement et independammentdistribuees. Ces donnees suivent une loi f(X; θ) de parametres θ.
Vraisemblance :
Λ(θ;x1, ..., xN ) =
N∏i=1
f(X = xi; θ)
En general, on utilise la Log-vraisemblance :
L(θ;x1, ..., xN ) = log(Λ(θ;x1, ..., xN )) =
N∑i=1
log(f(X = xi; θ))
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 83 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Notion de vraisemblance
On suppose des donnees {xi}i=1,...,N identiquement et independammentdistribuees. Ces donnees suivent une loi f(X; θ) de parametres θ.
Vraisemblance :
Λ(θ;x1, ..., xN ) =
N∏i=1
f(X = xi; θ)
En general, on utilise la Log-vraisemblance :
L(θ;x1, ..., xN ) = log(Λ(θ;x1, ..., xN )) =
N∑i=1
log(f(X = xi; θ))
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 83 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Maximisation de la vraisemblance
On a donc le probleme suivant :
θML := arg maxθ
L(θ;x1, ..., xN ) = arg maxθ
N∑i=1
log(f(X = xi; θ))
Approche directe
La solution θML du probleme verifie :
∇L(θML;x1, ..., xN ) = 0
Pas de solution analytique en general.
Probleme d’optimisation difficile en general.
Il existe des cas simples ou la solution analytique existe (e.g. estimationdes parametres d’une loi normale)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 84 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Maximisation de la vraisemblance
On a donc le probleme suivant :
θML := arg maxθ
L(θ;x1, ..., xN ) = arg maxθ
N∑i=1
log(f(X = xi; θ))
Approche directe
La solution θML du probleme verifie :
∇L(θML;x1, ..., xN ) = 0
Pas de solution analytique en general.
Probleme d’optimisation difficile en general.
Il existe des cas simples ou la solution analytique existe (e.g. estimationdes parametres d’une loi normale)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 84 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Maximisation de la vraisemblance
On a donc le probleme suivant :
θML := arg maxθ
L(θ;x1, ..., xN ) = arg maxθ
N∑i=1
log(f(X = xi; θ))
Approche directe
La solution θML du probleme verifie :
∇L(θML;x1, ..., xN ) = 0
Pas de solution analytique en general.
Probleme d’optimisation difficile en general.
Il existe des cas simples ou la solution analytique existe (e.g. estimationdes parametres d’une loi normale)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 84 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Maximisation de la vraisemblance
On a donc le probleme suivant :
θML := arg maxθ
L(θ;x1, ..., xN ) = arg maxθ
N∑i=1
log(f(X = xi; θ))
Approche directe
La solution θML du probleme verifie :
∇L(θML;x1, ..., xN ) = 0
Pas de solution analytique en general.
Probleme d’optimisation difficile en general.
Il existe des cas simples ou la solution analytique existe (e.g. estimationdes parametres d’une loi normale)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 84 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance
Approche directe : exemple de solution analytique
Soit des donnees {xi ∈ Rd}i=1,..,N tirees selon une loi de distribution gaussienne.
N (X|µ,Σ) =1√
(2π)d|Σ|exp{−
1
2(X − µ)TΣ−1(X − µ)}
La log vraisemblance est :
L(µ,Σ;x1, ..., xN ) =N∑i=1
log(N (X|µ,Σ))
L(µ,Σ;x1, ..., xN ) = −1
2N log((2π)d|Σ|)−
1
2
N∑i=1
(xi − µ)TΣ−1(xi − µ)
Estimation de la moyenne µ et de la matrice de covariance Σ :
arg maxµ,Σ
L(µ,Σ;x1, ..., xN )
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 85 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance
Approche directe : exemple de solution analytique
Soit des donnees {xi ∈ Rd}i=1,..,N tirees selon une loi de distribution gaussienne.
N (X|µ,Σ) =1√
(2π)d|Σ|exp{−
1
2(X − µ)TΣ−1(X − µ)}
La log vraisemblance est :
L(µ,Σ;x1, ..., xN ) =N∑i=1
log(N (X|µ,Σ))
L(µ,Σ;x1, ..., xN ) = −1
2N log((2π)d|Σ|)−
1
2
N∑i=1
(xi − µ)TΣ−1(xi − µ)
Estimation de la moyenne µ et de la matrice de covariance Σ :
arg maxµ,Σ
L(µ,Σ;x1, ..., xN )
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 85 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance
Approche directe : exemple de solution analytique
Soit des donnees {xi ∈ Rd}i=1,..,N tirees selon une loi de distribution gaussienne.
N (X|µ,Σ) =1√
(2π)d|Σ|exp{−
1
2(X − µ)TΣ−1(X − µ)}
La log vraisemblance est :
L(µ,Σ;x1, ..., xN ) =N∑i=1
log(N (X|µ,Σ))
L(µ,Σ;x1, ..., xN ) = −1
2N log((2π)d|Σ|)−
1
2
N∑i=1
(xi − µ)TΣ−1(xi − µ)
Estimation de la moyenne µ et de la matrice de covariance Σ :
arg maxµ,Σ
L(µ,Σ;x1, ..., xN )
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 85 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance
Approche directe : exemple de solution analytique
Par derivation de L, on trouve l’estimation des parametres µ et Σ au sens dumaximum de vraisemblance.
Conditions d’optimalite
∇µL = 0⇒ −N∑i=1
Σ−1(xi − µ) = 0
∇ΣL = 0⇒ −N
2Σ−1 +
1
2
N∑i=1
Σ−1(xi − µ)T (xi − µ)Σ−1 = 0
Solutions analytiques
µ =1
N
N∑i=1
xi; Σ =1
N
N∑i=1
(xi − µ)(xi − µ)T
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 86 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance
Approche directe : exemple de solution analytique
Par derivation de L, on trouve l’estimation des parametres µ et Σ au sens dumaximum de vraisemblance.
Conditions d’optimalite
∇µL = 0⇒ −N∑i=1
Σ−1(xi − µ) = 0
∇ΣL = 0⇒ −N
2Σ−1 +
1
2
N∑i=1
Σ−1(xi − µ)T (xi − µ)Σ−1 = 0
Solutions analytiques
µ =1
N
N∑i=1
xi; Σ =1
N
N∑i=1
(xi − µ)(xi − µ)T
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 86 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance
Approche directe : exemple de solution analytique
Par derivation de L, on trouve l’estimation des parametres µ et Σ au sens dumaximum de vraisemblance.
Conditions d’optimalite
∇µL = 0⇒ −N∑i=1
Σ−1(xi − µ) = 0
∇ΣL = 0⇒ −N
2Σ−1 +
1
2
N∑i=1
Σ−1(xi − µ)T (xi − µ)Σ−1 = 0
Solutions analytiques
µ =1
N
N∑i=1
xi; Σ =1
N
N∑i=1
(xi − µ)(xi − µ)T
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 86 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance
Exemple ou la solution analytique n’existe pas
Log-vraisemblance du modele de melange de deux gaussiennes.
L(θ;x1, ..., xN ) =
N∑i=1
log(π1N (xi;µ1,Σ1) + π2N (xi;µ2,Σ2))
Solution non analytique a cause du log de la somme des termesπjN (xi;µj ,Σj)
Probleme : on ne connait pas a priori le cluster auquel appartient le pointxi
Si on a cette information, on peut construire une demarche iterative ⇒Algorithme EM
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 87 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance
Exemple ou la solution analytique n’existe pas
Log-vraisemblance du modele de melange de deux gaussiennes.
L(θ;x1, ..., xN ) =
N∑i=1
log(π1N (xi;µ1,Σ1) + π2N (xi;µ2,Σ2))
Solution non analytique a cause du log de la somme des termesπjN (xi;µj ,Σj)
Probleme : on ne connait pas a priori le cluster auquel appartient le pointxi
Si on a cette information, on peut construire une demarche iterative ⇒Algorithme EM
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 87 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance
Exemple ou la solution analytique n’existe pas
Log-vraisemblance du modele de melange de deux gaussiennes.
L(θ;x1, ..., xN ) =
N∑i=1
log(π1N (xi;µ1,Σ1) + π2N (xi;µ2,Σ2))
Solution non analytique a cause du log de la somme des termesπjN (xi;µj ,Σj)
Probleme : on ne connait pas a priori le cluster auquel appartient le pointxi
Si on a cette information, on peut construire une demarche iterative ⇒Algorithme EM
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 87 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance
Exemple ou la solution analytique n’existe pas
Log-vraisemblance du modele de melange de deux gaussiennes.
L(θ;x1, ..., xN ) =
N∑i=1
log(π1N (xi;µ1,Σ1) + π2N (xi;µ2,Σ2))
Solution non analytique a cause du log de la somme des termesπjN (xi;µj ,Σj)
Probleme : on ne connait pas a priori le cluster auquel appartient le pointxi
Si on a cette information, on peut construire une demarche iterative ⇒Algorithme EM
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 87 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance : Algorithme EM
EM par l’exemple
Si on donne arbitrairement l’appartenance de xi a un cluster, on peut definir lalog-vraisemblance completee
Lc(θ; {xi, zi}i=1,...,N ) =N∑i=1
zilog(π1N (xi;µ1,Σ1)) + (1− zi)log(π2N (xi;µ2,Σ2))
avec zi = 1 si xi ∈ C1 et zi = 0 si xi ∈ C2
On peut alors determiner πj , µj et Σj analytiquement.
Probleme : les inconnus zi ont ete prises arbitrairement
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 88 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance : Algorithme EM
EM par l’exemple
Si on donne arbitrairement l’appartenance de xi a un cluster, on peut definir lalog-vraisemblance completee
Lc(θ; {xi, zi}i=1,...,N ) =N∑i=1
zilog(π1N (xi;µ1,Σ1)) + (1− zi)log(π2N (xi;µ2,Σ2))
avec zi = 1 si xi ∈ C1 et zi = 0 si xi ∈ C2
On peut alors determiner πj , µj et Σj analytiquement.
Probleme : les inconnus zi ont ete prises arbitrairement
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 88 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance : Algorithme EM
EM par l’exemple
Si on donne arbitrairement l’appartenance de xi a un cluster, on peut definir lalog-vraisemblance completee
Lc(θ; {xi, zi}i=1,...,N ) =N∑i=1
zilog(π1N (xi;µ1,Σ1)) + (1− zi)log(π2N (xi;µ2,Σ2))
avec zi = 1 si xi ∈ C1 et zi = 0 si xi ∈ C2
On peut alors determiner πj , µj et Σj analytiquement.
Probleme : les inconnus zi ont ete prises arbitrairement
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 88 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance : Algorithme EM
EM par l’exemple
On s’en sort en prenant l’esperance conditionnelle de Lc
Esp(Lc|{xi}i=1,...,N ) =N∑
i=1
Esp(zi|xi)log(π1N (xi;µ1,Σ1))+(1−Esp(zi|xi))log(π2N (xi;µ2,Σ2))
Esp(zi|xi) = Pr(zi = 1|xi) est la probabilite a posteriori que xi ∈ C1
Intuition : si on tirait aleatoirement la classe du point xi un tres grand nombre de fois,combien de fois le point xi tomberait dans la classe C1. C’est ce que traduit Esp(zi|xi)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 89 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance : Algorithme EM
EM par l’exemple
On s’en sort en prenant l’esperance conditionnelle de Lc
Esp(Lc|{xi}i=1,...,N ) =N∑
i=1
Esp(zi|xi)log(π1N (xi;µ1,Σ1))+(1−Esp(zi|xi))log(π2N (xi;µ2,Σ2))
Esp(zi|xi) = Pr(zi = 1|xi) est la probabilite a posteriori que xi ∈ C1
Intuition : si on tirait aleatoirement la classe du point xi un tres grand nombre de fois,combien de fois le point xi tomberait dans la classe C1. C’est ce que traduit Esp(zi|xi)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 89 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance : Algorithme EM
EM par l’exemple
On s’en sort en prenant l’esperance conditionnelle de Lc
Esp(Lc|{xi}i=1,...,N ) =N∑
i=1
Esp(zi|xi)log(π1N (xi;µ1,Σ1))+(1−Esp(zi|xi))log(π2N (xi;µ2,Σ2))
Esp(zi|xi) = Pr(zi = 1|xi) est la probabilite a posteriori que xi ∈ C1
Intuition : si on tirait aleatoirement la classe du point xi un tres grand nombre de fois,combien de fois le point xi tomberait dans la classe C1. C’est ce que traduit Esp(zi|xi)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 89 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance : Algorithme EM
EM par l’exemple
Loi de Bayes :
Pr(zi = 1|xi) =Pr(zi = 1)f(xi|zi = 1)
f(xi)
Pr(zi = 1|xi) =π1N (xi;µ1,Σ1)
π1N (xi;µ1,Σ1) + π2N (xi;µ2,Σ2)
Si on connait les parametres, on peut calculer les probabilites a posteriori.Connaissant Pr(zi = 1|xi), on peut calculer les parametres.
EM : approche iterative alternant calcul des Pr(zi = 1|xi) et calcul desparametres (Expectation - Maximisation)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 90 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance : Algorithme EM
EM par l’exemple
Loi de Bayes :
Pr(zi = 1|xi) =Pr(zi = 1)f(xi|zi = 1)
f(xi)
Pr(zi = 1|xi) =π1N (xi;µ1,Σ1)
π1N (xi;µ1,Σ1) + π2N (xi;µ2,Σ2)
Si on connait les parametres, on peut calculer les probabilites a posteriori.Connaissant Pr(zi = 1|xi), on peut calculer les parametres.
EM : approche iterative alternant calcul des Pr(zi = 1|xi) et calcul desparametres (Expectation - Maximisation)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 90 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance : Algorithme EM
Algorithme EM
Repeter :
1 Etape E (Expectation) :calcul des probabilites a posteriori Pr(zi = 1|xi) etPr(zi = 0|xi)
γ(1)i =
π1N (xi;µ1,Σ1)
π1N (xi;µ1,Σ1) + π2N (xi;µ2,Σ2), i = 1, ..., N
Remarque : γ(2)i = Pr(zi = 0|xi) = 1− γ(1)
i : probabilite a posteriori que xi ∈ C2
2 Etape M (Maximisation) : calcul des parametres
µj =
∑Ni=1 γ
(j)i xi∑N
i=1 γ(j)i
;πj =
∑Ni=1 γ
(j)i
N; j ∈ {1, 2}
Σj =
∑Ni=1 γ
(j)i (xi − µj)(xi − µj)T∑N
i=1 γ(j)i
; j ∈ {1, 2}
Jusqu’a convergence
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 91 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance : Algorithme EM
Algorithme EM applique au melange de 2 gaussiennes
Initialisation de l’algorithme
Fixer les parametres π1 et π2 tels que π1 + π2 = 1
Fixer les parametres µ1,Σ1, µ2,Σ2
On peut utiliser l’algorithme K-Means pour initialiser les clusters
Du modele de melange au clustering
Apres convergence, on dispose des parametres. On affecte le point xi au
cluster Cj tel que γ(j)i soit maximal
C1 ← xi, si γ(1)i > γ
(2)i
C2 ← xi, sinon
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 92 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance : Algorithme EM
Algorithme EM applique au melange de 2 gaussiennes
Initialisation de l’algorithme
Fixer les parametres π1 et π2 tels que π1 + π2 = 1
Fixer les parametres µ1,Σ1, µ2,Σ2
On peut utiliser l’algorithme K-Means pour initialiser les clusters
Du modele de melange au clustering
Apres convergence, on dispose des parametres. On affecte le point xi au
cluster Cj tel que γ(j)i soit maximal
C1 ← xi, si γ(1)i > γ
(2)i
C2 ← xi, sinon
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 92 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance : Algorithme EM
Algorithme EM applique au melange de 2 gaussiennes
Initialisation de l’algorithme
Fixer les parametres π1 et π2 tels que π1 + π2 = 1
Fixer les parametres µ1,Σ1, µ2,Σ2
On peut utiliser l’algorithme K-Means pour initialiser les clusters
Du modele de melange au clustering
Apres convergence, on dispose des parametres. On affecte le point xi au
cluster Cj tel que γ(j)i soit maximal
C1 ← xi, si γ(1)i > γ
(2)i
C2 ← xi, sinon
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 92 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance : Algorithme EM
Algorithme EM applique au melange de 2 gaussiennes
Initialisation de l’algorithme
Fixer les parametres π1 et π2 tels que π1 + π2 = 1
Fixer les parametres µ1,Σ1, µ2,Σ2
On peut utiliser l’algorithme K-Means pour initialiser les clusters
Du modele de melange au clustering
Apres convergence, on dispose des parametres. On affecte le point xi au
cluster Cj tel que γ(j)i soit maximal
C1 ← xi, si γ(1)i > γ
(2)i
C2 ← xi, sinon
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 92 / 141
Clustering : modelisation statistique
Maximisation de la vraisemblance : Algorithme EM
Algorithme EM applique au melange de 2 gaussiennes
Illustration
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 93 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Extensions au cas general
Modele de melange
f(x) =
K∑k=1
πkf(x; θk) avec
K∑k=1
πk = 1
Algorithme EM
Etape E, calcul des probas a posteriori de xi ∈ Ck
γ(k)i =
πkf(xi; θk)∑Ki=1 πkf(xi; θk)
, i = 1, ..., N ; k = 1, ..K
et∑Ki=1 γ
(k)i = 1
Etape M : on calcule les parametres θk et µk par maximisation deEsp(Lc|{xi}i=1,...,N ).
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 94 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Extensions au cas general
Modele de melange
f(x) =
K∑k=1
πkf(x; θk) avec
K∑k=1
πk = 1
Algorithme EM
Etape E, calcul des probas a posteriori de xi ∈ Ck
γ(k)i =
πkf(xi; θk)∑Ki=1 πkf(xi; θk)
, i = 1, ..., N ; k = 1, ..K
et∑Ki=1 γ
(k)i = 1
Etape M : on calcule les parametres θk et µk par maximisation deEsp(Lc|{xi}i=1,...,N ).
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 94 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Extensions au cas general
Modele de melange
f(x) =
K∑k=1
πkf(x; θk) avec
K∑k=1
πk = 1
Algorithme EM
Etape E, calcul des probas a posteriori de xi ∈ Ck
γ(k)i =
πkf(xi; θk)∑Ki=1 πkf(xi; θk)
, i = 1, ..., N ; k = 1, ..K
et∑Ki=1 γ
(k)i = 1
Etape M : on calcule les parametres θk et µk par maximisation deEsp(Lc|{xi}i=1,...,N ).
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 94 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Extensions au cas general
Modele de melange
f(x) =
K∑k=1
πkf(x; θk) avec
K∑k=1
πk = 1
Algorithme EM
Etape E, calcul des probas a posteriori de xi ∈ Ck
γ(k)i =
πkf(xi; θk)∑Ki=1 πkf(xi; θk)
, i = 1, ..., N ; k = 1, ..K
et∑Ki=1 γ
(k)i = 1
Etape M : on calcule les parametres θk et µk par maximisation deEsp(Lc|{xi}i=1,...,N ).
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 94 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Algorithme EM : remarques
Convergence vers un extremum local uniquement
Critere de convergence : variation de la log-vraisemblance.
On peut montrer qu’a chaque etape, on ameliore la log-vraisemblance(elle est monotone croissante)
Initialisation : aleatoire ou utilisation de resultats a priori (commel’utilisation de K-Means)
Des Initialisations differentes peuvent donner des parametres differents.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 95 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Algorithme EM : remarques
Convergence vers un extremum local uniquement
Critere de convergence : variation de la log-vraisemblance.
On peut montrer qu’a chaque etape, on ameliore la log-vraisemblance(elle est monotone croissante)
Initialisation : aleatoire ou utilisation de resultats a priori (commel’utilisation de K-Means)
Des Initialisations differentes peuvent donner des parametres differents.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 95 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Algorithme EM : remarques
Convergence vers un extremum local uniquement
Critere de convergence : variation de la log-vraisemblance.
On peut montrer qu’a chaque etape, on ameliore la log-vraisemblance(elle est monotone croissante)
Initialisation : aleatoire ou utilisation de resultats a priori (commel’utilisation de K-Means)
Des Initialisations differentes peuvent donner des parametres differents.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 95 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Algorithme EM : remarques
Convergence vers un extremum local uniquement
Critere de convergence : variation de la log-vraisemblance.
On peut montrer qu’a chaque etape, on ameliore la log-vraisemblance(elle est monotone croissante)
Initialisation : aleatoire ou utilisation de resultats a priori (commel’utilisation de K-Means)
Des Initialisations differentes peuvent donner des parametres differents.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 95 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Algorithme EM : remarques
Convergence vers un extremum local uniquement
Critere de convergence : variation de la log-vraisemblance.
On peut montrer qu’a chaque etape, on ameliore la log-vraisemblance(elle est monotone croissante)
Initialisation : aleatoire ou utilisation de resultats a priori (commel’utilisation de K-Means)
Des Initialisations differentes peuvent donner des parametres differents.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 95 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Variante de EM : CEM
Initaliser les parametres θk et πk, k = 1, ...,K
Repeter :
1 Etape E : calculer les probabilites a posteriori γ(k)i , ∀i = 1..N,∀k = 1..K
2 Etape C : classification des points
Ck ← xi Si k = arg maxl γ(l)i
Modifications des proba a posteriori :γ(k)i = 1 et γ
(l)i = 0,∀l 6= k
3 Etape M : calcul des parametres en utilisant les probabilites a posteriorimodifiees
Jusqu’a convergence
A la fin de l’algo, on a directement les clusters.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 96 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Variante de EM : CEM
Initaliser les parametres θk et πk, k = 1, ...,K
Repeter :
1 Etape E : calculer les probabilites a posteriori γ(k)i , ∀i = 1..N,∀k = 1..K
2 Etape C : classification des points
Ck ← xi Si k = arg maxl γ(l)i
Modifications des proba a posteriori :γ(k)i = 1 et γ
(l)i = 0,∀l 6= k
3 Etape M : calcul des parametres en utilisant les probabilites a posteriorimodifiees
Jusqu’a convergence
A la fin de l’algo, on a directement les clusters.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 96 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Variante de EM : CEM
Initaliser les parametres θk et πk, k = 1, ...,K
Repeter :
1 Etape E : calculer les probabilites a posteriori γ(k)i , ∀i = 1..N,∀k = 1..K
2 Etape C : classification des points
Ck ← xi Si k = arg maxl γ(l)i
Modifications des proba a posteriori :γ(k)i = 1 et γ
(l)i = 0,∀l 6= k
3 Etape M : calcul des parametres en utilisant les probabilites a posteriorimodifiees
Jusqu’a convergence
A la fin de l’algo, on a directement les clusters.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 96 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Variante de EM : CEM
Initaliser les parametres θk et πk, k = 1, ...,K
Repeter :
1 Etape E : calculer les probabilites a posteriori γ(k)i , ∀i = 1..N,∀k = 1..K
2 Etape C : classification des points
Ck ← xi Si k = arg maxl γ(l)i
Modifications des proba a posteriori :γ(k)i = 1 et γ
(l)i = 0,∀l 6= k
3 Etape M : calcul des parametres en utilisant les probabilites a posteriorimodifiees
Jusqu’a convergence
A la fin de l’algo, on a directement les clusters.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 96 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Variante de EM : CEM
Initaliser les parametres θk et πk, k = 1, ...,K
Repeter :
1 Etape E : calculer les probabilites a posteriori γ(k)i , ∀i = 1..N,∀k = 1..K
2 Etape C : classification des points
Ck ← xi Si k = arg maxl γ(l)i
Modifications des proba a posteriori :γ(k)i = 1 et γ
(l)i = 0,∀l 6= k
3 Etape M : calcul des parametres en utilisant les probabilites a posteriorimodifiees
Jusqu’a convergence
A la fin de l’algo, on a directement les clusters.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 96 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Variante de EM : CEM
Initaliser les parametres θk et πk, k = 1, ...,K
Repeter :
1 Etape E : calculer les probabilites a posteriori γ(k)i , ∀i = 1..N,∀k = 1..K
2 Etape C : classification des points
Ck ← xi Si k = arg maxl γ(l)i
Modifications des proba a posteriori :γ(k)i = 1 et γ
(l)i = 0,∀l 6= k
3 Etape M : calcul des parametres en utilisant les probabilites a posteriorimodifiees
Jusqu’a convergence
A la fin de l’algo, on a directement les clusters.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 96 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Variante de EM : CEM
Initaliser les parametres θk et πk, k = 1, ...,K
Repeter :
1 Etape E : calculer les probabilites a posteriori γ(k)i , ∀i = 1..N,∀k = 1..K
2 Etape C : classification des points
Ck ← xi Si k = arg maxl γ(l)i
Modifications des proba a posteriori :γ(k)i = 1 et γ
(l)i = 0,∀l 6= k
3 Etape M : calcul des parametres en utilisant les probabilites a posteriorimodifiees
Jusqu’a convergence
A la fin de l’algo, on a directement les clusters.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 96 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Variante de EM : CEM
Initaliser les parametres θk et πk, k = 1, ...,K
Repeter :
1 Etape E : calculer les probabilites a posteriori γ(k)i , ∀i = 1..N,∀k = 1..K
2 Etape C : classification des points
Ck ← xi Si k = arg maxl γ(l)i
Modifications des proba a posteriori :γ(k)i = 1 et γ
(l)i = 0,∀l 6= k
3 Etape M : calcul des parametres en utilisant les probabilites a posteriorimodifiees
Jusqu’a convergence
A la fin de l’algo, on a directement les clusters.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 96 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Variante de EM : CEM
Initaliser les parametres θk et πk, k = 1, ...,K
Repeter :
1 Etape E : calculer les probabilites a posteriori γ(k)i , ∀i = 1..N,∀k = 1..K
2 Etape C : classification des points
Ck ← xi Si k = arg maxl γ(l)i
Modifications des proba a posteriori :γ(k)i = 1 et γ
(l)i = 0,∀l 6= k
3 Etape M : calcul des parametres en utilisant les probabilites a posteriorimodifiees
Jusqu’a convergence
A la fin de l’algo, on a directement les clusters.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 96 / 141
Clustering : modelisation statistique
Clustering par modelisation statistique
Variante de EM : CEM
Initaliser les parametres θk et πk, k = 1, ...,K
Repeter :
1 Etape E : calculer les probabilites a posteriori γ(k)i , ∀i = 1..N,∀k = 1..K
2 Etape C : classification des points
Ck ← xi Si k = arg maxl γ(l)i
Modifications des proba a posteriori :γ(k)i = 1 et γ
(l)i = 0,∀l 6= k
3 Etape M : calcul des parametres en utilisant les probabilites a posteriorimodifiees
Jusqu’a convergence
A la fin de l’algo, on a directement les clusters.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 96 / 141
Clustering : modelisation statistique
Exemple complet
Deux pieces de monnaie : A et B
Probabilites d’avoir face (H) : θA et θB
Distribution binomiale pour le calcul de probabilites :(nk
)pk(1− p)n−k
Nous avons 5 ensembles de realisations avec 10 essais dans chaque ensemble
Si nous savions quelle piece a ete lancee pour chaque ensemble, nous pouvons calculerles probabilites du Maximum de Vraisemblance.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 97 / 141
Clustering : modelisation statistique
Exemple complet
Deux pieces de monnaie : A et B
Probabilites d’avoir face (H) : θA et θB
Distribution binomiale pour le calcul de probabilites :(nk
)pk(1− p)n−k
Nous avons 5 ensembles de realisations avec 10 essais dans chaque ensemble
Si nous savions quelle piece a ete lancee pour chaque ensemble, nous pouvons calculerles probabilites du Maximum de Vraisemblance.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 97 / 141
Clustering : modelisation statistique
Exemple complet
Deux pieces de monnaie : A et B
Probabilites d’avoir face (H) : θA et θB
Distribution binomiale pour le calcul de probabilites :(nk
)pk(1− p)n−k
Nous avons 5 ensembles de realisations avec 10 essais dans chaque ensemble
Si nous savions quelle piece a ete lancee pour chaque ensemble, nous pouvons calculerles probabilites du Maximum de Vraisemblance.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 97 / 141
Clustering : modelisation statistique
Exemple complet
Deux pieces de monnaie : A et B
Probabilites d’avoir face (H) : θA et θB
Distribution binomiale pour le calcul de probabilites :(nk
)pk(1− p)n−k
Nous avons 5 ensembles de realisations avec 10 essais dans chaque ensemble
Si nous savions quelle piece a ete lancee pour chaque ensemble, nous pouvons calculerles probabilites du Maximum de Vraisemblance.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 97 / 141
Clustering : modelisation statistique
Exemple complet
Deux pieces de monnaie : A et B
Probabilites d’avoir face (H) : θA et θB
Distribution binomiale pour le calcul de probabilites :(nk
)pk(1− p)n−k
Nous avons 5 ensembles de realisations avec 10 essais dans chaque ensemble
Si nous savions quelle piece a ete lancee pour chaque ensemble, nous pouvons calculerles probabilites du Maximum de Vraisemblance.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 97 / 141
Clustering : modelisation statistique
Exemple complet, suite
Si nous ne savions quelle piece a ete lancee pour chaque ensemble, nousne pouvons calculer les probabilites du Maximum de Vraisemblance.
; EM
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 98 / 141
Clustering : modelisation statistique
Exemple complet, suite
Si nous ne savions quelle piece a ete lancee pour chaque ensemble, nousne pouvons calculer les probabilites du Maximum de Vraisemblance.
; EM
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 98 / 141
Classification spectrale
Principe
Methode de partitionnement utilisant des outils de la theorie spectrale de graphes
Procede en trois etapes :
1 Calcul d’une matrice de similarite, S, entre l’ensemble des points x1, · · · ,xn :sij = s(xi, xj)
2 Construction du graphe de similarite a partir de S : les sommets representent lesdonnees xi et les arretes la similarite entre les points associes aux sommets.
3 Partitionnement du graphe : trouver une coupure appropriee du graphe
Figure: Source : wikipedia
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 99 / 141
Classification spectrale
Avant-gout
Figure: Source : Ng et al 2001Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 100 / 141
Classification spectrale
Un peu d’histoire
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 101 / 141
Classification spectrale
Graphes et ML
Structure de donnees
Web ;
Reseaux sociaux ;
Biologie ;
etc.
Apprentissage/fouille de donnees
Classification, e.g. spectrale ;
Reduction de dimensionalite dans les varietes (LLE, IsoMap) ;
Apprentissage semi-supervise, propagation d’etiquettes ;
Algorithmes de ranking
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 102 / 141
Classification spectrale
Graphes et ML
Structure de donnees
Web ;
Reseaux sociaux ;
Biologie ;
etc.
Apprentissage/fouille de donnees
Classification, e.g. spectrale ;
Reduction de dimensionalite dans les varietes (LLE, IsoMap) ;
Apprentissage semi-supervise, propagation d’etiquettes ;
Algorithmes de ranking
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 102 / 141
Classification spectrale
Graphes et ML
Structure de donnees
Web ;
Reseaux sociaux ;
Biologie ;
etc.
Apprentissage/fouille de donnees
Classification, e.g. spectrale ;
Reduction de dimensionalite dans les varietes (LLE, IsoMap) ;
Apprentissage semi-supervise, propagation d’etiquettes ;
Algorithmes de ranking
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 102 / 141
Classification spectrale
Graphes et ML
Structure de donnees
Web ;
Reseaux sociaux ;
Biologie ;
etc.
Apprentissage/fouille de donnees
Classification, e.g. spectrale ;
Reduction de dimensionalite dans les varietes (LLE, IsoMap) ;
Apprentissage semi-supervise, propagation d’etiquettes ;
Algorithmes de ranking
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 102 / 141
Classification spectrale
Graphes et ML
Structure de donnees
Web ;
Reseaux sociaux ;
Biologie ;
etc.
Apprentissage/fouille de donnees
Classification, e.g. spectrale ;
Reduction de dimensionalite dans les varietes (LLE, IsoMap) ;
Apprentissage semi-supervise, propagation d’etiquettes ;
Algorithmes de ranking
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 102 / 141
Classification spectrale
Graphes et ML
Structure de donnees
Web ;
Reseaux sociaux ;
Biologie ;
etc.
Apprentissage/fouille de donnees
Classification, e.g. spectrale ;
Reduction de dimensionalite dans les varietes (LLE, IsoMap) ;
Apprentissage semi-supervise, propagation d’etiquettes ;
Algorithmes de ranking
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 102 / 141
Classification spectrale
Graphes et ML
Structure de donnees
Web ;
Reseaux sociaux ;
Biologie ;
etc.
Apprentissage/fouille de donnees
Classification, e.g. spectrale ;
Reduction de dimensionalite dans les varietes (LLE, IsoMap) ;
Apprentissage semi-supervise, propagation d’etiquettes ;
Algorithmes de ranking
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 102 / 141
Classification spectrale
Graphes et ML
Structure de donnees
Web ;
Reseaux sociaux ;
Biologie ;
etc.
Apprentissage/fouille de donnees
Classification, e.g. spectrale ;
Reduction de dimensionalite dans les varietes (LLE, IsoMap) ;
Apprentissage semi-supervise, propagation d’etiquettes ;
Algorithmes de ranking
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 102 / 141
Classification spectrale
Graphes et ML
L’indice de distance ou de similarite ne donne qu’une information locale
Les caracteristiques globales construites a partir des indices de distancene permettent pas de capturer la structure globale des donnees
; Graphes de similarites permettent de prendre en compte l’informationlocale ainsi que la structure globale
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 103 / 141
Classification spectrale
Graphes et ML
L’indice de distance ou de similarite ne donne qu’une information locale
Les caracteristiques globales construites a partir des indices de distancene permettent pas de capturer la structure globale des donnees
; Graphes de similarites permettent de prendre en compte l’informationlocale ainsi que la structure globale
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 103 / 141
Classification spectrale
Graphes et ML
L’indice de distance ou de similarite ne donne qu’une information locale
Les caracteristiques globales construites a partir des indices de distancene permettent pas de capturer la structure globale des donnees
; Graphes de similarites permettent de prendre en compte l’informationlocale ainsi que la structure globale
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 103 / 141
Classification spectrale
Notations et quelques definitions
Ensemble de points {xi ∈ X | i = 1, · · · , n}S = (sij) : matrice de similarite (symetrique et positive sij = sji ≥ 0)
G(V, E) : un graphe de similarite (non-dirigee)
V = {x1, · · · ,xn} : l’ensemble des sommets avec n = |V|E = {eij} : l’ensemble des arretes
W = (wij) : matrice d’adjacence ponderee
di =∑ni=1 wij : degre du sommet vi
D = diag(d1, · · · , dn)
|A| : le nombre de sommets appartenant au sous-ensemble A
vol(A) =∑i∈A di
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 104 / 141
Classification spectrale
Notations et quelques definitions
Ensemble de points {xi ∈ X | i = 1, · · · , n}S = (sij) : matrice de similarite (symetrique et positive sij = sji ≥ 0)
G(V, E) : un graphe de similarite (non-dirigee)
V = {x1, · · · ,xn} : l’ensemble des sommets avec n = |V|E = {eij} : l’ensemble des arretes
W = (wij) : matrice d’adjacence ponderee
di =∑ni=1 wij : degre du sommet vi
D = diag(d1, · · · , dn)
|A| : le nombre de sommets appartenant au sous-ensemble A
vol(A) =∑i∈A di
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 104 / 141
Classification spectrale
Notations et quelques definitions
Ensemble de points {xi ∈ X | i = 1, · · · , n}S = (sij) : matrice de similarite (symetrique et positive sij = sji ≥ 0)
G(V, E) : un graphe de similarite (non-dirigee)
V = {x1, · · · ,xn} : l’ensemble des sommets avec n = |V|E = {eij} : l’ensemble des arretes
W = (wij) : matrice d’adjacence ponderee
di =∑ni=1 wij : degre du sommet vi
D = diag(d1, · · · , dn)
|A| : le nombre de sommets appartenant au sous-ensemble A
vol(A) =∑i∈A di
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 104 / 141
Classification spectrale
Notations et quelques definitions
Ensemble de points {xi ∈ X | i = 1, · · · , n}S = (sij) : matrice de similarite (symetrique et positive sij = sji ≥ 0)
G(V, E) : un graphe de similarite (non-dirigee)
V = {x1, · · · ,xn} : l’ensemble des sommets avec n = |V|E = {eij} : l’ensemble des arretes
W = (wij) : matrice d’adjacence ponderee
di =∑ni=1 wij : degre du sommet vi
D = diag(d1, · · · , dn)
|A| : le nombre de sommets appartenant au sous-ensemble A
vol(A) =∑i∈A di
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 104 / 141
Classification spectrale
Notations et quelques definitions
Ensemble de points {xi ∈ X | i = 1, · · · , n}S = (sij) : matrice de similarite (symetrique et positive sij = sji ≥ 0)
G(V, E) : un graphe de similarite (non-dirigee)
V = {x1, · · · ,xn} : l’ensemble des sommets avec n = |V|E = {eij} : l’ensemble des arretes
W = (wij) : matrice d’adjacence ponderee
di =∑ni=1 wij : degre du sommet vi
D = diag(d1, · · · , dn)
|A| : le nombre de sommets appartenant au sous-ensemble A
vol(A) =∑i∈A di
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 104 / 141
Classification spectrale
Notations et quelques definitions
Ensemble de points {xi ∈ X | i = 1, · · · , n}S = (sij) : matrice de similarite (symetrique et positive sij = sji ≥ 0)
G(V, E) : un graphe de similarite (non-dirigee)
V = {x1, · · · ,xn} : l’ensemble des sommets avec n = |V|E = {eij} : l’ensemble des arretes
W = (wij) : matrice d’adjacence ponderee
di =∑ni=1 wij : degre du sommet vi
D = diag(d1, · · · , dn)
|A| : le nombre de sommets appartenant au sous-ensemble A
vol(A) =∑i∈A di
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 104 / 141
Classification spectrale
Notations et quelques definitions
Ensemble de points {xi ∈ X | i = 1, · · · , n}S = (sij) : matrice de similarite (symetrique et positive sij = sji ≥ 0)
G(V, E) : un graphe de similarite (non-dirigee)
V = {x1, · · · ,xn} : l’ensemble des sommets avec n = |V|E = {eij} : l’ensemble des arretes
W = (wij) : matrice d’adjacence ponderee
di =∑ni=1 wij : degre du sommet vi
D = diag(d1, · · · , dn)
|A| : le nombre de sommets appartenant au sous-ensemble A
vol(A) =∑i∈A di
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 104 / 141
Classification spectrale
Notations et quelques definitions
Ensemble de points {xi ∈ X | i = 1, · · · , n}S = (sij) : matrice de similarite (symetrique et positive sij = sji ≥ 0)
G(V, E) : un graphe de similarite (non-dirigee)
V = {x1, · · · ,xn} : l’ensemble des sommets avec n = |V|E = {eij} : l’ensemble des arretes
W = (wij) : matrice d’adjacence ponderee
di =∑ni=1 wij : degre du sommet vi
D = diag(d1, · · · , dn)
|A| : le nombre de sommets appartenant au sous-ensemble A
vol(A) =∑i∈A di
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 104 / 141
Classification spectrale
Notations et quelques definitions
Ensemble de points {xi ∈ X | i = 1, · · · , n}S = (sij) : matrice de similarite (symetrique et positive sij = sji ≥ 0)
G(V, E) : un graphe de similarite (non-dirigee)
V = {x1, · · · ,xn} : l’ensemble des sommets avec n = |V|E = {eij} : l’ensemble des arretes
W = (wij) : matrice d’adjacence ponderee
di =∑ni=1 wij : degre du sommet vi
D = diag(d1, · · · , dn)
|A| : le nombre de sommets appartenant au sous-ensemble A
vol(A) =∑i∈A di
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 104 / 141
Classification spectrale
Notations et quelques definitions
Ensemble de points {xi ∈ X | i = 1, · · · , n}S = (sij) : matrice de similarite (symetrique et positive sij = sji ≥ 0)
G(V, E) : un graphe de similarite (non-dirigee)
V = {x1, · · · ,xn} : l’ensemble des sommets avec n = |V|E = {eij} : l’ensemble des arretes
W = (wij) : matrice d’adjacence ponderee
di =∑ni=1 wij : degre du sommet vi
D = diag(d1, · · · , dn)
|A| : le nombre de sommets appartenant au sous-ensemble A
vol(A) =∑i∈A di
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 104 / 141
Classification spectrale
Fonctions reelles de graphe
f : V → R associe a chaque sommet un nombre reel.
f peut etre vue comme un vecteur dans Rn avec fi := f(vi)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 105 / 141
Classification spectrale
Fonctions reelles de graphe
f : V → R associe a chaque sommet un nombre reel.
f peut etre vue comme un vecteur dans Rn avec fi := f(vi)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 105 / 141
Classification spectrale
Exemple
Soient six points du plan ayant pour coordonnees (X = R2) :
abscisse (x1) ordonnee (x2)x1 -2 2x2 -2 -1x3 0 -1x4 2 2x5 -2 3x6 3 0
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 106 / 141
Classification spectrale
Matrice de similarite
S = [sij ]i=1,··· ,nj=1,··· ,n
, ou sij = s(xi,xj), s : X × X → [0, 1]
Exemples de s
Similarite cosinus : s(xi,xj) := cos(θij) =〈xi,xj〉||xi||||xj || , prend valeurs dans
[−1, 1]
Si X = {0, 1}m, e.g. indice de Jaccard : s(xi,xj) :=|xi∩xj ||xi∪xj |
Similarite a partir d’une distance
Soit d une distance (metrique) dans X , e.g. d(xi,xj) = (∑dk=1 |xik − xjk|p)1/p
s(xi,xj) = 11+d(xi,xj)2
s(xi,xj) = exp(−d(xi,xj)2
2σ2 )
etc.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 107 / 141
Classification spectrale
Matrice de similarite
S = [sij ]i=1,··· ,nj=1,··· ,n
, ou sij = s(xi,xj), s : X × X → [0, 1]
Exemples de s
Similarite cosinus : s(xi,xj) := cos(θij) =〈xi,xj〉||xi||||xj || , prend valeurs dans
[−1, 1]
Si X = {0, 1}m, e.g. indice de Jaccard : s(xi,xj) :=|xi∩xj ||xi∪xj |
Similarite a partir d’une distance
Soit d une distance (metrique) dans X , e.g. d(xi,xj) = (∑dk=1 |xik − xjk|p)1/p
s(xi,xj) = 11+d(xi,xj)2
s(xi,xj) = exp(−d(xi,xj)2
2σ2 )
etc.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 107 / 141
Classification spectrale
Matrice de similarite
S = [sij ]i=1,··· ,nj=1,··· ,n
, ou sij = s(xi,xj), s : X × X → [0, 1]
Exemples de s
Similarite cosinus : s(xi,xj) := cos(θij) =〈xi,xj〉||xi||||xj || , prend valeurs dans
[−1, 1]
Si X = {0, 1}m, e.g. indice de Jaccard : s(xi,xj) :=|xi∩xj ||xi∪xj |
Similarite a partir d’une distance
Soit d une distance (metrique) dans X , e.g. d(xi,xj) = (∑dk=1 |xik − xjk|p)1/p
s(xi,xj) = 11+d(xi,xj)2
s(xi,xj) = exp(−d(xi,xj)2
2σ2 )
etc.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 107 / 141
Classification spectrale
Matrice de similarite
S = [sij ]i=1,··· ,nj=1,··· ,n
, ou sij = s(xi,xj), s : X × X → [0, 1]
Exemples de s
Similarite cosinus : s(xi,xj) := cos(θij) =〈xi,xj〉||xi||||xj || , prend valeurs dans
[−1, 1]
Si X = {0, 1}m, e.g. indice de Jaccard : s(xi,xj) :=|xi∩xj ||xi∪xj |
Similarite a partir d’une distance
Soit d une distance (metrique) dans X , e.g. d(xi,xj) = (∑dk=1 |xik − xjk|p)1/p
s(xi,xj) = 11+d(xi,xj)2
s(xi,xj) = exp(−d(xi,xj)2
2σ2 )
etc.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 107 / 141
Classification spectrale
Matrice de similarite
S = [sij ]i=1,··· ,nj=1,··· ,n
, ou sij = s(xi,xj), s : X × X → [0, 1]
Exemples de s
Similarite cosinus : s(xi,xj) := cos(θij) =〈xi,xj〉||xi||||xj || , prend valeurs dans
[−1, 1]
Si X = {0, 1}m, e.g. indice de Jaccard : s(xi,xj) :=|xi∩xj ||xi∪xj |
Similarite a partir d’une distance
Soit d une distance (metrique) dans X , e.g. d(xi,xj) = (∑dk=1 |xik − xjk|p)1/p
s(xi,xj) = 11+d(xi,xj)2
s(xi,xj) = exp(−d(xi,xj)2
2σ2 )
etc.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 107 / 141
Classification spectrale
Exemple (2)
d(xi,xj) :=∑mk=1 |xik − xjk| (distance de Manhattan ou L1) et
sij := 11+d(xi,xj)2
M =
x1 x2 x3 x4 x5 x6
x1 0 3 5 4 1 7x2 3 0 2 7 4 6x3 5 2 0 5 6 4x4 4 7 5 0 5 3x5 1 4 6 5 0 8x6 7 6 4 3 8 0
S =
x1 x2 x3 x4 x5 x6
x1 1 0.25 0.17 0.2 0.5 0.12x2 0.25 1 0.33 0.12 0.2 0.14x3 0.17 0.33 1 0.17 0.14 0.2x4 0.2 0.12 0.17 1 0.17 0.25x5 0.5 0.2 0.14 0.17 1 0.11x6 0.12 0.14 0.2 0.25 0.11 1
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 108 / 141
Classification spectrale
Graphe de similarite
Graphe ε−voisinage
Connexion des sommets pour lesquels la similarite sij est superieure a ε
Graphe k−ppv
Connexion du i-eme sommet avec le j-eme sommet si et seulement si l’objet xjfait partie des k plus proches voisins de l’objet xi ; graphe dirige.
Graphe k−ppv mutuel
Connexion du i-eme sommet avec le j-eme sommet si et seulement si l’objet xjfait partie des k plus proches voisins de l’objet xi et inversement ; graphenon-dirige.
Graphe complet (totalement connecte)
Connexion de tous les sommets entre eux et ponderation des arcs de liaisonpar la valeur de sij .
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 109 / 141
Classification spectrale
Graphe de similariteGraphe ε−voisinage, illustration
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 110 / 141
Classification spectrale
Graphe de similariteGraphe k−ppv, illustration
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 111 / 141
Classification spectrale
Graphe de similariteGraphe complet, illustration
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 112 / 141
Classification spectrale
Matrice d’adjacence
Definition
La matrice d’adjcence d’un graphe avec n sommets, est une matrice A, (n× n)definie comme suit :
A :=
aij = 1 si xi ∼ xj(xi et xj sont connectes )aij = 0 si xi et xj ne sont pas connectesaii = 0
Illustration, graphe k-ppv avec k=2
A =
x1 x2 x3 x4 x5 x6
x1 0 1 0 0 1 0x2 1 0 1 0 0 0x3 0 1 0 0 0 1x4 0 0 0 0 0 1x5 1 0 0 0 0 0x6 0 0 1 1 0 0
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 113 / 141
Classification spectrale
Matrice d’adjacence ponderee
Definition
La matrice d’adjcence ponderee d’un graphe avec n sommets, est une matriceA, (n× n) definie comme suit :
W :=
wij = sij si xi ∼ xj(xi et xj sont connectes )wij = 0 si xi et xj ne sont pas connecteswii = 0
Illustration, graphe k-ppv avec k=2
W =
x1 x2 x3 x4 x5 x6
x1 0 0.25 0 0 0.5 0x2 .25 0 0.33 0 0 0x3 0 0.33 0 0 0 0.2x4 0 0 0 0 0 0.25x5 0.5 0 0 0 0 0x6 0 0 0.2 0.25 0 0
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 114 / 141
Classification spectrale
Laplacien de grapheLaplacien non-normalise
L = D −W
Proprietes :
f tLf = 12
∑ij wij(fi − fj)
2
Comme operateur : (Lf)(xi) =∑
xi∼xjwij(f(xi)− f(xj))
2
L est symetrique et semi-defini positif
L1n = 0, avec λ1 = 0
L admet des valeurs propres reels positives : 0 = λ1 ≤ λ2 ≤ · · · ≤ λn
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 115 / 141
Classification spectrale
Laplacien de grapheLaplacien non-normalise
L = D −W
Proprietes :
f tLf = 12
∑ij wij(fi − fj)
2
Comme operateur : (Lf)(xi) =∑
xi∼xjwij(f(xi)− f(xj))
2
L est symetrique et semi-defini positif
L1n = 0, avec λ1 = 0
L admet des valeurs propres reels positives : 0 = λ1 ≤ λ2 ≤ · · · ≤ λn
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 115 / 141
Classification spectrale
Laplacien de grapheLaplacien non-normalise
L = D −W
Proprietes :
f tLf = 12
∑ij wij(fi − fj)
2
Comme operateur : (Lf)(xi) =∑
xi∼xjwij(f(xi)− f(xj))
2
L est symetrique et semi-defini positif
L1n = 0, avec λ1 = 0
L admet des valeurs propres reels positives : 0 = λ1 ≤ λ2 ≤ · · · ≤ λn
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 115 / 141
Classification spectrale
Laplacien de grapheLaplacien non-normalise
L = D −W
Proprietes :
f tLf = 12
∑ij wij(fi − fj)
2
Comme operateur : (Lf)(xi) =∑
xi∼xjwij(f(xi)− f(xj))
2
L est symetrique et semi-defini positif
L1n = 0, avec λ1 = 0
L admet des valeurs propres reels positives : 0 = λ1 ≤ λ2 ≤ · · · ≤ λn
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 115 / 141
Classification spectrale
Laplacien de grapheLaplacien non-normalise
L = D −W
Proprietes :
f tLf = 12
∑ij wij(fi − fj)
2
Comme operateur : (Lf)(xi) =∑
xi∼xjwij(f(xi)− f(xj))
2
L est symetrique et semi-defini positif
L1n = 0, avec λ1 = 0
L admet des valeurs propres reels positives : 0 = λ1 ≤ λ2 ≤ · · · ≤ λn
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 115 / 141
Classification spectrale
Pourquoi le Laplacien de graphe s’appelle...Laplacien
f tLf =1
2
∑ij
wij(fi − fj)2
Considerons wij ∼ 1||xi−xj ||2
f tLf =1
2
∑ij
f(xi)− f(xj)
||xi − xj ||︸ ︷︷ ︸∇f
2
; Operateur de Laplace classique :
〈f ,∇f〉 =
∫|∇f |2dx
; Le Laplacien de graphe mesure la variation des etiquettes des sommets. Sideux points sont proches f tLf est petit.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 116 / 141
Classification spectrale
Pourquoi le Laplacien de graphe s’appelle...Laplacien
f tLf =1
2
∑ij
wij(fi − fj)2
Considerons wij ∼ 1||xi−xj ||2
f tLf =1
2
∑ij
f(xi)− f(xj)
||xi − xj ||︸ ︷︷ ︸∇f
2
; Operateur de Laplace classique :
〈f ,∇f〉 =
∫|∇f |2dx
; Le Laplacien de graphe mesure la variation des etiquettes des sommets. Sideux points sont proches f tLf est petit.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 116 / 141
Classification spectrale
Pourquoi le Laplacien de graphe s’appelle...Laplacien
f tLf =1
2
∑ij
wij(fi − fj)2
Considerons wij ∼ 1||xi−xj ||2
f tLf =1
2
∑ij
f(xi)− f(xj)
||xi − xj ||︸ ︷︷ ︸∇f
2
; Operateur de Laplace classique :
〈f ,∇f〉 =
∫|∇f |2dx
; Le Laplacien de graphe mesure la variation des etiquettes des sommets. Sideux points sont proches f tLf est petit.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 116 / 141
Classification spectrale
Pourquoi le Laplacien de graphe s’appelle...Laplacien
f tLf =1
2
∑ij
wij(fi − fj)2
Considerons wij ∼ 1||xi−xj ||2
f tLf =1
2
∑ij
f(xi)− f(xj)
||xi − xj ||︸ ︷︷ ︸∇f
2
; Operateur de Laplace classique :
〈f ,∇f〉 =
∫|∇f |2dx
; Le Laplacien de graphe mesure la variation des etiquettes des sommets. Sideux points sont proches f tLf est petit.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 116 / 141
Classification spectrale
Laplacien et compostantes connexesCas d’une composante connexe
Soit f le vecteur propre associe a λ = 0
0 = f tLf =∑i,j wij(fi − fj)
2
wij ≥ 0 =⇒ fi = fj pour tout i, j
Puisque le graphe est complet =⇒ f := (1, · · · , 1)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 117 / 141
Classification spectrale
Laplacien et compostantes connexesCas d’une composante connexe
Soit f le vecteur propre associe a λ = 0
0 = f tLf =∑i,j wij(fi − fj)
2
wij ≥ 0 =⇒ fi = fj pour tout i, j
Puisque le graphe est complet =⇒ f := (1, · · · , 1)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 117 / 141
Classification spectrale
Laplacien et compostantes connexesCas d’une composante connexe
Soit f le vecteur propre associe a λ = 0
0 = f tLf =∑i,j wij(fi − fj)
2
wij ≥ 0 =⇒ fi = fj pour tout i, j
Puisque le graphe est complet =⇒ f := (1, · · · , 1)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 117 / 141
Classification spectrale
Laplacien et compostantes connexesCas d’une composante connexe
Soit f le vecteur propre associe a λ = 0
0 = f tLf =∑i,j wij(fi − fj)
2
wij ≥ 0 =⇒ fi = fj pour tout i, j
Puisque le graphe est complet =⇒ f := (1, · · · , 1)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 117 / 141
Classification spectrale
Laplacien et compostantes connexesCas de plusieurs composantes connexes
Chaque composante connexe est associee a une matrice Laplacienne. On peutdonc construire une matrice block-diagonale :
L :=
L1
. . .
Lk
Le spectre (l’ensemble des valeurs propres) de L est l’union des spectresdes Li
A chaque block est associee une composante connexe =⇒ Li admet unevaleur propre 0 et un unique vecteur propre (multiplicite de 1)
L admet une valeur propre λ1 = 0 avec un degre de multiplicite k.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 118 / 141
Classification spectrale
Laplacien et compostantes connexesCas de plusieurs composantes connexes
Chaque composante connexe est associee a une matrice Laplacienne. On peutdonc construire une matrice block-diagonale :
L :=
L1
. . .
Lk
Le spectre (l’ensemble des valeurs propres) de L est l’union des spectresdes Li
A chaque block est associee une composante connexe =⇒ Li admet unevaleur propre 0 et un unique vecteur propre (multiplicite de 1)
L admet une valeur propre λ1 = 0 avec un degre de multiplicite k.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 118 / 141
Classification spectrale
Laplacien et compostantes connexesCas de plusieurs composantes connexes
Chaque composante connexe est associee a une matrice Laplacienne. On peutdonc construire une matrice block-diagonale :
L :=
L1
. . .
Lk
Le spectre (l’ensemble des valeurs propres) de L est l’union des spectresdes Li
A chaque block est associee une composante connexe =⇒ Li admet unevaleur propre 0 et un unique vecteur propre (multiplicite de 1)
L admet une valeur propre λ1 = 0 avec un degre de multiplicite k.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 118 / 141
Classification spectrale
Laplacien et compostantes connexesCas de plusieurs composantes connexes
Chaque composante connexe est associee a une matrice Laplacienne. On peutdonc construire une matrice block-diagonale :
L :=
L1
. . .
Lk
Le spectre (l’ensemble des valeurs propres) de L est l’union des spectresdes Li
A chaque block est associee une composante connexe =⇒ Li admet unevaleur propre 0 et un unique vecteur propre (multiplicite de 1)
L admet une valeur propre λ1 = 0 avec un degre de multiplicite k.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 118 / 141
Classification spectrale
Multiplicite de λ1 = 0
Le sous-espace propre associe a λ1 = λ2 = · · · = λk = 0 est engendre parles k vecteurs orthogonaux :
f1 = 1L1
· · ·fk = 1Lk
avec 1Li = (0000111110000)t ∈ Rn
Ces vecteurs sont des vecteur indicateurs des composantes connexes dugraphe.
NB : 1L1+ · · ·+ 1Lk
= 1Ln
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 119 / 141
Classification spectrale
Multiplicite de λ1 = 0
Le sous-espace propre associe a λ1 = λ2 = · · · = λk = 0 est engendre parles k vecteurs orthogonaux :
f1 = 1L1
· · ·fk = 1Lk
avec 1Li = (0000111110000)t ∈ Rn
Ces vecteurs sont des vecteur indicateurs des composantes connexes dugraphe.
NB : 1L1+ · · ·+ 1Lk
= 1Ln
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 119 / 141
Classification spectrale
Multiplicite de λ1 = 0
Le sous-espace propre associe a λ1 = λ2 = · · · = λk = 0 est engendre parles k vecteurs orthogonaux :
f1 = 1L1
· · ·fk = 1Lk
avec 1Li = (0000111110000)t ∈ Rn
Ces vecteurs sont des vecteur indicateurs des composantes connexes dugraphe.
NB : 1L1+ · · ·+ 1Lk
= 1Ln
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 119 / 141
Classification spectrale
Multiplicite de λ1 = 0
Le sous-espace propre associe a λ1 = λ2 = · · · = λk = 0 est engendre parles k vecteurs orthogonaux :
f1 = 1L1
· · ·fk = 1Lk
avec 1Li = (0000111110000)t ∈ Rn
Ces vecteurs sont des vecteur indicateurs des composantes connexes dugraphe.
NB : 1L1+ · · ·+ 1Lk
= 1Ln
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 119 / 141
Classification spectrale
Laplacien de grapheLaplacien normalise
Laplacien symetrique
Lsym = D−1/2LD−1/2 = I −D−1/2WD−1/2
Laplacien marche aleatoire
Lrw := D−1L = I −D−1W.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 120 / 141
Classification spectrale
Laplacien de grapheLaplacien normalise
Laplacien symetrique
Lsym = D−1/2LD−1/2 = I −D−1/2WD−1/2
Laplacien marche aleatoire
Lrw := D−1L = I −D−1W.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 120 / 141
Classification spectrale
Laplacien de grapheLaplacien normalise, proprietes
1 Pour tout f ∈ Rn :
f tLsymf =1
2
n∑i,j=1
(fi√di− fj√
dj
)2
2 λ est une valeur propre de Lrw associee au vecteur propre u ssi elle estvaleur propre de Lsym associee au vecteur propre w = D1/2u.
3 λ est une valeur propre de Lrw associee au vecteur propre u ssi u estsolution du probleme generalise Lu = λDu.
4 0 est valeur propre de Lrw associee au vecteur propre 1n. 0 est valeurpropre de Lsym associee au vecteur propre D1/21n.
5 Lsym et Lrw sont semi-definis positifs et admettent des valeurs propresreelles positives : 0 = λ1 ≤ · · · ≤ λn.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 121 / 141
Classification spectrale
Laplacien de grapheLaplacien normalise, proprietes
1 Pour tout f ∈ Rn :
f tLsymf =1
2
n∑i,j=1
(fi√di− fj√
dj
)2
2 λ est une valeur propre de Lrw associee au vecteur propre u ssi elle estvaleur propre de Lsym associee au vecteur propre w = D1/2u.
3 λ est une valeur propre de Lrw associee au vecteur propre u ssi u estsolution du probleme generalise Lu = λDu.
4 0 est valeur propre de Lrw associee au vecteur propre 1n. 0 est valeurpropre de Lsym associee au vecteur propre D1/21n.
5 Lsym et Lrw sont semi-definis positifs et admettent des valeurs propresreelles positives : 0 = λ1 ≤ · · · ≤ λn.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 121 / 141
Classification spectrale
Laplacien de grapheLaplacien normalise, proprietes
1 Pour tout f ∈ Rn :
f tLsymf =1
2
n∑i,j=1
(fi√di− fj√
dj
)2
2 λ est une valeur propre de Lrw associee au vecteur propre u ssi elle estvaleur propre de Lsym associee au vecteur propre w = D1/2u.
3 λ est une valeur propre de Lrw associee au vecteur propre u ssi u estsolution du probleme generalise Lu = λDu.
4 0 est valeur propre de Lrw associee au vecteur propre 1n. 0 est valeurpropre de Lsym associee au vecteur propre D1/21n.
5 Lsym et Lrw sont semi-definis positifs et admettent des valeurs propresreelles positives : 0 = λ1 ≤ · · · ≤ λn.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 121 / 141
Classification spectrale
Laplacien de grapheLaplacien normalise, proprietes
1 Pour tout f ∈ Rn :
f tLsymf =1
2
n∑i,j=1
(fi√di− fj√
dj
)2
2 λ est une valeur propre de Lrw associee au vecteur propre u ssi elle estvaleur propre de Lsym associee au vecteur propre w = D1/2u.
3 λ est une valeur propre de Lrw associee au vecteur propre u ssi u estsolution du probleme generalise Lu = λDu.
4 0 est valeur propre de Lrw associee au vecteur propre 1n. 0 est valeurpropre de Lsym associee au vecteur propre D1/21n.
5 Lsym et Lrw sont semi-definis positifs et admettent des valeurs propresreelles positives : 0 = λ1 ≤ · · · ≤ λn.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 121 / 141
Classification spectrale
Laplacien de grapheLaplacien normalise, proprietes
1 Pour tout f ∈ Rn :
f tLsymf =1
2
n∑i,j=1
(fi√di− fj√
dj
)2
2 λ est une valeur propre de Lrw associee au vecteur propre u ssi elle estvaleur propre de Lsym associee au vecteur propre w = D1/2u.
3 λ est une valeur propre de Lrw associee au vecteur propre u ssi u estsolution du probleme generalise Lu = λDu.
4 0 est valeur propre de Lrw associee au vecteur propre 1n. 0 est valeurpropre de Lsym associee au vecteur propre D1/21n.
5 Lsym et Lrw sont semi-definis positifs et admettent des valeurs propresreelles positives : 0 = λ1 ≤ · · · ≤ λn.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 121 / 141
Classification spectrale
Laplaciens normalises et compostantes connexes
Memes proprietes que pour le cas non-normalise
Attention : pour Lrw l’espace propre est engendre par 1Ai(constant par
morceau) MAIS pour Lsym l’espace propre est engendre par D1/21Ai (pasconstant par morceau).
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 122 / 141
Classification spectrale
Laplaciens normalises et compostantes connexes
Memes proprietes que pour le cas non-normalise
Attention : pour Lrw l’espace propre est engendre par 1Ai(constant par
morceau) MAIS pour Lsym l’espace propre est engendre par D1/21Ai (pasconstant par morceau).
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 122 / 141
Classification spectrale
Variantes de classification spectraleLaplacien non-normalise
Entree : Matrice de similarite S ∈ Rn×n, nombre k de classes souhaitees.
1 Construire le graphe de similarite (e.g. k−ppv) et en deduire la matrice d’adjacenceponderee W .
2 Calculer le Laplacian non-normalise L.
3 Calculer les k premiers vecteurs propres u1, ..., uk de L.
4 Soit U ∈ Rn×k la matrice contenant les vecteurs propres u1, ..., uk comme colonnes.
5 Pour i = 1, · · · , n, soit yi ∈ Rk le vecteur correspondant a la i-eme ligne de U .
6 Associer chaque point yi ∈ Rk, i = 1, · · · , n a une classe Cj , j = 1, · · · , k avec unalgorithme de classification classique (e.g. k-means)
Sortie : Classes A1, · · · , Ak avec Ai = {j, yj ∈ Ci}.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 123 / 141
Classification spectrale
Variantes de classification spectraleLaplacien normalise, algorithme de Shi et Malik (2000)
Entree : Matrice de similarite S ∈ Rn×n, nombre k de classes souhaitees.
1 Construire le graphe de similarite (e.g. k−ppv) et en deduire la matrice d’adjacenceponderee W .
2 Calculer le Laplacian non-normalise L.
3 Calculer les k premiers vecteurs propres generalises u1, ..., uk solutions duprobleme Lu = λDu.
4 Soit U ∈ Rn×k la matrice contenant les vecteurs propres u1, ..., uk comme colonnes.
5 Pour i = 1, · · · , n, soit yi ∈ Rk le vecteur correspondant a la i-eme ligne de U .
6 Associer chaque point yi ∈ Rk, i = 1, · · · , n a une classe Cj , j = 1, · · · , k avec unalgorithme de classification classique (e.g. k-means)
Sortie : Classes A1, · · · , Ak avec Ai = {j, yj ∈ Ci}.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 124 / 141
Classification spectrale
Variantes de classification spectraleLaplacien normalise, algorithme de Ng, Jordan, and Weiss (2002))
Entree : Matrice de similarite S ∈ Rn×n, nombre k de classes souhaitees.
1 Construire le graphe de similarite (e.g. k−ppv) et en deduire la matrice d’adjacenceponderee W .
2 Calculer le Laplacian non-normalise Lsim.
3 Calculer les k premiers vecteurs propres u1, ..., uk de Lsim.
4 Soit U ∈ Rn×k la matrice contenant les vecteurs propres u1, ..., uk comme colonnes.
5 Construire la matrice T ∈ Rn×k a partir de U en normalisant les lignes a 1,i.e tij =
uij
(∑
k u2ik
)1/2
6 Pour i = 1, · · · , n, soit yi ∈ Rk le vecteur correspondant a la i-eme ligne de U .
7 Associer chaque point yi ∈ Rk, i = 1, · · · , n a une classe Cj , j = 1, · · · , k avec unalgorithme de classification classique (e.g. k-means)
Sortie : Classes A1, · · · , Ak avec Ai = {j, yj ∈ Ci}.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 125 / 141
Classification spectrale
Exemple de code : matlab
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 126 / 141
Classification spectrale
Exemple (3)
Au tableau
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 127 / 141
Classification spectrale
Yet another example
From Luxburg slides
Donnees dans R2
Similarite : s(xi,xj) = exp(−||xi − xj ||2/σ2), avec σ2 = 0.5
Graphe complet
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 128 / 141
Classification spectrale
Yet another example
From Luxburg slides
Donnees dans R2
Similarite : s(xi,xj) = exp(−||xi − xj ||2/σ2), avec σ2 = 0.5
Graphe complet
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 128 / 141
Classification spectrale
Yet another example
From Luxburg slides
Donnees dans R2
Similarite : s(xi,xj) = exp(−||xi − xj ||2/σ2), avec σ2 = 0.5
Graphe complet
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 128 / 141
Classification spectrale
Yet another example
From Luxburg slides
Donnees dans R2
Similarite : s(xi,xj) = exp(−||xi − xj ||2/σ2), avec σ2 = 0.5
Graphe complet
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 128 / 141
Classification spectrale
Yet another example
From Luxburg slides
Donnees dans R2
Similarite : s(xi,xj) = exp(−||xi − xj ||2/σ2), avec σ2 = 0.5
Graphe complet
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 128 / 141
Classification spectrale
Yet another example (2)Calcul des 5 premiers vecteurs propres
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 129 / 141
Classification spectrale
Yet another example (3)
Chaque vecteur propre est interprete comme une fonction : xj 7→ f(j) jeme
coordonnee du vecteur propre :
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 130 / 141
Classification spectrale
Yet another example (4)
Plongement spectral :
Classification k-moyennes du plongement (k = 2, 3, 4, 5)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 131 / 141
Classification spectrale
Yet another example (4)
Plongement spectral :
Classification k-moyennes du plongement (k = 2, 3, 4, 5)
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 131 / 141
Classification spectrale
Yet another example (2)Visualisation des valeurs propres et choix de k
Exemple de critere : |λi − λj |
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 132 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
MinCut
Soit G = (V, E) un graphe, son partitionnement en k sous-graphes A1, · · · , Akappele coupe minimale :
min cut(A1, · · · , Ak) :=1
2
∑i
W (Ai, Ai), avec W (A,B) :=∑
i∈A,j∈Bwij
La similarite des aretes du meme groupe est elevee
La similarite des aretes de groupes differents est faible
MinCut - illustration
=⇒ modification du probleme MinCut
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 133 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
MinCut
Soit G = (V, E) un graphe, son partitionnement en k sous-graphes A1, · · · , Akappele coupe minimale :
min cut(A1, · · · , Ak) :=1
2
∑i
W (Ai, Ai), avec W (A,B) :=∑
i∈A,j∈Bwij
La similarite des aretes du meme groupe est elevee
La similarite des aretes de groupes differents est faible
MinCut - illustration
=⇒ modification du probleme MinCut
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 133 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
MinCut
Soit G = (V, E) un graphe, son partitionnement en k sous-graphes A1, · · · , Akappele coupe minimale :
min cut(A1, · · · , Ak) :=1
2
∑i
W (Ai, Ai), avec W (A,B) :=∑
i∈A,j∈Bwij
La similarite des aretes du meme groupe est elevee
La similarite des aretes de groupes differents est faible
MinCut - illustration
=⇒ modification du probleme MinCut
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 133 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
MinCut
Soit G = (V, E) un graphe, son partitionnement en k sous-graphes A1, · · · , Akappele coupe minimale :
min cut(A1, · · · , Ak) :=1
2
∑i
W (Ai, Ai), avec W (A,B) :=∑
i∈A,j∈Bwij
La similarite des aretes du meme groupe est elevee
La similarite des aretes de groupes differents est faible
MinCut - illustration
=⇒ modification du probleme MinCut
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 133 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
MinCut
Soit G = (V, E) un graphe, son partitionnement en k sous-graphes A1, · · · , Akappele coupe minimale :
min cut(A1, · · · , Ak) :=1
2
∑i
W (Ai, Ai), avec W (A,B) :=∑
i∈A,j∈Bwij
La similarite des aretes du meme groupe est elevee
La similarite des aretes de groupes differents est faible
MinCut - illustration
=⇒ modification du probleme MinCut
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 133 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
MinCut modifie
RatioCut (Hagen & Kahng 1992) :
RatioCut(A1, · · · , Ak) :=1
2
∑i
W (A,A)
|Ai|
=⇒ RatioCut(A,B) := cut(A,B)( 1|A| + 1
|B| )
Normalized cut (Shi & Malik 2000) :
NCut(A1, · · · , Ak) :=1
2
∑i
W (A,A)
vol(Ai)
=⇒ NCut(A,B) := cut(A,B)( 1volA)
+ 1volB)
)
RatioCut et Ncut sont des problemes NP-difficiles.La classification spectrale est une relaxation des problemes RatioCut et Ncut.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 134 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
MinCut modifie
RatioCut (Hagen & Kahng 1992) :
RatioCut(A1, · · · , Ak) :=1
2
∑i
W (A,A)
|Ai|
=⇒ RatioCut(A,B) := cut(A,B)( 1|A| + 1
|B| )
Normalized cut (Shi & Malik 2000) :
NCut(A1, · · · , Ak) :=1
2
∑i
W (A,A)
vol(Ai)
=⇒ NCut(A,B) := cut(A,B)( 1volA)
+ 1volB)
)
RatioCut et Ncut sont des problemes NP-difficiles.La classification spectrale est une relaxation des problemes RatioCut et Ncut.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 134 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
MinCut modifie
RatioCut (Hagen & Kahng 1992) :
RatioCut(A1, · · · , Ak) :=1
2
∑i
W (A,A)
|Ai|
=⇒ RatioCut(A,B) := cut(A,B)( 1|A| + 1
|B| )
Normalized cut (Shi & Malik 2000) :
NCut(A1, · · · , Ak) :=1
2
∑i
W (A,A)
vol(Ai)
=⇒ NCut(A,B) := cut(A,B)( 1volA)
+ 1volB)
)
RatioCut et Ncut sont des problemes NP-difficiles.La classification spectrale est une relaxation des problemes RatioCut et Ncut.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 134 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
MinCut modifie
RatioCut (Hagen & Kahng 1992) :
RatioCut(A1, · · · , Ak) :=1
2
∑i
W (A,A)
|Ai|
=⇒ RatioCut(A,B) := cut(A,B)( 1|A| + 1
|B| )
Normalized cut (Shi & Malik 2000) :
NCut(A1, · · · , Ak) :=1
2
∑i
W (A,A)
vol(Ai)
=⇒ NCut(A,B) := cut(A,B)( 1volA)
+ 1volB)
)
RatioCut et Ncut sont des problemes NP-difficiles.La classification spectrale est une relaxation des problemes RatioCut et Ncut.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 134 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
MinCut modifie
RatioCut (Hagen & Kahng 1992) :
RatioCut(A1, · · · , Ak) :=1
2
∑i
W (A,A)
|Ai|
=⇒ RatioCut(A,B) := cut(A,B)( 1|A| + 1
|B| )
Normalized cut (Shi & Malik 2000) :
NCut(A1, · · · , Ak) :=1
2
∑i
W (A,A)
vol(Ai)
=⇒ NCut(A,B) := cut(A,B)( 1volA)
+ 1volB)
)
RatioCut et Ncut sont des problemes NP-difficiles.La classification spectrale est une relaxation des problemes RatioCut et Ncut.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 134 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
MinCut modifie
RatioCut (Hagen & Kahng 1992) :
RatioCut(A1, · · · , Ak) :=1
2
∑i
W (A,A)
|Ai|
=⇒ RatioCut(A,B) := cut(A,B)( 1|A| + 1
|B| )
Normalized cut (Shi & Malik 2000) :
NCut(A1, · · · , Ak) :=1
2
∑i
W (A,A)
vol(Ai)
=⇒ NCut(A,B) := cut(A,B)( 1volA)
+ 1volB)
)
RatioCut et Ncut sont des problemes NP-difficiles.La classification spectrale est une relaxation des problemes RatioCut et Ncut.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 134 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
MinCut modifie
RatioCut (Hagen & Kahng 1992) :
RatioCut(A1, · · · , Ak) :=1
2
∑i
W (A,A)
|Ai|
=⇒ RatioCut(A,B) := cut(A,B)( 1|A| + 1
|B| )
Normalized cut (Shi & Malik 2000) :
NCut(A1, · · · , Ak) :=1
2
∑i
W (A,A)
vol(Ai)
=⇒ NCut(A,B) := cut(A,B)( 1volA)
+ 1volB)
)
RatioCut et Ncut sont des problemes NP-difficiles.La classification spectrale est une relaxation des problemes RatioCut et Ncut.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 134 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
Relaxation d’un probleme MinCut simplifie :
minA,B
cut(A,B), t.q. |A| = |B|
Pour f = (f1, · · · , fn)t avec fi =
{1 si xi ∈ A−1 si xi ∈ B
cut(A,B) = 14
∑i∈A,j∈B wij(fi − fj)
2 = 14 f tLf
|A| = |B| =⇒∑i fi = 0 =⇒ f t1n = 0 =⇒ f⊥1n
||f || =√n ∼ cst
minf
f tLf t.q. f⊥1n, fi ± 1, ||f || =√n
Relaxation : fi ∈ R=⇒ Solution : f est le second vecteur propre de Lxi ∈ A ⇐⇒ fi ≥ 0,xi ∈ B sinon
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 135 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
Relaxation d’un probleme MinCut simplifie :
minA,B
cut(A,B), t.q. |A| = |B|
Pour f = (f1, · · · , fn)t avec fi =
{1 si xi ∈ A−1 si xi ∈ B
cut(A,B) = 14
∑i∈A,j∈B wij(fi − fj)
2 = 14 f tLf
|A| = |B| =⇒∑i fi = 0 =⇒ f t1n = 0 =⇒ f⊥1n
||f || =√n ∼ cst
minf
f tLf t.q. f⊥1n, fi ± 1, ||f || =√n
Relaxation : fi ∈ R=⇒ Solution : f est le second vecteur propre de Lxi ∈ A ⇐⇒ fi ≥ 0,xi ∈ B sinon
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 135 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
Relaxation d’un probleme MinCut simplifie :
minA,B
cut(A,B), t.q. |A| = |B|
Pour f = (f1, · · · , fn)t avec fi =
{1 si xi ∈ A−1 si xi ∈ B
cut(A,B) = 14
∑i∈A,j∈B wij(fi − fj)
2 = 14 f tLf
|A| = |B| =⇒∑i fi = 0 =⇒ f t1n = 0 =⇒ f⊥1n
||f || =√n ∼ cst
minf
f tLf t.q. f⊥1n, fi ± 1, ||f || =√n
Relaxation : fi ∈ R=⇒ Solution : f est le second vecteur propre de Lxi ∈ A ⇐⇒ fi ≥ 0,xi ∈ B sinon
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 135 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
Relaxation d’un probleme MinCut simplifie :
minA,B
cut(A,B), t.q. |A| = |B|
Pour f = (f1, · · · , fn)t avec fi =
{1 si xi ∈ A−1 si xi ∈ B
cut(A,B) = 14
∑i∈A,j∈B wij(fi − fj)
2 = 14 f tLf
|A| = |B| =⇒∑i fi = 0 =⇒ f t1n = 0 =⇒ f⊥1n
||f || =√n ∼ cst
minf
f tLf t.q. f⊥1n, fi ± 1, ||f || =√n
Relaxation : fi ∈ R=⇒ Solution : f est le second vecteur propre de Lxi ∈ A ⇐⇒ fi ≥ 0,xi ∈ B sinon
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 135 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
Relaxation d’un probleme MinCut simplifie :
minA,B
cut(A,B), t.q. |A| = |B|
Pour f = (f1, · · · , fn)t avec fi =
{1 si xi ∈ A−1 si xi ∈ B
cut(A,B) = 14
∑i∈A,j∈B wij(fi − fj)
2 = 14 f tLf
|A| = |B| =⇒∑i fi = 0 =⇒ f t1n = 0 =⇒ f⊥1n
||f || =√n ∼ cst
minf
f tLf t.q. f⊥1n, fi ± 1, ||f || =√n
Relaxation : fi ∈ R=⇒ Solution : f est le second vecteur propre de Lxi ∈ A ⇐⇒ fi ≥ 0,xi ∈ B sinon
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 135 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
Relaxation d’un probleme MinCut simplifie :
minA,B
cut(A,B), t.q. |A| = |B|
Pour f = (f1, · · · , fn)t avec fi =
{1 si xi ∈ A−1 si xi ∈ B
cut(A,B) = 14
∑i∈A,j∈B wij(fi − fj)
2 = 14 f tLf
|A| = |B| =⇒∑i fi = 0 =⇒ f t1n = 0 =⇒ f⊥1n
||f || =√n ∼ cst
minf
f tLf t.q. f⊥1n, fi ± 1, ||f || =√n
Relaxation : fi ∈ R=⇒ Solution : f est le second vecteur propre de Lxi ∈ A ⇐⇒ fi ≥ 0,xi ∈ B sinon
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 135 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
Relaxation d’un probleme MinCut simplifie :
minA,B
cut(A,B), t.q. |A| = |B|
Pour f = (f1, · · · , fn)t avec fi =
{1 si xi ∈ A−1 si xi ∈ B
cut(A,B) = 14
∑i∈A,j∈B wij(fi − fj)
2 = 14 f tLf
|A| = |B| =⇒∑i fi = 0 =⇒ f t1n = 0 =⇒ f⊥1n
||f || =√n ∼ cst
minf
f tLf t.q. f⊥1n, fi ± 1, ||f || =√n
Relaxation : fi ∈ R=⇒ Solution : f est le second vecteur propre de Lxi ∈ A ⇐⇒ fi ≥ 0,xi ∈ B sinon
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 135 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
Relaxation d’un probleme MinCut simplifie :
minA,B
cut(A,B), t.q. |A| = |B|
Pour f = (f1, · · · , fn)t avec fi =
{1 si xi ∈ A−1 si xi ∈ B
cut(A,B) = 14
∑i∈A,j∈B wij(fi − fj)
2 = 14 f tLf
|A| = |B| =⇒∑i fi = 0 =⇒ f t1n = 0 =⇒ f⊥1n
||f || =√n ∼ cst
minf
f tLf t.q. f⊥1n, fi ± 1, ||f || =√n
Relaxation : fi ∈ R=⇒ Solution : f est le second vecteur propre de Lxi ∈ A ⇐⇒ fi ≥ 0,xi ∈ B sinon
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 135 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
Relaxation du RatioCut ; vecteurs propres de L ; classificationspectrale non-normalisee
Relaxation du Ncut ; vecteurs propres de Lrw ; classification spectralenormalisee
Cas k > 2 :minV
TrV tLV
avec V est une matrice n× k orthonormale.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 136 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
Relaxation du RatioCut ; vecteurs propres de L ; classificationspectrale non-normalisee
Relaxation du Ncut ; vecteurs propres de Lrw ; classification spectralenormalisee
Cas k > 2 :minV
TrV tLV
avec V est une matrice n× k orthonormale.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 136 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue coupure de graphe
Relaxation du RatioCut ; vecteurs propres de L ; classificationspectrale non-normalisee
Relaxation du Ncut ; vecteurs propres de Lrw ; classification spectralenormalisee
Cas k > 2 :minV
TrV tLV
avec V est une matrice n× k orthonormale.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 136 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue marches aleatoires
Matrice de transition P = D−1W
Lrw = I − P
Ncut (Meila/Shi 2001)
Definir P (A|B) comme la probabilite de ’sauter’ du cluster B au clusterA si la marche aleatoire demarche par une distribution stationnaire.
=⇒ Ncut(A,B) = P (A|B) + P (B|A)
; Interpretation : la classification spectrale essaye de construire des groupestelle que la marche aleatoire reste le plus longtemps possible dans lememe groupe.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 137 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue marches aleatoires
Matrice de transition P = D−1W
Lrw = I − P
Ncut (Meila/Shi 2001)
Definir P (A|B) comme la probabilite de ’sauter’ du cluster B au clusterA si la marche aleatoire demarche par une distribution stationnaire.
=⇒ Ncut(A,B) = P (A|B) + P (B|A)
; Interpretation : la classification spectrale essaye de construire des groupestelle que la marche aleatoire reste le plus longtemps possible dans lememe groupe.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 137 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue marches aleatoires
Matrice de transition P = D−1W
Lrw = I − P
Ncut (Meila/Shi 2001)
Definir P (A|B) comme la probabilite de ’sauter’ du cluster B au clusterA si la marche aleatoire demarche par une distribution stationnaire.
=⇒ Ncut(A,B) = P (A|B) + P (B|A)
; Interpretation : la classification spectrale essaye de construire des groupestelle que la marche aleatoire reste le plus longtemps possible dans lememe groupe.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 137 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue marches aleatoires
Matrice de transition P = D−1W
Lrw = I − P
Ncut (Meila/Shi 2001)
Definir P (A|B) comme la probabilite de ’sauter’ du cluster B au clusterA si la marche aleatoire demarche par une distribution stationnaire.
=⇒ Ncut(A,B) = P (A|B) + P (B|A)
; Interpretation : la classification spectrale essaye de construire des groupestelle que la marche aleatoire reste le plus longtemps possible dans lememe groupe.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 137 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue marches aleatoires
Matrice de transition P = D−1W
Lrw = I − P
Ncut (Meila/Shi 2001)
Definir P (A|B) comme la probabilite de ’sauter’ du cluster B au clusterA si la marche aleatoire demarche par une distribution stationnaire.
=⇒ Ncut(A,B) = P (A|B) + P (B|A)
; Interpretation : la classification spectrale essaye de construire des groupestelle que la marche aleatoire reste le plus longtemps possible dans lememe groupe.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 137 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue marches aleatoires
Matrice de transition P = D−1W
Lrw = I − P
Ncut (Meila/Shi 2001)
Definir P (A|B) comme la probabilite de ’sauter’ du cluster B au clusterA si la marche aleatoire demarche par une distribution stationnaire.
=⇒ Ncut(A,B) = P (A|B) + P (B|A)
; Interpretation : la classification spectrale essaye de construire des groupestelle que la marche aleatoire reste le plus longtemps possible dans lememe groupe.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 137 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue marches aleatoires
Distane commute : c(xi,xj) definie comme le temps espere (moyen) necessairea une marche aleatoire d’atteindre le point xj en partant de xi et inversement.
cij = (ei − ej)L†(ei − ej), ou L† est la pseudo-inverse du Laplaciennon-normalise.
Plongement commute-time
Decomposition : L† = V tΛ†V
Definir zi comme les lignes de (L†)12V
Alors ||zi − zj ||2 = cij
Plongement spectral ≈ Plongement commute =⇒ classification spectrale estfondee sur une distance commute.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 138 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue marches aleatoires
Distane commute : c(xi,xj) definie comme le temps espere (moyen) necessairea une marche aleatoire d’atteindre le point xj en partant de xi et inversement.
cij = (ei − ej)L†(ei − ej), ou L† est la pseudo-inverse du Laplaciennon-normalise.
Plongement commute-time
Decomposition : L† = V tΛ†V
Definir zi comme les lignes de (L†)12V
Alors ||zi − zj ||2 = cij
Plongement spectral ≈ Plongement commute =⇒ classification spectrale estfondee sur une distance commute.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 138 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue marches aleatoires
Distane commute : c(xi,xj) definie comme le temps espere (moyen) necessairea une marche aleatoire d’atteindre le point xj en partant de xi et inversement.
cij = (ei − ej)L†(ei − ej), ou L† est la pseudo-inverse du Laplaciennon-normalise.
Plongement commute-time
Decomposition : L† = V tΛ†V
Definir zi comme les lignes de (L†)12V
Alors ||zi − zj ||2 = cij
Plongement spectral ≈ Plongement commute =⇒ classification spectrale estfondee sur une distance commute.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 138 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue marches aleatoires
Distane commute : c(xi,xj) definie comme le temps espere (moyen) necessairea une marche aleatoire d’atteindre le point xj en partant de xi et inversement.
cij = (ei − ej)L†(ei − ej), ou L† est la pseudo-inverse du Laplaciennon-normalise.
Plongement commute-time
Decomposition : L† = V tΛ†V
Definir zi comme les lignes de (L†)12V
Alors ||zi − zj ||2 = cij
Plongement spectral ≈ Plongement commute =⇒ classification spectrale estfondee sur une distance commute.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 138 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue marches aleatoires
Distane commute : c(xi,xj) definie comme le temps espere (moyen) necessairea une marche aleatoire d’atteindre le point xj en partant de xi et inversement.
cij = (ei − ej)L†(ei − ej), ou L† est la pseudo-inverse du Laplaciennon-normalise.
Plongement commute-time
Decomposition : L† = V tΛ†V
Definir zi comme les lignes de (L†)12V
Alors ||zi − zj ||2 = cij
Plongement spectral ≈ Plongement commute =⇒ classification spectrale estfondee sur une distance commute.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 138 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue marches aleatoires
Distane commute : c(xi,xj) definie comme le temps espere (moyen) necessairea une marche aleatoire d’atteindre le point xj en partant de xi et inversement.
cij = (ei − ej)L†(ei − ej), ou L† est la pseudo-inverse du Laplaciennon-normalise.
Plongement commute-time
Decomposition : L† = V tΛ†V
Definir zi comme les lignes de (L†)12V
Alors ||zi − zj ||2 = cij
Plongement spectral ≈ Plongement commute =⇒ classification spectrale estfondee sur une distance commute.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 138 / 141
Classification spectrale
Pourquoi ca marche ?Point de vue marches aleatoires
Distane commute : c(xi,xj) definie comme le temps espere (moyen) necessairea une marche aleatoire d’atteindre le point xj en partant de xi et inversement.
cij = (ei − ej)L†(ei − ej), ou L† est la pseudo-inverse du Laplaciennon-normalise.
Plongement commute-time
Decomposition : L† = V tΛ†V
Definir zi comme les lignes de (L†)12V
Alors ||zi − zj ||2 = cij
Plongement spectral ≈ Plongement commute =⇒ classification spectrale estfondee sur une distance commute.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 138 / 141
Classification spectrale
Details pratiques
Quel graphe choisir
Graphe k-ppv : Choix a privilegier
parcimonieux, permet une representation a differentes echelles
Graphe de ε-voisinage
Seulement si les similarites sont dans la meme echelle
Graphe complet
Seulement si les similarites sont dans la meme echelleInconvenient : dense, non parcimonieux
Choix du parametre k ∼ log(n)
Graphe parcimonieux
Graphe connecte
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 139 / 141
Classification spectrale
Details pratiques
Quel graphe choisir
Graphe k-ppv : Choix a privilegier
parcimonieux, permet une representation a differentes echelles
Graphe de ε-voisinage
Seulement si les similarites sont dans la meme echelle
Graphe complet
Seulement si les similarites sont dans la meme echelleInconvenient : dense, non parcimonieux
Choix du parametre k ∼ log(n)
Graphe parcimonieux
Graphe connecte
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 139 / 141
Classification spectrale
Details pratiques
Quel graphe choisir
Graphe k-ppv : Choix a privilegier
parcimonieux, permet une representation a differentes echelles
Graphe de ε-voisinage
Seulement si les similarites sont dans la meme echelle
Graphe complet
Seulement si les similarites sont dans la meme echelleInconvenient : dense, non parcimonieux
Choix du parametre k ∼ log(n)
Graphe parcimonieux
Graphe connecte
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 139 / 141
Classification spectrale
Details pratiques
Quel graphe choisir
Graphe k-ppv : Choix a privilegier
parcimonieux, permet une representation a differentes echelles
Graphe de ε-voisinage
Seulement si les similarites sont dans la meme echelle
Graphe complet
Seulement si les similarites sont dans la meme echelleInconvenient : dense, non parcimonieux
Choix du parametre k ∼ log(n)
Graphe parcimonieux
Graphe connecte
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 139 / 141
Classification spectrale
Details pratiques
Quel graphe choisir
Graphe k-ppv : Choix a privilegier
parcimonieux, permet une representation a differentes echelles
Graphe de ε-voisinage
Seulement si les similarites sont dans la meme echelle
Graphe complet
Seulement si les similarites sont dans la meme echelleInconvenient : dense, non parcimonieux
Choix du parametre k ∼ log(n)
Graphe parcimonieux
Graphe connecte
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 139 / 141
Classification spectrale
Details pratiques
Quel graphe choisir
Graphe k-ppv : Choix a privilegier
parcimonieux, permet une representation a differentes echelles
Graphe de ε-voisinage
Seulement si les similarites sont dans la meme echelle
Graphe complet
Seulement si les similarites sont dans la meme echelleInconvenient : dense, non parcimonieux
Choix du parametre k ∼ log(n)
Graphe parcimonieux
Graphe connecte
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 139 / 141
Classification spectrale
Details pratiques
Quel graphe choisir
Graphe k-ppv : Choix a privilegier
parcimonieux, permet une representation a differentes echelles
Graphe de ε-voisinage
Seulement si les similarites sont dans la meme echelle
Graphe complet
Seulement si les similarites sont dans la meme echelleInconvenient : dense, non parcimonieux
Choix du parametre k ∼ log(n)
Graphe parcimonieux
Graphe connecte
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 139 / 141
Classification spectrale
Details pratiques
Quel graphe choisir
Graphe k-ppv : Choix a privilegier
parcimonieux, permet une representation a differentes echelles
Graphe de ε-voisinage
Seulement si les similarites sont dans la meme echelle
Graphe complet
Seulement si les similarites sont dans la meme echelleInconvenient : dense, non parcimonieux
Choix du parametre k ∼ log(n)
Graphe parcimonieux
Graphe connecte
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 139 / 141
Classification spectrale
Details pratiques
Quel graphe choisir
Graphe k-ppv : Choix a privilegier
parcimonieux, permet une representation a differentes echelles
Graphe de ε-voisinage
Seulement si les similarites sont dans la meme echelle
Graphe complet
Seulement si les similarites sont dans la meme echelleInconvenient : dense, non parcimonieux
Choix du parametre k ∼ log(n)
Graphe parcimonieux
Graphe connecte
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 139 / 141
Classification spectrale
Details pratiques
Quel graphe choisir
Graphe k-ppv : Choix a privilegier
parcimonieux, permet une representation a differentes echelles
Graphe de ε-voisinage
Seulement si les similarites sont dans la meme echelle
Graphe complet
Seulement si les similarites sont dans la meme echelleInconvenient : dense, non parcimonieux
Choix du parametre k ∼ log(n)
Graphe parcimonieux
Graphe connecte
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 139 / 141
Classification spectrale
Clustering : conclusion
Clustering : apprentissage non supervise.
Regroupement des donnees en classes (clusters) homogenes
Proprietes d’un bon clustering : identifier des classes tres homogenes(faible variance intra classe) et bien separees (forte variance inter-classe)
De nombreux criteres pour evaluer la qualite d’un clustering
Le nombre de clusters est un hyper-parametre qui depend de l’applicationmais peut etre determine sur la base des criteres
De nombreux algorithmes.
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 140 / 141
Classification spectrale
Methodes probabilisteshttp://videolectures.net/bootcamp07_quinonero_emal/
Methodes spectraleshttp://videolectures.net/bootcamp07_luxburg_clu/ (part 1, 2 and3)
Histoire des methodes de partitionnementhttp://videolectures.net/ecmlpkdd08_jain_dcyb/
Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 141 / 141