70 likes | 102 Views
Apprentissage spectral. Spectral learning S. D. Kamvar, D. Klein, C. D. Manning IJCAI-03, 2003. Introduction. Les algorithmes spectraux utilisent l'information contenue dans les vecteurs propres de la matrice d'affinité des données pour détecter des structures
E N D
Apprentissage spectral Spectral learning S. D. Kamvar, D. Klein, C. D. Manning IJCAI-03, 2003
Introduction • Les algorithmes spectraux utilisent l'information contenue dans les vecteurs propres de la matrice d'affinité des données pour détecter des structures • Applications : recherche d'information web, segmentation d'images, traitement de document, clustering, etc. • Idée : développer des algorithmes spectraux pour l'apprentissage supervisé Adapter les méthodes "spectral clustering" à la classification (supervisée)
D = diag{Dii} • avec : • dmax = max(Dii) Algorithmes de spectral clustering • Matrice d'affinité et Matrice de transition de Markov (probabilités) • Pour 2 points xi et xj on associe la distance d(xi, xj). On définit la matrice d'affinité A par : est un paramètre libre • Les méthodes spectrales utilisent différentes normalisations : *Latent Semantic Analysis
Sélection du paramètre libre sigma • L'importance de la sélection du paramètre sigma est souvent négligée (L'auteur renvoie à NJW On spectral clustering: Analysis and an algorithm, NIPS 14, 2002) : K plus proches voisins distance moyenne plage de stabilité des résultats, etc.
Algorithme d'apprentissage spectral • Représentation spectrale • Former la matrice d'affinité • Définir la matrice degré D • Normaliser N = (A + dmaxI – D)/dmax • Chercher les k plus grands vecteurs propres : x1, ..., xk pour former la matrice X RNxk • Normaliser X pour avoir les lignes de module 1 • Clustering • Traiter chaque colonne comme un point dans Rk. Classer dans l'espace spectral en k classes par k-means ou autre algorithme • Affecter les points d'origine i à la classe j SSI la ième colonne de X a été affectée à la classe j • Classification • Représenter chaque point i par sa colonne Xi de X • Classer les colonnes comme points dans Rk par un classifieur supervisé avec labels • Affecter chaque point i à la classe c à laquelle Xi a été affectée.
Classification spectrale • Comment intégrer les labels dans le graphe ? • Les points non labellisés ont leurs poids % à leurs similarités donc leurs affinités comme en spectral clustering • Pour chaque paire de points (i, j) qui sont issus de la même classe mettre : Aij = Aji = 1 • Pour chaque paire de points (i, j) qui sont de classes différentes mettre : Aij = Aji = 0 • Normaliser A : N = (A + dmaxI – D)/dmax • Lien avec Constrained Spectral Clustering : • Les points sans labels ont leurs poids % à leurs similarités donc leurs affinités sont comme avant • Must-links : 2 points de même classe (sans connaître le label) : Aij = Aji = 1 • Cannot-links : 2 points de classes différentes : Aij = Aji = 0 • Normaliser A : N = (A + dmaxI –D)/dmax