M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b...

24
Reconnaissance des formes et méthodes neuronales (RCP208) Classification automatique Michel Crucianu ([email protected]) http://cedric.cnam.fr/vertigo/Cours/ml/ Département Informatique Conservatoire National des Arts & Métiers, Paris, France 7 novembre 2019 Généralités 1 / 40 Plan du cours 2 Généralités 3 K-means Initialisation de K-means : K-means ++ 4 Méthode des k-medoids 5 Validité de la classification 6 Classification ascendante hiérarchique 7 Classification spectrale

Transcript of M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b...

Page 1: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Reconnaissance des formes et méthodesneuronales (RCP208)Classification automatique

Michel Crucianu([email protected])

http://cedric.cnam.fr/vertigo/Cours/ml/

Département InformatiqueConservatoire National des Arts & Métiers, Paris, France

7 novembre 2019

Généralités 1 / 40

Plan du cours

2 Généralités

3 K-meansInitialisation de K-means : K-means++

4 Méthode des k-medoids

5 Validité de la classification

6 Classification ascendante hiérarchique

7 Classification spectrale

Page 2: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Généralités 2 / 40

Objectifs et utilisations de la classification automatique

(cluster analysis, clustering)Objectif général : répartir un ensemble donné de N observations en groupes(catégories, classes, taxons, clusters) de façon à regrouper les observations similaireset à séparer les observations dissimilaires

Partitionnement des données, ouHiérarchie de groupes (→ plusieurs partitionnements disponibles)

Conditions :Aucune information n’est disponible concernant l’appartenance de certaines données àcertaines « classes »Le nombre de groupes recherchés peut être connu a priori ou non

Utilisations :Mettre en évidence une structure (simple) dans un ensemble de donnéesRésumer un grand ensemble de données par les représentants des groupes

Généralités 3 / 40

Typologie des méthodes de classification automatique

Choix méthode ⇐ connaissance des données et de la nature des groupes recherchésNature des données : numériques, catégorielles, mixtesReprésentation des données :

Représentation vectorielle → définir centres de gravité, densités, intervalles, différentesdistances ⇒ complexité en général O(N)

Simple : seules sont disponibles les distances entre observations ⇒ complexité ≥ O(N2)

Groupes mutuellement exclusifs ou non ?

A quel groupe appartiennent les données entourées ?

Nature des groupes :Nets : une observation appartient ou n’appartient pas à un groupeFlous : une observation peut appartenir à différents degrés à plusieurs groupes ⇒convergence souvent plus robuste de l’algorithme de classification

Groupes flous → nets : chaque observation affectée au groupe auquel elle appartient le plus

Page 3: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Généralités 4 / 40

Typologie des méthodes de classification automatique (2)

Critère de regroupement (définition des groupes) : en général n’est pas explicite !

Ensembles compacts éloignés entre eux :

.. .....

. .... .... ...

..... ..

.. .....

. .... .... ...

..... ..

.. .....

. .... .... ...

..... ..

Ensembles denses séparés par des régions moins denses :.. . .. . ..

..

. ..

... ... ..........

... .. .

..

.

..

.

.. ... .. . . .. .

Généralités 4 / 40

Typologie des méthodes de classification automatique (2)

Critère de regroupement (définition des groupes) : en général n’est pas explicite !

Ensembles compacts éloignés entre eux :

.. .....

. .... .... ...

..... ..

.. .....

. .... .... ...

..... ..

.. .....

. .... .... ...

..... ..

Ensembles denses séparés par des régions moins denses :.. . .. . ..

..

. ..

... ... ..........

... .. .

..

.

..

.

.. ... .. . . .. .

Page 4: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Généralités 4 / 40

Typologie des méthodes de classification automatique (2)

Critère de regroupement (définition des groupes) : en général n’est pas explicite !

Ensembles compacts éloignés entre eux :

.. .....

. .... .... ...

..... ..

.. .....

. .... .... ...

..... ..

.. .....

. .... .... ...

..... ..

Ensembles denses séparés par des régions moins denses :.. . .. . ..

..

. ..

... ... ..........

... .. .

..

.

..

.

.. ... .. . . .. .

K-means 4 / 40

Plan du cours

2 Généralités

3 K-meansInitialisation de K-means : K-means++

4 Méthode des k-medoids

5 Validité de la classification

6 Classification ascendante hiérarchique

7 Classification spectrale

Page 5: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

K-means 5 / 40

Centres mobiles : la méthode

Ensemble E de N données décrites par p variables à valeurs dans R

Objectif : répartir les N données en k groupes disjoints E1, . . . , Ek (inconnus a priori)en minimisant la somme des inerties intra-classe

ϕE(C) =k∑

j=1

xi∈Ej

d2(xi,mj) (1)

avecC = {mj, 1 ≤ j ≤ k} l’ensemble des centres des k groupesd la distance dans Rp qui définit la nature des dissimilarités

La somme des inerties intra-classe peut s’écrire aussi

ϕE(C) =∑

1≤l≤Nd2(xl,mC(l)) (2)

où C(l) est l’indice du groupe dont fait partie xl

K-means 6 / 40

Centres mobiles : illustration

(données issues de 7 lois normales bidimensionnelles, classification avec 7 centres)

Page 6: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

K-means 7 / 40

Centres mobiles : l’algorithme

Data : Ensemble E = {xi}1≤i≤N de N données de Rp

