2008 - Apprentissage spectral by FranckDernoncourt

VIEWS: 10 PAGES: 21

									  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
Données sous forme d'un tableau numérique ou points dans un
espace multidimensionnel :
   Sans labels   non supervisé
   Avec labels   supervisé
   Avec labels pour certains points   semi supervisé

Données sous forme d'une matrice d'affinité :
   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

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
                                                                      3
              ? : information absente
            Cas non supervisée

Matrice de données    Matrice d'affinité A
 Non-supervisées              x1 x2           xj            xn

 x1                     x1
 x2                     x2


 xi                     xi                   Aij

                                  Aij = Exp[-d(xi, xj)/2]




 xn                     xn


 Matrice de données     Matrice d'affinité
                                                                 4
         Cas semi-supervisé

Modification du modèle : introduction de
données avec labels
  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
  Pour un couple de points de classes différentes faire :
  Aij = Aji = 0
  Normaliser pour obtenir N




                                                          5
              Cas semi-supervisé

Matrice de données      matrice d'affinité
     Semi-supervisées         x1 x2    xj        xn

x1                       x1
                   Y     x2
                                1            0
x2


xi                       xi            Aij
          X
                                0



xn                       xn



                                                      6
   Cas donnée sous constraintes
Must-links : (xi , xj) sont dans la même classe
Cannot-links : (xi , xj) sont dans de classes différentes
                 x1 x2      xj       xn

            x1              1        0
            x2
                                 1

                           Aij
            xi   1

                     1


            xn   0

                                                            7
  Principe de l'apprentissage spectral
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 :
   Classification non supervisée         spectral clustering
   Classification supervisée             spectral classification
Applications :
   recherche par le contenu
   recherche documents web
   segmentation d'images
   Classification non supervisée (clustering)




                                                                   8
Apprentissage spectral : démarche unifiée

 Il existe des méthodes de classification
 différentes selon les connaissances a priori :
   non supervisée : K-means, EM, Kohonen,
   apprentissage compétitif, etc.
   Supervisée : Analyse discriminante, Plus proche
   voisin, MLP, RBF, SVM, etc.


 Apprentissage spectral :
   Algorithme à tout faire avec juste petites adaptations
   dans la formulation pour chaque cas.


                                                            9
   Algorithme de spectral clustering

On a une matrice d'affinité A représentant les
similarités entre couples d'objets :
  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            −1
 [Meila & Shi, AIS-TATS 01]                                               N=D A



 Ng Jordan Weiss NJW                                     Division                −1        −1
 [Ng & al., NIPS14 02]                                  symétrique        N=D     2
                                                                                      AD    2




 Latent Semantic Analysis LSA
                                                            Aucune             N=A
 [Deerwester & al. JASIS 90]



 Spectral Learning                                                             (A + d max I − D)
                                                      Normalisé additif   N=
 [Kamvar & al. IJCAI 03]                                                            d max


D ii =   ∑ A ij      d max = max(D ii ) = max(
                               i          i
                                                 ∑ A ij )
          j                                       j



                                                                                                   11
 Algorithme d'apprentissage spectral

 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

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.
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
K-means :
                        Entrées               K classes

                                    K-means



Spectral clustering :
                        Espace Rk
Entrées                                       K classes
           Matrice
          d'affinités               K-means
            RnxRn




                                                          14
            Spectral classification
Plus proche voisin :
                            Entrées                   K classes
                                            PPV
                                        sur données
                                        avec labels


Spectral classification :
                            Espace Rk
Entrées       Matrice
                                                      K classes
             d'affinités
               RnxRn                       PPV
          Données sans et
            avec labels



                                                                  15
 Classification de documents par k-means
           et spectral clustering

Application sur 4 types de données :
  20 newsgroups : 18828 documents (1000
  documents de 20 newsgroups)
  3 newsgroups : sci.crypt, talk.politics.mideast,
  soc.religion.christian
  Lymphoma gene expression profile ; 2 classes :
      Diffuse large B-Cell Lymphoma 42 exemples
      Non-DLCBL 54 exemples
  Soybean :
      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.   N11 = couples de points qui sont dans la même classe par l'algorithme
     C et par l'algorithme C'
4.   N00 = couples de points qui sont dans des classes différentes aussi
     bien par l'algorithme C que par l'algorithme C'
5.   N10 = couples de points qui sont dans la même classe par l'algorithme
     C mais pas par l'algorithme C'
6.   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

Critères de Wallace :                              N 11
                         WI (C, C' ) =
                                            K
                                           ∑ n k (n k − 1) / 2
                                           k =1

                                                  N 11
                         WII (C, C' ) =
                                           K'
                                          ∑ n' k ' (n' k' −1) / 2
                                          k '=1


Folks et Mallows :   F(C, C' ) = WI (C, C' ) WII (C, C' )



                                       N 11 + N 00
Index de Rand :         R (C, C' ) =
                                       n (n − 1) / 2
                                           N 11
Indice de Jacard :      J(C, C) =
                                    N 11 + N 01 + N 10

                                                                    18
Méthode employée pour comparaison

 Indice de Rand
                                                  N11 + N 00
             Rand Index(Specral L, k − means) =
                                                  n (n − 1) / 2

              Spectral        k-means
              Learning

   3 NEWS         0.84             0.20

   20 NEWS        0.36             0.07
   LYMPHOM
                  0.50             0.10
   A
   SOYBEAN        0.41             0.34
                                                                  19
Résultats




            20
             Perspectives

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

								
To top