Présentation de D. Hamad
Transcription
Présentation de D. Hamad
Apprentissage spectral Papier : Spectral learning S. D. Kamvar, D. Klein, C. D. Manning International Joint Conference on Artificial Intelligence 2003 D. Hamad Réunion ClaSpec LASL 10 janvier 2008 Hypothèses de base z Données sous forme d'un tableau numérique ou points dans un espace multidimensionnel : z z z z Données sous forme d'une matrice d'affinité : z z z Sans labels Æ non supervisé Avec labels Æ supervisé Avec labels pour certains points Æ semi supervisé Pas de connaissance a priori Connaissance sous contraintes : "must links", "cannot links" Hypothèse de départ : Les méthodes spectrales fonctionnent sur l'hypothèse de la disponibilité d'une matrice d'affinité 2 Données et méthodes de classification z Selon les connaissances a priori dont on dispose sur les labels des données, les méthodes de classification sont de types : Non supervisées Semi supervisées Supervisées Y X ? X X Y ? Observations Labels : information présente ? : information absente 3 Cas non supervisée z Matrice de données Æ Matrice d'affinité A Non-supervisées x1 x2 x1 x1 x2 x2 xi xi xj xn Aij Aij = Exp[-d(xi, xj)/2] xn Matrice de données xn Matrice d'affinité 4 Cas semi-supervisé z Modification du modèle : introduction de données avec labels z z Définir la matrice d'affinité comme en non supervisée Pour chaque couple de points dans la même classe faire : Aij = Aji = 1 z Pour un couple de points de classes différentes faire : Aij = Aji = 0 z Normaliser pour obtenir N 5 Cas semi-supervisé z Matrice de données Æ matrice d'affinité x1 x2 Semi-supervisées xj xn x1 x1 Y x2 x2 1 Aij xi xi 0 X 0 xn xn 6 Cas donnée sous constraintes z Must-links : (xi , xj) sont dans la même classe z Cannot-links : (xi , xj) sont dans de classes différentes x1 x2 x1 xj xn 1 0 x2 xi 1 Aij 1 1 xn 0 7 Principe de l'apprentissage spectral z z L'Apprentissage Spectral utilise l'information contenue dans les vecteurs propres de la matrice de transition normalisée pour détecter des structures dans les données. Utilisation : z z z Classification non supervisée Æ Classification supervisée Æ spectral clustering spectral classification Applications : z z z z recherche par le contenu recherche documents web segmentation d'images Classification non supervisée (clustering) 8 Apprentissage spectral : démarche unifiée z Il existe des méthodes de classification différentes selon les connaissances a priori : z z z non supervisée : K-means, EM, Kohonen, apprentissage compétitif, etc. Supervisée : Analyse discriminante, Plus proche voisin, MLP, RBF, SVM, etc. Apprentissage spectral : z Algorithme à tout faire avec juste petites adaptations dans la formulation pour chaque cas. 9 Algorithme de spectral clustering z On a une matrice d'affinité A représentant les similarités entre couples d'objets : z z z z z Cosinus : Gaussienne : Aij = Exp[-1/2d(xi, xj)] Floue, ... Comment passer à une matrice de transition de Markov normalisée N ? L'analyse des vecteurs propres de N renseigne sur la présence de blocs dans N qui correspondent à des classes de données. 10 Matrices de transition Algorithme Normalisation f(A, D) MNCUT Division [Meila & Shi, AIS-TATS 01] Division symétrique Ng Jordan Weiss NJW [Ng & al., NIPS14 02] Latent Semantic Analysis LSA Spectral Learning Normalisé additif [Kamvar & al. IJCAI 03] ∑ A ij j d max = max(D ii ) = max( i N=D Aucune [Deerwester & al. JASIS 90] D ii = −1 N=D A i − 12 AD − 12 N=A N= (A + d max I − D) d max ∑ A ij ) j 11 Algorithme d'apprentissage spectral z Représentation spectrale : 1. A partir de la matrice de données B former la matrice d'affinité A dans Rnxn = f(B). 2. Définir D matrice diagonale avec Dii = ΣjAij 3. Normaliser : N 4. Rechercher x1, ..., xk les vecteurs propres des plus grandes valeurs propres et former X = [x1,...,xk] dans Rnxk 5. Normaliser les lignes de X pour avoir un module unité. 12 Algorithme d'apprentissage spectral z Cas non supervisé (clustering) 1. Considérer chaque ligne de X comme un point dans Rk, classer par k-means. 2. Affecter chaque point xi à la classe j SSI la ligne Xi de X a été assignée à la classe j. z Cas supervisé (classification) 1. Représenter chaque point i par la ligne Xi de X 2. Classer les lignes comme points dans Rk en utilisant tout classifieur entraîné sur les données labellisées (PPV). 3. Assigner les points données i à la classe à laquelle Xi a été assignée. 13 Spectral clustering z K-means : Entrées K classes K-means z Spectral clustering : Espace Rk Entrées Matrice d'affinités RnxRn K classes K-means 14 Spectral classification z Plus proche voisin : Entrées z PPV sur données avec labels K classes Spectral classification : Entrées Matrice d'affinités RnxRn Données sans et avec labels Espace Rk K classes PPV 15 Classification de documents par k-means et spectral clustering Application sur 4 types de données : z 20 newsgroups : 18828 documents (1000 documents de 20 newsgroups) z 3 newsgroups : sci.crypt, talk.politics.mideast, soc.religion.christian z Lymphoma gene expression profile ; 2 classes : z z z Diffuse large B-Cell Lymphoma 42 exemples Non-DLCBL 54 exemples Soybean : z z z 15 classes 562 exemples 35 attributs 16 Comparaison des résultats de classification Comparaison par comptage de paires de points : Pour chaque couple de points de D, on a 4 situations : 3. 4. 5. 6. N11 = couples de points qui sont dans la même classe par l'algorithme C et par l'algorithme C' N00 = couples de points qui sont dans des classes différentes aussi bien par l'algorithme C que par l'algorithme C' N10 = couples de points qui sont dans la même classe par l'algorithme C mais pas par l'algorithme C' N01 = couples de points qui sont dans la même classe par l'algorithme C' mais pas par l'algorithme C Remarque : N11+N00+N10+N01 = n(n-1)/2 17 Comparaison par comptage de paires de points z Critères de Wallace : WI (C, C' ) = N 11 K ∑ n k (n k − 1) / 2 k =1 WII (C, C' ) = N 11 K' ∑ n' k ' (n' k' −1) / 2 k '=1 F(C, C' ) = WI (C, C' ) WII (C, C' ) z Folks et Mallows : z Index de Rand : R (C, C' ) = Indice de Jacard : J(C, C) = z N 11 + N 00 n (n − 1) / 2 N 11 N 11 + N 01 + N 10 18 Méthode employée pour comparaison z Indice de Rand Rand Index(Specral L, k − means) = Spectral Learning N11 + N 00 n (n − 1) / 2 k-means 3 NEWS 0.84 0.20 20 NEWS 0.36 0.07 LYMPHOM A 0.50 0.10 SOYBEAN 0.41 0.34 19 Résultats 20 Perspectives z z z La problématique d'apprentissage spectral est appliquée sur des problèmes d'analyse de données et de document. Elle pourra bien s'appliquer à la segmentation du signal et de l'image si le temps de calcul le permet. L'indice de Rand est employé ici mais on peut avantageusement employer d'autres indices notamment, l'indice informationnel (Meila). 21