Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3....

Preview:

Citation preview

Machine Learning et Data MiningClustering, Groupement, Segmentation

Jamal Atifjamal.atif@dauphine.fr

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

Recommended