Result : k groupes (clusters) disjoints E1, . . . , Ek et ensemble C de leurs centres1 Initialisation aléatoire des centres mj, 1 ≤ j ≤ k;2 while centres non stabilisés do3 Affectation de chaque donnée au groupe du centre le plus proche ;4 Remplacement des anciens centres par les centres de gravité des groupes ;5 end

ϕE(C) diminue lors de chacune des deux étapes du processus itératif ; commeϕE(C) ≥ 0, le processus itératif doit converger

… mais la solution obtenue sera un minimum local, dépendant de l’initialisation,souvent beaucoup moins bon que le minimum global

K-means 8 / 40

Centres mobiles : convergence

ϕE(C) diminue de façon monotone non stricte à chaque étape de chaque itération :1 Affectation de chaque donnée au groupe du centre le plus proche : xi passe du

groupe de centre mp au groupe de centre mq si d2(xi,mp) > d2(xi,mq), donc

d2(xi,mp) +∑

l ̸=id2(xl,mC(l)) > d2(xi,mq) +

l ̸=id2(xl,mC(l))

2 Remplacement des anciens centres par les centres de gravité des groupes : si m̃j estl’ancien centre du groupe j et mj le nouveau, alors∑

xi∈Ej

d2(xi, m̃j) =∑

xi∈Ej

∥xi −mj + mj − m̃j∥2

=∑

xi∈Ej

∥xi −mj∥2 +∑

xi∈Ej

∥mj − m̃j∥2 + 2 (mj − m̃j)T ∑

xi∈Ej

(xi −mj)

︸ ︷︷ ︸=0

≥∑

xi∈Ej

∥xi −mj∥2=

xi∈Ej

d2(xi,mj)

Page 7: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

K-means 9 / 40

Centres mobiles : convergence (2)

Minimisation itérative d’une fonction de deux variables, différentiable :

2

3

4

1 Coût

Minimum localMinimum global

Contrairement au cas illustré ci-dessus, ϕE(C) n’est pas différentiable (ni mêmecontinue) par rapport aux mj ⇐ un changement infinitésimal dans la position d’uncentre peut provoquer un changement d’affectation de données aux centres et doncun changement significatif de la valeur de ϕE(C)

K-means 10 / 40

Centres mobiles : illustration (2)

(résultats avec 3 initialisations différentes)

Page 8: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

K-means 11 / 40

K-means : l’algorithme

Souvent, on appelle K-means une variante non batch de la méthode des centresmobiles ; parfois, K-means est utilisé comme synonyme des centres mobiles…

Data : Ensemble E de N données de Rp

Result : k groupes (clusters) disjoints E1, . . . , Ek et ensemble C de leurs centres1 Initialisation aléatoire des centres mj, 1 ≤ j ≤ k;2 while centres non stabilisés do3 Choix aléatoire d’une des données ;4 Affectation de la donnée au groupe du centre le plus proche ;5 Recalcul des centres pour le groupe rejoint par la donnée et le groupe quitté par la

donnée ;6 end

Faire tourner K-means plusieurs fois, à partir d’initialisations aléatoires différentes,n’est pas la garantie d’arriver à une bonne solution !

K-means Initialisation de K-means : K-means++ 12 / 40

Initialisation K-means : K-means++

Une bonne initialisation de l’algorithme K-meanspermet d’obtenir une solution de meilleure qualité etune convergence plus rapide (avec moins d’itérations) vers cette solution

Parmi les nombreux algorithmes d’initialisation nous considérerons K-means++ [1]Idée : choisir les centres successivement, suivant une loi non uniforme qui privilégieles candidats éloignés des centres déjà sélectionnés

Data : Ensemble E de N données de Rp ; nombre souhaité de centres kResult : C = {cj, 1 ≤ j ≤ k}

1 C ← un x de E choisi au hasard ;2 while ∥C∥ ≤ k do3 Sélectionner x ∈ E avec la probabilité d2(x,C)

ϕE (C) ;4 C ← C ∪ {x};5 end

Notations : d2(x, C) = minj=1,...,t d2(x, cj), ϕE(C) =∑

x∈E d2(x, C)

Page 9: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

K-means Initialisation de K-means : K-means++ 13 / 40

K-means++ : évolution des probabilités

(probabilité de sélection proportionnelle à d2(x, C), représentée par la couleur rouge)

Après la sélection d’un point Après la sélection de 2 points

C =

{(−4, 68, 0

)}C =

{(−4, 6 2, 15

8, 0 −3, 45

)}

K-means Initialisation de K-means : K-means++ 14 / 40

K-means++ : évolution des probabilités (2)

(probabilité de sélection proportionnelle à d2(x, C), représentée par la couleur rouge)

Après la sélection de 3 points Après la sélection de 4 points

C =

{(−4, 6 2, 15 6, 32

8, 0 −3, 45 8, 22

)}C =

{(−4, 6 2, 15 6, 32 −8, 378, 0 −3, 45 8, 22 −4, 54

)}

Page 10: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

K-means Initialisation de K-means : K-means++ 15 / 40

K-means : intérêt et limitations

Intérêt (au-delà de la simplicité) :Paramètre unique : valeur souhaitée pour le nombre de groupesFaible complexité moyenne : O(tkN) (avec t le nombre d’itérations)

