SELF-TUNING SPECTRAL CLUSTERING

Transcription

SELF-TUNING SPECTRAL CLUSTERING
SELF-TUNING SPECTRAL
CLUSTERING
Introduction
Hypothèses de la méthode
Solutions adoptées
Jeux de données traitées
Perspectives pour ClasSpec
Laurent BUSIN
1
INTRODUCTION
Méthodes courrament utilisées :
L'algorithme des K-means,
Les modèles de mixtures EM.
Domaine de validité de ces méthodes :
Les données analysées sont correctement organisées.
Limites de ces méthodes :
La qualité des résultats diminue grandement lorsque les données
analysées ont une structure complexe dans l'espace d'analyse.
Méthodes de classification spectrale.
2
Hypothèses de la méthode
Algorithme de Ng-Jordan-Weiss :
l
Soit un ensemble de n points S={s1,...,sn} à classer dans ℝ en C classes.
n×n
1- Contruire la matrice d'affinité A∈ℝ
définie par Aij=exp(-d2(si,sj)/σ2) pour i≠j et
Aij=0, ou d(si,sj) est la distance euclidienne entre les vecteurs si et sj,et ou σ est un
paramètre d'échelle.
n
2- Définir la matrice diagonale D avecD ii =∑ j =1 Aijet on construire la matrice d'affinité
normalisée L=D-1/2AD-1/2.
3- Fournir manuellement le nombre de classes C.
4- Trouver x1,...,xC, les C plus grands vecteurs propres de L et construire la matrice
n×C
X=[x1,...,xC]∈ℝ
]
5- Re-normaliser les lignes de X pour avoir la matrice Y ∈ℝ n ×C tel que Yij=Xij/(Σj x2ij)1/2
C
6- Traiter chaque ligne de Y comme un point dans ℝ et trouver les clusters en
utilisant l'algorithme de k-means.
7- Assigner le point original si à la classe C si et seulement si la ième ligne de la
matrice Y est assignée à la classe C.
3
Hypothèses de la méthode
La méthode utilisée nécessite l'ajustement de 2 paramètres :
σ : le paramètre d'échelle
C : le nombre de classes
Objectif de la publication :
Estimer automatiquement ces deux paramètres afin de rendre la méthode de
classification non paramétrique et par conséquent non supervisée.
4
SOLUTIONS ADOPTEES
Estimation du paramètre d'échelle σ :
Solution 1 :
Ng et al. [5] proposent d'utiliser des σ croissants et de sélectionner l'itération pour
laquelle les lignes de la matrice Y ont le moins de “distortion”.
Inconvénients :
Explosion du temps de calcul.
Une seule valeur de σ n'est pas obligatoirement suffisante.
5
SOLUTIONS ADOPTEES
Estimation du paramètre d'échelle σ :
Solution 2 (celle de l'auteur):
Calculer un σi local pour chaque point si.
Calcul de la matrice d'affinité : Aij=exp(-d2(si,sj)/σ2)
La distance entre les points si et sj peut être “vue” comme étant d(si,sj)/σi et la
distance entre les points sj et si peut être “vue” comme étant d(sj,si)/σj.
Matrice d'affinité reformulée : Aij=exp(-d2(si,sj)/σiσj).
Evaluation du paramètre d'échelle local σi du point si :
La sélection du paramètre d'échelle est déterminé à partir de l'analyse des voisins
du point si avec la relation σi=d(si,sK) ou sK est le Kème voisin du point si. L'auteur
préconise la valeur K=7.
6
SOLUTIONS ADOPTEES
Evaluation du nombre de clusters C :
Solution 1 : Analyse des λ
En théorie : Compter le nombre de λ égales à 1.
En pratique :
Prendre toutes les λ au-dessus d'un seuil.
Regarder la différence entre deux λ successives. (Inconvénient : le saut
entre la Cème et la C+1ème λ peut-être grand ou petit.
7
SOLUTIONS ADOPTEES
Evaluation du nombre de clusters C :
Solution 2 : Analyse des vecteurs propres
hypothèse : La matrice est C block-diagonale
Les points transformés sont alignés sur C vecteurs propres orthogonaux.
Il existe une base orthogonale dans cet espace tel que :
les points d'une même classe n'ont qu'une coordonnée non nulle (sur 1
vecteur propre).
Retrouver cette base à partir de rotation : Z=XR avec :
X la matrice des vecteurs propres,
2
R la matrice de rotation.
Z ij
n
C
Déterminer C en minimisant la fonction coût : J =∑i =1 ∑ j =1
M 2i
8
JEUX DE DONNEES TRAITEES
La méthode proposée a été utilisé pour :
Classer des données synthétiques,
http://www.vision.caltech.edu/lihi/Demos/SelfTuningClustering.html
Segmenter des images à NdG.
http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/segbench/B
9
PERSPECTIVES POUR CLASPEC
Intéressant pour faire une méthode non supervisée.
Amélioration : Déterminer K (=7) par un estimateur robuste
10