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