Limitations et solutions :Données vectorielles uniquement (pour calculer les moyennes)→ limitation levée dans des méthodes dérivées (ex. k-medoids)

Classes de forme sphérique (si la distance euclidienne usuelle est employée)→ on peut se servir de la distance de Mahalanobis (calculée par classe)

Dépendance des conditions initiales (car convergence vers minimum local)→ initialisation évoluée (par ex. K-means++)

Sensibilité aux données aberrantes→ fonctionnelle de coût robuste, estimation robuste des moyennes

Choix a priori difficile du nombre de classes→ régularisation, sélection de modèle

Méthode des k-medoids 15 / 40

Plan du cours

2 Généralités

3 K-meansInitialisation de K-means : K-means++

4 Méthode des k-medoids

5 Validité de la classification

6 Classification ascendante hiérarchique

7 Classification spectrale

Page 11: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Méthode des k-medoids 16 / 40

Méthode des k-medoids

Objectif : traiter des données non vectorielles, pour lesquelles seule une métrique dest connue, tout en conservant la simplicité des centres mobilesMedoid d’un groupe = individu le plus « central » du groupeLe seul changement par rapport à K-means est le remplacement des centres degravité par des medoidsA chaque itération :

1 Choix, pour chaque donnée, du medoid mC(l) le plus proche : C(l) = arg minj d(xl,mj)2 Constitution des groupes : Ej est constitué de tous les xl qui sont plus proches de mj

que de tout autre medoid3 Recherche des medoids de ces (nouveaux) groupes :

mj = arg minxl∈Ej∑

xp∈Ejd(xl,xp)

Une initialisation de même nature que K-means++ peut être employéeRobustesse apportée par l’utilisation de medoids plutôt que de centres de gravitéMais complexité O(N2) !

Validité de la classification 16 / 40

Plan du cours

2 Généralités

3 K-meansInitialisation de K-means : K-means++

4 Méthode des k-medoids

5 Validité de la classification

6 Classification ascendante hiérarchique

7 Classification spectrale

Page 12: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Validité de la classification 17 / 40

Choix du nombre de groupes k

1 Méthode du « coude » : graphique des valeurs minimales atteintes par ϕE(C) pour kcroissant, choix de valeur de k avant un palier

2 Mise de la méthode de classification dans un cadre probabiliste et choix d’un critèred’information comme AIC (Akaike), BIC (Bayes), etc.

3 Stabilité des résultats : une valeur de k est meilleure si les groupes obtenus sont plus« stables » à l’initialisation aléatoire (voir par ex. [2])

Validité de la classification 18 / 40

Comparaison de classifications

Deux méthodes différentes, ou deux initialisations différentes pour une mêmeméthode, produisent (approximativement) les mêmes groupes ?

Construction de classifications « consensuelles »Évaluation de la stabilité (informe sur l’adéquation de la méthode aux données etmême de la présence de structure dans les données)

Parmi les propositions (voir par ex. [5], [3]) :Indice de Rand ajusté : pour deux classifications C, C′,

n11 nombre de paires qui sont dans un même groupe suivant C et C′

n00 nombre de paires qui sont dans des groupes différents suivant C et C′

n10 nombre de paires dans un même groupe suivant C et groupes différents suivant C′

n01 nombre de paires dans un même groupe suivant C′ et groupes différents suivant C

R(C, C′) =2(n11 + n00)

N(N − 1), 0 ≤ R ≤ 1, Radj(C, C′) =

R− E(R)

max(R)− E(R)

Utilisation de l’indice de Jaccard : I(C, C′) = n11n11+n10+n01 (une classification est

définie comme l’ensemble des paires d’observations qui sont dans un même groupe,parmi toutes les paires possibles)Information mutuelle normalisée, etc.

Page 13: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Validité de la classification 19 / 40

Validité de la classification

L’algorithme converge vers un résultat quelles que soient les données, mais quelle estla validité de ce résultat ?Principales questions :

Y a-t-il réellement des regroupements « naturels » dans les données ?Validation externe : les groupes identifiés sont-ils en accord avec nos (éventuelles)connaissances a priori du problème ?→ Ces connaissances ne sont pas nécessairement directement exploitables dans une fonctionnelle

à minimiser.Validation interne : les groupes identifiés sont-ils bien « ajustés » aux données ?→ Nombreux indices proposés : statistique modifiée de Hubert (alignement entre distance et

partition), indice Davies-Bouldin (rapport des inerties), silhouette, etc.Validation relative : les résultats de la méthode A sont-ils meilleurs que les résultats dela méthode B ?→ Possibilités de sélection de modèle, utilisant les indices de validation interne, la stabilité (voir

par ex. [2]), etc.

Classification ascendante hiérarchique 19 / 40

Plan du cours

2 Généralités

3 K-meansInitialisation de K-means : K-means++

4 Méthode des k-medoids

5 Validité de la classification

6 Classification ascendante hiérarchique

7 Classification spectrale

Page 14: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Classification ascendante hiérarchique 20 / 40

Classification ascendante hiérarchique (CAH)

Objectif : obtenir une hiérarchie de groupes, structure plus riche qu’un simplepartitionnementPermet d’examiner l’ordre des agrégations de groupes, les rapports des similaritésentre groupes, etc.Classification ascendante : procède par agrégation des données et des groupes

Classification ascendante hiérarchique 21 / 40

CAH : indices d’agrégation

