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

304
Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal Atif [email protected] Certificat Data Science Universit´ e Paris-Dauphine Jamal Atif (Universit´ e Paris-Dauphine) CDS-Dauphine 1 / 141

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

Page 1: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Machine Learning et Data MiningClustering, Groupement, Segmentation

Jamal [email protected]

Certificat Data Science

Universite Paris-Dauphine

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 1 / 141

Page 2: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 3: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 4: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 5: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 6: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 7: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Introduction

Clustering

Classe : notion ambig¸e

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 7 / 141

Page 8: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 9: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 10: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Introduction

Clustering : par partitionnement

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 10 / 141

Page 11: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Introduction

Clustering : hierarchique

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 11 / 141

Page 12: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 13: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 14: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 15: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 16: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 17: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 18: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 19: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 20: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 21: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 22: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 23: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 24: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 25: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 26: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 27: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 28: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 29: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 30: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 31: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Clustering par partitionnement : K-means

Illustration d’un clustering en 2 classes

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 31 / 141

Page 32: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Illustration

Exemple de donnees

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 32 / 141

Page 33: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Illustration

Initialisation

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 33 / 141

Page 34: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Illustration

Affectation de l’objet •

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 34 / 141

Page 35: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Illustration

Etape d’affectation

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 35 / 141

Page 36: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Illustration

Etape de representation (1/2)

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 36 / 141

Page 37: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Illustration

Etape de representation (2/2)

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 37 / 141

Page 38: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Illustration

Etape d’affectation

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 38 / 141

Page 39: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Illustration

Mise a jour des centres

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 39 / 141

Page 40: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Illustration

Etape de representation

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 40 / 141

Page 41: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Illustration

Etape d’affectation

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 41 / 141

Page 42: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Illustration

Mise a jour des centres

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 42 / 141

Page 43: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Illustration

Etape de representation

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 43 / 141

Page 44: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 45: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Clustering par partitionnement : K-means

Importance de l’initialisation des centres de gravite

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 45 / 141

Page 46: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Clustering par partitionnement : K-means

Importance de l’initialisation des centres de gravite

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 46 / 141

Page 47: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Clustering par partitionnement : K-means

Importance de l’initialisation des centres de gravite

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 47 / 141

Page 48: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Clustering par partitionnement : K-means

Importance de l’initialisation des centres de gravite

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 48 / 141

Page 49: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Clustering par partitionnement : K-means

Importance de l’initialisation des centres de gravite

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 49 / 141

Page 50: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 51: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 52: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 53: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Clustering par partitionnement : K-means

Limitations : clusters de taille differente

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 53 / 141

Page 54: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Clustering par partitionnement : K-means

Limitations : clusters de densite differente

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 54 / 141

Page 55: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : partitionnement

Clustering par partitionnement : K-means

Limitations : clusters de form non globular

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 55 / 141

Page 56: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 57: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 58: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 59: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 60: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 61: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 62: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 63: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 64: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 65: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 66: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 67: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 68: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 69: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 70: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 71: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 72: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 73: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 74: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : hierarchiques

Clustering hierarchique ascendant (CHA) : metrique

Exemple

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 66 / 141

Page 75: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 76: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : hierarchiques

Clustering hierarchique ascendant (CHA) : metrique

Saut minimal (Single linkage)

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 68 / 141

Page 77: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 78: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 79: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : hierarchiques

Clustering hierarchique ascendant (CHA) : metrique

Saut maximal (complete linkage)

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 71 / 141

Page 80: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : hierarchiques

Clustering hierarchique ascendant (CHA) : metrique

Saut moyen

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 72 / 141

Page 81: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Clustering : hierarchiques

Clustering hierarchique ascendant (CHA) : metrique

Saut moyen

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 73 / 141

Page 82: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 83: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 84: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 85: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 86: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 87: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 88: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 89: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 90: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 91: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 92: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 93: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 94: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 95: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 96: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 97: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 98: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 99: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 100: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 101: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 102: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 103: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 104: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 105: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 106: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 107: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 108: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 109: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 110: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 111: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 112: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 113: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 114: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 115: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 116: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 117: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 118: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 119: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 120: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 121: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 122: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 123: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 124: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 125: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 126: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 127: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 128: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 129: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 130: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 131: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 132: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 133: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 134: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 135: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 136: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 137: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 138: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 139: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 140: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 141: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 142: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 143: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 144: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 145: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 146: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 147: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 148: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 149: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 150: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 151: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 152: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 153: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 154: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 155: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 156: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 157: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 158: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 159: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 160: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 161: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 162: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 163: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 164: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 165: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 166: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 167: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 168: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 169: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 170: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 171: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 172: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 173: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 174: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Classification spectrale

Avant-gout

Figure: Source : Ng et al 2001Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 100 / 141

Page 175: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Classification spectrale

Un peu d’histoire

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 101 / 141

Page 176: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 177: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 178: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 179: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 180: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 181: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 182: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 183: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 184: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 185: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 186: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 187: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 188: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 189: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 190: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 191: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 192: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 193: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 194: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 195: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 196: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 197: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 198: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 199: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 200: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 201: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 202: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 203: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 204: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 205: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 206: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 207: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Classification spectrale

Graphe de similariteGraphe ε−voisinage, illustration

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 110 / 141

Page 208: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Classification spectrale

Graphe de similariteGraphe k−ppv, illustration

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 111 / 141

Page 209: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Classification spectrale

Graphe de similariteGraphe complet, illustration

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 112 / 141

Page 210: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 211: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 212: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 213: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 214: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 215: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 216: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 217: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 218: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 219: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 220: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 221: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 222: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 223: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 224: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 225: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 226: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 227: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 228: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 229: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 230: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 231: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 232: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 233: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 234: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 235: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 236: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 237: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 238: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 239: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 240: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 241: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 242: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 243: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 244: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 245: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Classification spectrale

Exemple de code : matlab

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 126 / 141

Page 246: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Classification spectrale

Exemple (3)

Au tableau

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 127 / 141

Page 247: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 248: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 249: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 250: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 251: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 252: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

Classification spectrale

Yet another example (2)Calcul des 5 premiers vecteurs propres

Jamal Atif (Universite Paris-Dauphine) CDS-Dauphine 129 / 141

Page 253: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 254: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 255: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 256: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 257: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 258: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 259: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 260: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 261: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 262: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 263: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 264: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 265: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 266: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 267: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 268: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 269: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 270: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 271: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 272: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 273: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 274: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 275: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 276: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 277: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 278: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 279: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 280: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 281: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 282: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 283: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 284: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 285: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 286: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 287: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 288: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 289: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 290: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 291: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 292: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 293: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 294: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 295: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 296: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 297: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 298: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 299: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 300: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 301: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 302: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 303: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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

Page 304: Machine Learning et Data Mining - Paris Dauphine Universityatif/lib/exe/fetch.php?... · 2017. 3. 16. · Machine Learning et Data Mining Clustering, Groupement, Segmentation Jamal

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