Self-Tuning Spectral Clustering
Transcription
Self-Tuning Spectral Clustering
Self-Tuning Spectral Clustering, Lihi Zelnik-Manor et Pietro Perona In Advances in Neural Information Processing Systems, 2005 ClaSpec : Classification spectrale pour la segmentation d’images couleur et de signaux audio Réunion : Présentation et analyse d’articles de base sur la classification spectrale Self-Tuning Spectral Clustering Lihi Zelnik-Manor & Pietro Perona, CalTech In Advances in Neural Information Processing Systems, p. 1601-1608, 2005 Présenté par L. Busin et P.-A. Hébert ClaSpec, Calais 23 mars 2007 1 Self-Tuning Spectral Clustering, Lihi Zelnik-Manor et Pietro Perona In Advances in Neural Information Processing Systems, 2005 Introduction • Point de départ – l’algorithme de Ng, Jordan et Weiss • Difficultés – choix des deux paramètres • sigma : l’échelle de voisinage • k : nombre de classes • Solution – Modification de l’algorithme • détermination automatique de ces paramètres • par 2 procédures indépendantes Présenté par L. Busin et P.-A. Hébert ClaSpec, Calais 23 mars 2007 2 Self-Tuning Spectral Clustering, Lihi Zelnik-Manor et Pietro Perona In Advances in Neural Information Processing Systems, 2005 Problème des densités locales hétérogènes • 2 cercles, rapport de densité : 1 pour 8 • sigma = 0,3 • adapté auClassification cercle gauche 1.5 1 1.0 1 1 1 0.5 0.0 1 1 2 1 2 1 -0.5 22 2 2 22 2 22 2 222 22 2 22 22 22 2 2 22 2 2 22 2 2 22 2 2 22 2 2 2 2 22 2 2 2 2 2 2 2 2 2 2 2 22 2 2 22 22 22 2 2 22 2 22 22 22 22 2 22 2 22 2 22 22 22 222 22 2 222 1 1 2 1 1 1 1 1 -1.0 1 1 Représentation des 2 premiers vecteur 1.0 0.8 V al e urs p rop res 1 .0 0.6 0 .8 0.4 2 0 .7 0.2 0 .6 2 2 2 2 2 2 2 2 2 2 2 0.0 2 22 2 2 22 22 22 22 -0.2 22 22 22 22 0 .4 0 .3 0 .2 0 .1 -2.0 2 0 .9 0 .5 -1.5 1 1 -0.4 0 .0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 Présenté par L. Busin et P.-A. Hébert 2.0 2.5 3.0 3.5 0 .5 1.0 1.5 2.0 2.5 3.0 3.5 ClaSpec, Calais 23 mars 2007 4 .0 4 .5 -0.6 -0.8 -1.0 3 11 1111 1 1 Self-Tuning Spectral Clustering, Lihi Zelnik-Manor et Pietro Perona In Advances in Neural Information Processing Systems, 2005 Adaptation locale de sigma • Rôle de sigma – Aider à la « bloc-diagonalisation » de la matrice de similarité – En renforçant ou atténuant les distances – Fixer le voisinage des points • Deux problèmes – Estimer sigma – Cas de densités locales hétérogènes • Une valeur sigma ne peut alors être qu’un (mauvais) compromis • Solution proposée – Adapter localement sigma à chaque point ! Présenté par L. Busin et P.-A. Hébert ClaSpec, Calais 23 mars 2007 4 Self-Tuning Spectral Clustering, Lihi Zelnik-Manor et Pietro Perona In Advances in Neural Information Processing Systems, 2005 Adaptation locale de sigma • Principe – σi : « distance de voisinage du point i » – fonction de la « densité locale de i » • Détermination proposée – σi = distance entre i et son k-ppv Présenté par L. Busin et P.-A. Hébert ClaSpec, Calais 23 mars 2007 5 Self-Tuning Spectral Clustering, Lihi Zelnik-Manor et Pietro Perona In Advances in Neural Information Processing Systems, 2005 Adaptation locale de sigma • Noyau gaussien « local scaling » – « Nettoie » la relation de distances ( A(i , j ) = exp − d ' (i , j ) 2 ) d (i , j ) devient d ' (i , j ) = d (i , j ) où d ' (i , j ) = σ ij σ – Pour toute paire de points i et j, nécessité de : • déterminer un σij fonction des deux valeurs σi et σj – Solution d ' ' (i , j ) = d (i , j ) / σ i d ' ' ( j, i ) = d ( j, i ) / σ j Présenté par L. Busin et P.-A. Hébert d ' (i , j )2 = d ' ' (i , j ).d ' ' ( j , i ) = d (i , j )2 /(σ i .σ j ) σ ClaSpec, Calais 23 mars 2007 ij = σ i .σ 6 j Self-Tuning Spectral Clustering, Lihi Zelnik-Manor et Pietro Perona In Advances in Neural Information Processing Systems, 2005 Problème des densités locales hétérogènes • Résolu par « l’échelle locale de voisinage » Classification 1.5 2 1.0 2 2 2 2 2 0.5 0.0 2 2 2 2 2 2 -0.5 2 2 2 2 2 2 -1.0 2 2 1 11 1 11 1 1 111 1 111 111 11 1 1 11 11 11 1 1 11 1 1 11 1 11 11 1 11 1 1 1 1 1 1 1 1 1 1 1 11 11 11 11 11 1 1 11 11 11 11 11 1 11 11 11 1 11 11 11 111 11 1 111 Re p résen ta ti on d e s 2 pre m i ers ve cteu rs pro p res NON NORM AL IS ES 0 .05 1 0 .00 -0 .0 5 -1.5 -0 .1 0 -0 .1 5 -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 2 -0 .2 0 -0 .2 5 -0.2 0 Présenté par L. Busin et P.-A. Hébert ClaSpec, Calais 23 mars 2007 -0.1 5 -0 .10 -0 .05 0 .0 0 0.0 5 7 0.1 0 Self-Tuning Spectral Clustering, Lihi Zelnik-Manor et Pietro Perona In Advances in Neural Information Processing Systems, 2005 Estimation du nombre de classes k • Solution intuitive – analyser les valeurs propres de la matrice de similarité « normalisée » – Problème • manque de justification théorique • en pratique, il y a vite plus de valeurs propres à 1- que de classes Présenté par L. Busin et P.-A. Hébert ClaSpec, Calais 23 mars 2007 8 Self-Tuning Spectral Clustering, Lihi Zelnik-Manor et Pietro Perona In Advances in Neural Information Processing Systems, 2005 Estimation du nombre de classes k • Solution proposée – Basée sur les vecteurs propres de la matrice de similarité filtrée et normalisée – Si elle est nettement « k-blocs-diagonale » : L(1) L= 0 0 0 L( 2 ) 0 0 0 L( k ) x (1) Xˆ = 0 0 0 x ( 2) 0 0 0 ∈ ℜ x ( k ) nxk • k vecteurs propres = nouvelles coordonnées • Points transformés : alignés sur k vecteurs orthogonaux, par classe Présenté par L. Busin et P.-A. Hébert ClaSpec, Calais 23 mars 2007 9 Self-Tuning Spectral Clustering, Lihi Zelnik-Manor et Pietro Perona In Advances in Neural Information Processing Systems, 2005 Estimation du nombre de classes k Représentation des 2 pre m i ers vecteurs propre s NO RM ALIS E S 1.0 • Alignement des points transformés 0.8 0.6 0.4 3 • sigma = 0,005 0.2 Classification 2 0.0 Représentation des 2 premiers vecteurs propres NON NORMALISES 0.9 -0 .2 44 1 1 1 11 4 44 1 1 4 1 1 4 1 1 4 33 3 1 4 33333 1 33 1 4 3 1 3 1 44 3 1 1 4 3 1 11 1 4 3 1 3 2 22 22 2 444 2 2 1 4 3 44 2 1 4 3 2 1 4 1 2 3 1 2 4 33 4 3 33 2 1 3 3 44 3 333 1 2 4 2 4 2 4 2 22 4 2 22 4 22 4 22 2 0.8 0.7 0.6 0.5 0.4 0.2 -0 .4 1 33 0.1 -0 .6 3 3 33 3 3 3 33333 33 4 -0 .8 0.0 -1 .0 -1 .0 -0.8 -0.6 -0.4 -0 .2 0.0 0.2 0.4 0.6 0.8 1.0 44 -0.1 4 -0.2 3 341 2 1 441 1 44 1 4 4 1 4 1 1 1 1 1 1 4 0.3 -0.3 0.2 -0.4 4 4 0.1 0.0 0.2 0.4 0.6 0.8 1.0 -0.5 -0.6 Présenté par L. Busin et P.-A. Hébert -0.5 -0.4 ClaSpec, Calais 23 mars 2007 -0.3 -0.2 -0.1 0.0 10 0.1 Self-Tuning Spectral Clustering, Lihi Zelnik-Manor et Pietro Perona In Advances in Neural Information Processing Systems, 2005 Estimation du nombre de classes k • Dans l’espace des vecteurs propres – les points d’une même classe sont alignés avec l’origine – ces alignements sont orthogonaux – il existe donc une base orthogonale de cet espace telle que : • les points n’ont qu’une coordonnée non nulle • sur l’axe associé à leur classe – cette base n’est pas nécessairement celle obtenue directement ! – pour la retrouver : • il existe une (matrice de) rotation R du nuage de points réalisant cette configuration • cette rotation peut être estimée Présenté par L. Busin et P.-A. Hébert ClaSpec, Calais 23 mars 2007 11 Self-Tuning Spectral Clustering, Lihi Zelnik-Manor et Pietro Perona In Advances in Neural Information Processing Systems, 2005 Estimation du nombre de classes k • Intérêt pour la détermination de k – soit c le nombre de classe hypothétique – soit Ec le sous-espace constitué des c « premiers » vecteurs propres – si c = k • alors Ec contient les k alignements : une rotation Rc correcte existe – si c > k • un nouveau vecteur propre vérifiant cet alignement impliquerait l’existence d’un nouveau bloc diagonal et donc d’une nouvelle classe : impossible ! • par conséquent, il n’est pas possible de trouver une rotation Rc satisfaisante – si c < k • meilleur cas : Ec contient c alignements (s’il est orthogonal aux k-c alignements non contenus, ou si les projections des alignements sont alignées) ; une rotation Rc valide existe, mais en augmentant c on peut en trouver une autre ! • cas le plus probable : Ec ne contient pas c alignements, et il n’existe alors pas de rotation Rc satisfaisante Présenté par L. Busin et P.-A. Hébert ClaSpec, Calais 23 mars 2007 12 Self-Tuning Spectral Clustering, Lihi Zelnik-Manor et Pietro Perona In Advances in Neural Information Processing Systems, 2005 Estimation du nombre de classes k • D’après ce qui précède, il est possible de détecter la valeur de k • Principe de l’estimation – pour c = 1 : cmax • projeter les points de Emax dans Ec • rechercher la meilleure rotation Rc approchant l’alignement recherché • calcul d’une fonction de coût f(c) mesurant l’efficacité de cet alignement (une coordonnée non-nulle par point) – détermination de k • valeur c maximale minimisant f(c) Présenté par L. Busin et P.-A. Hébert ClaSpec, Calais 23 mars 2007 13 Self-Tuning Spectral Clustering, Lihi Zelnik-Manor et Pietro Perona In Advances in Neural Information Processing Systems, 2005 Estimation du nombre de classes k • Fonction de coût f (c ) = n c ∑∑ i=1 j=1 Z 2 ij 2 ik max( Z ) k = 1:c • Si c alignements contenus dans Ec – f(c) approche le produit n.c • Sinon – f(c) >> n.c Présenté par L. Busin et P.-A. Hébert ClaSpec, Calais 23 mars 2007 14 Self-Tuning Spectral Clustering, Lihi Zelnik-Manor et Pietro Perona In Advances in Neural Information Processing Systems, 2005 Estimation du nombre de classes k • Processus d’estimation de Rc, la rotation minimisant f(c) – optimisation par une méthode de descente de gradients – processus itératif • c=2 – initialisation du nuage de points à aligner : [Z.1 Z.2] – obtention de R2 et calcul de f(2) – nuage de points [Z’.1 Z’.2] aligné au mieux • c=c+1 – initialisation du nuage de points à aligner : [Z’.1 Z’.2] – obtention de Rc et calcul de f(c) – nuage de points [Z’.1 ... Z’.c] aligné au mieux • Arrêt lorsque : c = cmax Présenté par L. Busin et P.-A. Hébert ClaSpec, Calais 23 mars 2007 15 Self-Tuning Spectral Clustering, Lihi Zelnik-Manor et Pietro Perona In Advances in Neural Information Processing Systems, 2005 Conclusion • Estimation automatique des deux paramètres cruciaux de la méthode de référence de la classification spectrale – « échelle locale de voisinage » • • adaptation aux densités locales l’hétérogénéité des densités n’est plus problématique – nombre de classes • • méthode plutôt fine, prenant en compte au mieux la structure du nuage de points de similarité blocdiagonale risque : manque de robustesse ? Présenté par L. Busin et P.-A. Hébert ClaSpec, Calais 23 mars 2007 16