Sur la base de la distance entre données, dX : X × X → R+, différents indicesd’agrégation peuvent être utilisés pour mesurer la dissimilarité entre groupes :

δs(hp, hq) = minxi∈hp,xj∈hq

dX (xi, xj) δs(hp, hq) = maxxi∈hp,xj∈hq

dX (xi, xj)

lien minimum (single linkage) lien maximum (complete linkage)

Page 15: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Classification ascendante hiérarchique 22 / 40

CAH : indices d’agrégation (2)

δs(hp, hq) =1

∥hp∥ · ∥hq∥∑

xi∈hp,xj∈hq

dX (xi, xj) δs(hp, hq) =∥hp∥ · ∥hq∥∥hp∥+ ∥hq∥

d2X (mp,mq)

lien moyen (average linkage) indice de Ward (données vectorielles !)

Classification ascendante hiérarchique 23 / 40

CAH : algorithme, mise en œuvre

Data : Ensemble E de N données de X muni de la distance dX

Result : Hiérarchie de groupes (dendrogramme)1 Chaque donnée définit un groupe ;2 while nombre de groupes > 1 do3 Calcul indices d’agrégation entre tous les groupes issus de l’itération précédente ;4 Regroupement des 2 groupes ayant la plus petite valeur de l’indice d’agrégation ;5 end

Complexité algorithmique O(N2 log N) !N élevé : application de K-means avec k élevé (mais k≪ N), ensuite application dela CAH sur les groupes obtenus par K-means

Page 16: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Classification ascendante hiérarchique 24 / 40

CAH : effet des différents indices

Indice du lien minimum :Permet de s’approcher d’un critère de regroupement basé sur la densitéPeut facilement créer des arbres en escalier, déséquilibrés et peu exploitables :

12

3

4 5 6 7

8 9

10 11

1 2 3 4 5 6 7 8

Indice du lien maximum, indice de Ward : tiennent compte de la compacité desgroupes résultants, arbres plus équilibrés

Classification spectrale 24 / 40

Plan du cours

2 Généralités

3 K-meansInitialisation de K-means : K-means++

4 Méthode des k-medoids

5 Validité de la classification

6 Classification ascendante hiérarchique

7 Classification spectrale

Page 17: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Classification spectrale 25 / 40

Classification spectrale : le principe

Ensemble E = {xi, 1 ≤ i ≤ N} de N données décrites par une matrice de similaritésS telle que l’élément sij ≥ 0 soit la similarité entre xi et xj

Objectif : répartir les données en k groupes disjoints E1, . . . , Ek (inconnus a priori)tels que les similarités soient fortes intra-groupe et faibles entre les groupesApproche :

1 A partir de S construire un graphe de similarités2 A l’aide du graphe, construire une représentation vectorielle « convenable » (du point

de vue de la classification automatique) des données3 Appliquer un algorithme de classification de base (K-means) pour obtenir les k groupes

−1 0 1 2

−3

−2

−1

0

1

Data points

−1 0 1 2

−3

−2

−1

0

1

epsilon−graph, epsilon=0.3

−1 0 1 2

−3

−2

−1

0

1

kNN graph, k = 5

−1 0 1 2

−3

−2

−1

0

1

Mutual kNN graph, k = 5

Figure 3: Different similarity graphs, see text for details.

As a general recommendation we suggest to work with the k-nearest neighbor graph as the first choice. It is simpleto work with, results in a sparse adjacency matrix W , and in our experience is less vulnerable to unsuitable choicesof parameters than the other graphs.

The parameters of the similarity graphOnce one has decided for the type of the similarity graph, one has to choose its connectivity parameter k or ε,respectively. Unfortunately, barely any theoretical results are known to guide us in this task. In general, if thesimilarity graph contains more connected components than the number of clusters we ask the algorithm to detect,then spectral clustering will trivially return connected components as clusters. Unless one is perfectly sure thatthose connected components are the correct clusters, one should make sure that the similarity graph is connected,or only consists of “few” connected components and very few or no isolated vertices. There are many theoreticalresults on how connectivity of random graphs can be achieved, but all those results only hold in the limit forthe sample size n → ∞. For example, it is known that for n data points drawn i.i.d. from some underlyingdensity with a connected support in R

d, the k-nearest neighbor graph and the mutual k-nearest neighbor graphwill be connected if we choose k on the order of log(n) (e.g., Brito, Chavez, Quiroz, and Yukich, 1997). Similararguments show that the parameter ε in the ε-neighborhood graph has to be chosen as (log(n)/n)d to guaranteeconnectivity in the limit (Penrose, 1999). While being of theoretical interest, all those results do not really help usfor choosing k on a finite sample.

Now let us give some rules of thumb. When working with the k-nearest neighbor graph, then the connectivityparameter should be chosen such that the resulting graph is connected, or at least has significantly fewer connectedcomponents than clusters we want to detect. For small or medium-sized graphs this can be tried out ”by foot”. Forvery large graphs, a first approximation could be to choose k in the order of log(n), as suggested by the asymptoticconnectivity results.

For the mutual k-nearest neighbor graph, we have to admit that we are a bit lost for rules of thumb. The advantageof the mutual k-nearest neighbor graph compared to the standard k-nearest neighbor graph is that it tends notto connect areas of different density. While this can be good if there are clear clusters induced by separatehigh-density areas, this can hurt in less obvious situations as disconnected parts in the graph will always be chosen

18

−1 0 1 2

−3

−2

−1

0

1

Data points

−1 0 1 2

−3

−2

−1

0

1

epsilon−graph, epsilon=0.3

−1 0 1 2

−3

−2

−1

0

1

kNN graph, k = 5

−1 0 1 2

−3

−2

−1

0

1

Mutual kNN graph, k = 5

Figure 3: Different similarity graphs, see text for details.

As a general recommendation we suggest to work with the k-nearest neighbor graph as the first choice. It is simpleto work with, results in a sparse adjacency matrix W , and in our experience is less vulnerable to unsuitable choicesof parameters than the other graphs.

The parameters of the similarity graphOnce one has decided for the type of the similarity graph, one has to choose its connectivity parameter k or ε,respectively. Unfortunately, barely any theoretical results are known to guide us in this task. In general, if thesimilarity graph contains more connected components than the number of clusters we ask the algorithm to detect,then spectral clustering will trivially return connected components as clusters. Unless one is perfectly sure thatthose connected components are the correct clusters, one should make sure that the similarity graph is connected,or only consists of “few” connected components and very few or no isolated vertices. There are many theoreticalresults on how connectivity of random graphs can be achieved, but all those results only hold in the limit forthe sample size n → ∞. For example, it is known that for n data points drawn i.i.d. from some underlyingdensity with a connected support in R

d, the k-nearest neighbor graph and the mutual k-nearest neighbor graphwill be connected if we choose k on the order of log(n) (e.g., Brito, Chavez, Quiroz, and Yukich, 1997). Similararguments show that the parameter ε in the ε-neighborhood graph has to be chosen as (log(n)/n)d to guaranteeconnectivity in the limit (Penrose, 1999). While being of theoretical interest, all those results do not really help usfor choosing k on a finite sample.

Now let us give some rules of thumb. When working with the k-nearest neighbor graph, then the connectivityparameter should be chosen such that the resulting graph is connected, or at least has significantly fewer connectedcomponents than clusters we want to detect. For small or medium-sized graphs this can be tried out ”by foot”. Forvery large graphs, a first approximation could be to choose k in the order of log(n), as suggested by the asymptoticconnectivity results.

For the mutual k-nearest neighbor graph, we have to admit that we are a bit lost for rules of thumb. The advantageof the mutual k-nearest neighbor graph compared to the standard k-nearest neighbor graph is that it tends notto connect areas of different density. While this can be good if there are clear clusters induced by separatehigh-density areas, this can hurt in less obvious situations as disconnected parts in the graph will always be chosen

18

(figure issue de [4])

Classification spectrale 26 / 40

Graphes : quelques définitions

Graphe non orienté G = (V,E), V = {v1, . . . , vN} étant l’ensemble des N sommets etE l’ensemble des arêtesArêtes pondérées : soit wij ≥ 0 le poids de l’arête qui lie les sommets vi et vj

wij = 0 ⇔ absence d’arête entre vi et vjMatrice des poids : W d’élément générique wij

Degré du sommet vi : di =∑N

j=1 wij

Matrice diagonale des degrés : D avec {d1, . . . , dN} sur la diagonaleChaîne :

Un chemin (une chaîne) µ(vi, vj) entre les sommets vi et vj est une suite d’arêtes de Epermettant de relier les deux sommets

Vecteur indicateur d’un sous-ensemble C ⊂ V : vecteur c à N composantes binairestel que ci = 1 si le sommet vi ∈ C et ci = 0 sinonComposante connexe :

C ⊂ V forme une composante connexe si ∀vi, vj ∈ C il existe une chaîne µ(vi, vj) lesreliant et ∀vi ∈ C, ∀µ(vi, vp), vp ∈ C

Page 18: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Classification spectrale 27 / 40

Matrice laplacienne d’un graphe

Pour un graphe non orienté à arêtes pondérées, la matrice laplacienne (nonnormalisée) est L = D−WPropriétés :

∀x ∈ RN, xTLx = 12

∑Ni,j=1 wij(xi − xj)2

L est symétrique et semi-définie positive ⇒ L a N valeurs propres réelles0 = λ1 ≤ λ2 ≤ . . . ≤ λN (valeurs propres λ et vecteurs propres u : Lu = λu)La valeur propre la plus faible de L est 0, le vecteur propre correspondant étant levecteur constant 1 ; justification : di =

∑Nj=1 wij, donc di +

∑Nj=1(−wij) = 0

L et les composantes connexes de G :La multiplicité de la valeur propre 0 de L est égale au nombre de composantesconnexes de GLes vecteurs indicateurs de ces composantes connexes sont des vecteurs propres de Lpour la valeur propre 0

Matrices laplaciennes normalisées :Lrw = D−1L

(= IN − D−1W

)

Lsym = D−1/2LD−1/2(= IN − D−1/2WD−1/2

)

Classification spectrale 28 / 40

Classification spectrale : un algorithme

Data : Matrice de similarités S, N× N, nombre de groupes kResult : k groupes (clusters) disjoints E1, . . . , Ek

1 Construire le graphe de similarités G à partir de S (wij = sij) ;2 Calculer la matrice laplacienne L;3 Calculer les k vecteurs propres u1, . . . ,uk associés aux k plus petites valeurs propres

de Lu = λDu;4 Soit Uk la matrice N× k dont les colonnes sont les vecteurs u1, . . . ,uk;5 Soit yi ∈ Rk, 1 ≤ i ≤ N, les N lignes de la matrice Uk;6 Appliquer K-means aux N vecteurs yi pour obtenir les groupes C1, . . . , Ck;7 Pour 1 ≤ j ≤ k, Ej = {xi|yi ∈ Cj}.

Page 19: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Classification spectrale 29 / 40

Justification issue de la coupe d’un graphe

Graphe non orienté à arêtes pondérées G = (V,E) → le découper en ksous-ensembles disjoints V1, . . . ,Vk de sommetsCoupe minimum : minimiser

∑ks=1 ω(Vs,V− Vs), où ω(Vs,Vt) =

∑vi∈Vs,vj∈Vt

wij

→ souvent, la solution sépare le graphe en quelques sommets plus un grand sous-graphe…Coupe normalisée (normalized cut, Ncut) : minimiser

∑ks=1

ω(Vs,V−Vs)vol(Vs)

, oùvol(Vs) =

∑vi∈Vs

di

→ permet d’obtenir des sous-ensembles plus équilibrés→ mais problème NP-difficile !

Reformuler le problème en utilisant un vecteur indicateur pour chaque sous-ensemble etla « relaxation » continue du problème discret ⇒

1 Minimisation sous contraintes d’égalité2 Recherche des plus petites valeurs propres de Lu = λDu et des vecteurs propres associés (→

colonnes de Uk)3 Retour au discret en appliquant K-means aux lignes de Uk

Classification spectrale 30 / 40

Justification issue de la marche aléatoire sur un graphe

Marche aléatoire = succession de sauts aléatoires d’un sommet du graphe à un autresommet

→ Identifier des « composantes » du graphe telles qu’une marche aléatoire a peud’opportunités de passer d’une composante à une autreProbabilités de transition : la probabilité de passer du sommet i au sommet j estpij = wij/di

La matrice de transition est P = D−1W⇒ P = IN − Lrw⇒ λ est une valeur propre de Lrw avec le vecteur propre u si et seulement si 1− λ est une

valeur propre de P avec le même vecteur propre uOn peut montrer que trouver Vs ⊂ V pour minimiser la probabilité de passage de Vs àV − Vs et de V − Vs à Vs est équivalent au problème de la coupe normalisée

Page 20: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Classification spectrale 31 / 40

Deux exemples simples : données bidimensionnelles, 2 groupes

Exemple 1 :

0 0

1 0

2 0

2 3

0 3

Exemple 2 (D et E sont bien plus éloignées de A, B, C, voir l’échelle verticale) :

0 0

1 0

2 0

2 10

0 10

Classification spectrale 32 / 40

Deux exemples simples : matrices des similarités

Matrices des similarités obtenues à partir du noyau gaussien de variance 1 appliqué àla distance euclidienne (valeurs arrondies à 6 décimales)Exemple 1 : graphe complètement connecté

1.000000 0.367879 0.018316 0.000002 0.000123

0.367879 1.000000 0.367879 0.000045 0.000045

0.018316 0.367879 1.000000 0.000123 0.000002

0.000002 0.000045 0.000123 1.000000 0.018316

0.000123 0.000045 0.000002 0.018316 1.000000

Exemple 2 : 2 composantes connexes

1.000000 0.367879 0.018316 0.000000 0.000000

0.367879 1.000000 0.367879 0.000000 0.000000

0.018316 0.367879 1.000000 0.000000 0.000000

0.000000 0.000000 0.000000 1.000000 0.018316

0.000000 0.000000 0.000000 0.018316 1.000000

Page 21: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Classification spectrale 33 / 40

Deux exemples simples : matrices laplaciennes

Matrices laplaciennes normalisées Lrw (valeurs arrondies à 6 décimales)Exemple 1 :

1.000000 −0.952264 −0.047410 −0.000006 −0.000319−0.499938 1.000000 −0.499938 −0.000062 −0.000062−0.047410 −0.952264 1.000000 −0.000319 −0.000006−0.000122 −0.002456 −0.006676 1.000000 −0.990746−0.006676 −0.002456 −0.000122 −0.990746 1.000000

Exemple 2 :

1.000000 −0.952574 −0.047426 0.000000 0.000000

−0.500000 1.000000 −0.500000 0.000000 0.000000

−0.047426 −0.952574 1.000000 0.000000 0.000000

0.000000 0.000000 0.000000 1.000000 −1.0000000.000000 0.000000 0.000000 −1.000000 1.000000

Classification spectrale 34 / 40

Deux exemples simples : nouvelles représentations des données

Exemple 1 : graphe connecté, valeur propre 0.0 de Lrw de multiplicité 1Valeurs propres de Lrw en ordre croissant : 0.0, 0.0094, 1.0474, 1.9523, 1.9907

Matrice U2:

0.447214 −0.017287

0.447214 −0.017287

0.447214 −0.017287

0.447214 0.706789

0.447214 0.706789

Exemple 2 : 2 composantes connexes, valeur propre 0.0 de Lrw de multiplicité 2Valeurs propres de Lrw en ordre croissant : 0.0, 0.0, 1.0474, 1.9525, 2.0000

Matrice U2:

0.577350 0.000000

0.577350 0.000000

0.577350 0.000000

0.000000 0.707107

0.000000 0.707107

Page 22: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Classification spectrale 35 / 40

De distance à similarité

Comment définir une mesure de similarité adaptée aux données deE = {xi, 1 ≤ i ≤ N} ?

Une compréhension des données est très utile pour choisir une bonne mesure desimilaritéPossible de définir des mesures de similarité à partir de fonctions-noyaux (par ex. loinormale multidimensionnelle si les données sont vectorielles)Ce qui compte surtout c’est le comportement de la mesure de similarité pour desdonnées très similaires (les données très dissimilaires ne se retrouveront pas dans lemême groupe)

Souvent on dispose des distances entre les donnéesUtilisation de la loi normale pour définir les similarités : sij = exp

(− d(xi,xj)

2

2σ2

)

→ difficulté à choisir σ lorsque des groupes différents ont des « densités » très différentes,surtout vu que la loi normale est à décroissance rapide

→ σ ∼ arête la plus longue dans l’arbre couvrant minimal des données de E

Classification spectrale 36 / 40

Choix d’un type de graphe de similarités

Passage d’une matrice de similarités S à un graphe G :1 ϵ-voisinage : vi, vj ∈ V connectés si sij ≥ ϵ

Difficulté à choisir ϵ lorsque des groupes différents ont des « densités » très différentes(distances très différentes aux plus proches voisins dans le groupe)

2 k plus proches voisins (k-nearest neighbors, kNN, kppv) : vi, vj ∈ V connectés si vi faitpartie des kppv de vj ou vj fait partie des kppv de vi

Solution adaptée à la présence de groupes de « densités » différentes mais tendance à créerdes liens entre groupesRobustesse constatée au choix de la valeur du paramètre (k)

→ solution conseillée, du moins en première approche3 k plus proches voisins mutuels (mutual k-nearest neighbors) : vi, vj ∈ V connectés si vi

fait partie des kppv de vj et vj fait partie des kppv de viSolution adaptée à la présence de groupes de « densités » différentes, absence de liens entregroupes de densités différentes (grâce au « et »)

4 Graphe complet : tous les sommets sont connectésDépendance totale de la mesure de similarité pour partitionner

Plus le graphe est connecté, plus le coût des étapes ultérieures est élevé

Page 23: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Classification spectrale 37 / 40

Choix d’un type de graphe de similarités (2)

−1 0 1 2

−3

−2

−1

0

1

Data points

−1 0 1 2

−3

−2

−1

0

1

epsilon−graph, epsilon=0.3

−1 0 1 2

−3

−2

−1

0

1

kNN graph, k = 5

−1 0 1 2

−3

−2

−1

0

1

Mutual kNN graph, k = 5

Figure 3: Different similarity graphs, see text for details.

As a general recommendation we suggest to work with the k-nearest neighbor graph as the first choice. It is simpleto work with, results in a sparse adjacency matrix W , and in our experience is less vulnerable to unsuitable choicesof parameters than the other graphs.

The parameters of the similarity graphOnce one has decided for the type of the similarity graph, one has to choose its connectivity parameter k or ε,respectively. Unfortunately, barely any theoretical results are known to guide us in this task. In general, if thesimilarity graph contains more connected components than the number of clusters we ask the algorithm to detect,then spectral clustering will trivially return connected components as clusters. Unless one is perfectly sure thatthose connected components are the correct clusters, one should make sure that the similarity graph is connected,or only consists of “few” connected components and very few or no isolated vertices. There are many theoreticalresults on how connectivity of random graphs can be achieved, but all those results only hold in the limit forthe sample size n → ∞. For example, it is known that for n data points drawn i.i.d. from some underlyingdensity with a connected support in R

d, the k-nearest neighbor graph and the mutual k-nearest neighbor graphwill be connected if we choose k on the order of log(n) (e.g., Brito, Chavez, Quiroz, and Yukich, 1997). Similararguments show that the parameter ε in the ε-neighborhood graph has to be chosen as (log(n)/n)d to guaranteeconnectivity in the limit (Penrose, 1999). While being of theoretical interest, all those results do not really help usfor choosing k on a finite sample.

Now let us give some rules of thumb. When working with the k-nearest neighbor graph, then the connectivityparameter should be chosen such that the resulting graph is connected, or at least has significantly fewer connectedcomponents than clusters we want to detect. For small or medium-sized graphs this can be tried out ”by foot”. Forvery large graphs, a first approximation could be to choose k in the order of log(n), as suggested by the asymptoticconnectivity results.

For the mutual k-nearest neighbor graph, we have to admit that we are a bit lost for rules of thumb. The advantageof the mutual k-nearest neighbor graph compared to the standard k-nearest neighbor graph is that it tends notto connect areas of different density. While this can be good if there are clear clusters induced by separatehigh-density areas, this can hurt in less obvious situations as disconnected parts in the graph will always be chosen

18

(figure issue de [4])

Classification spectrale 38 / 40

Choix des paramètres du graphe de similarités

Nombre de composantes connexes de G ≥ nombre de groupes demandés ⇒ aucunecomposante connexe ne sera partagée entre groupes

→ préférer une connectivité plus forte→ pour obtenir un graphe connecté, suivant le type de graphe :

1 ϵ-voisinage : avec ϵ un seuil supérieur de distance et non un seuil inférieur de similaritési xi ∈ Rd, ϵ ∼

(log(N)

N

)d

ϵ ∼ arête la plus longue dans l’arbre couvrant minimal du graphe G2 k plus proches voisins : k ∼ log(N) + 1

3 k plus proches voisins mutuels : k plus élevé que dans le cas précédent car pour unemême valeur de k ces graphes ont moins d’arêtes que les graphes précédents

4 Graphe complet : le « réglage » doit porter plutôt sur la fonction de similarité

Page 24: M2m`QM H2b U *Sky3V 2+QMM Bbb M+2 /2b 7Q`K2b 2i Kûi?Q/2b ...cedric.cnam.fr/vertigo/Cours/ml/docs/3cours... · P#D2+iB7b 2i miBHBb iBQMb /2 H +H bbB}+ iBQM miQK iB[m2 U+Hmbi2` M HvbBb-

Classification spectrale 39 / 40

Choix du nombre de groupes

Mêmes méthodes que pour autres algorithmes de classification automatique nonparamétriquesLes résultats de la classification spectrale ne dépendent pas d’une initialisation (saufpour le K-means final) ⇒ la stabilité doit être évaluée par rapport à un autreparamètre (voir [4])Eigengap :

Choisir k (nombre de groupes) tel que dans la croissance des valeurs propres de lamatrice laplacienne L on trouve un saut entre λk et λk+1 (0 = λ1 ≤ λ2 ≤ . . .)Dans l’exemple suivant, saut entre λ4 et λ5 même pour groupes (1D) moins bienséparés :

0 2 4 6 8 100

5

10Histogram of the sample

0 2 4 6 8 100

5

10Histogram of the sample

0 2 4 6 8 100

2

4

6Histogram of the sample

1 2 3 4 5 6 7 8 9 100

0.02

0.04

0.06

Eigenvalues

1 2 3 4 5 6 7 8 9 10

0.02

0.04

0.06

0.08

Eigenvalues

1 2 3 4 5 6 7 8 9 100

0.02

0.04

0.06

0.08

Eigenvalues

Figure 4: Three data sets, and the smallest 10 eigenvalues of Lrw. See text for more details.

es ∈ Rk. In such a trivial case, any clustering algorithm applied to the points yi ∈ R

k will be able to extract thecorrect clusters.

While it is somewhat arbitrary what clustering algorithm exactly one chooses in the final step of spectralclustering, one can argue that at least the Euclidean distance between the points yi is a meaningful quantity tolook at. We have seen that the Euclidean distance between the points yi is related to the “commute distance”on the graph, and in Nadler, Lafon, Coifman, and Kevrekidis (2006) the authors show that the Euclideandistances between the yi are also related to a more general “diffusion distance”. Also, other uses of the spectralembeddings (e.g., Bolla (1991) or Belkin and Niyogi (2003)) show that the Euclidean distance in Rd is meaningful.

Instead of k-means, people also use other techniques to construct he final solution from the real-valued representa-tion. For example, in Lang (2006) the authors use hyperplanes for this purpose. A more advanced post-processingof the eigenvectors is proposed in Bach and Jordan (2004). Here the authors study the subspace spanned by thefirst k eigenvectors, and try to approximate this subspace as good as possible using piecewise constant vectors.This also leads to minimizing certain Euclidean distances in the space Rk, which can be done by some weightedk-means algorithm.

In our experience, the k-means algorithm works reasonably well on many data sets. Implementations with varioustricks, enhancements, and speed-ups can be downloaded from the internet.

8.5 Which graph Laplacian should be used?A fundamental question related to spectral clustering is the question which of the three graph Laplacians should beused to compute the eigenvectors. Before deciding this question, one should always look at the degree distributionof the similarity graph. If the graph is very regular and most vertices have approximately the same degree, thenall the Laplacians are very similar to each other, and will work equally well for clustering. However, if thedegrees in the graph are very broadly distributed, then the Laplacians differ considerably. In our opinion, there areseveral arguments which advocate for using normalized rather than unnormalized spectral clustering, and in thenormalized case to use the eigenvectors of Lrw rather than those of Lsym.

Clustering objectives satisfied by the different algorithmsThe first argument in favor of normalized spectral clustering comes from the graph partitioning point of view. Forsimplicity let us discuss the case k = 2. In general, clustering has two different objectives:

1. We want to find a partition such that points in different clusters are dissimilar to each other, that is we want tominimize the between-cluster similarity. In the graph setting, this means to minimize cut(A,A).

21

(figure issue de [4])

Classification spectrale 40 / 40

Références I

D. Arthur and S. Vassilvitskii.K-means++ : The advantages of careful seeding.In Proceedings of the Eighteenth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ’07,pages 1027–1035, Philadelphia, PA, USA, 2007. Society for Industrial and Applied Mathematics.

O. Shamir and N. Tishby.Stability and model selection in k-means clustering.Machine Learning, 80(2) :213–243, 2010.

N. X. Vinh, J. Epps, and J. Bailey.Information theoretic measures for clusterings comparison : Variants, properties, normalization andcorrection for chance.J. Mach. Learn. Res., 11 :2837–2854, Dec. 2010.

U. von Luxburg.A tutorial on spectral clustering.CoRR, abs/0711.0189, 2007.

S. Wagner and D. Wagner.Comparing Clusterings – An Overview.Technical Report 2006-04, Universität Karlsruhe (TH), 2007.