Contribution a la classification non supervisee par machines a

frogsspiffyAI and Robotics

Jul 18, 2012 (4 years and 9 months ago)

509 views

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

2
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é

3
X
Y
Semi supervisées
X
Non supervisées
: information présente

Selon les connaissances a priori dont on dispose sur les labels des
données, les méthodes de classification sont de types :

X
Y
Supervisées
Observations
Labels
?
?
?
: information absente
Données et méthodes de classification

4
Cas non supervisée

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



x1
x2
xi
xn
x1 x2 xj xn
Aij
= Exp[-d(x
i, xj)/2]
Aij

5
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

6
Cas semi-supervisé

Matrice de données  matrice d'affinité



x1
x2
xi
xn
x1 x2 xj xn
0
1
0
X
Semi-supervisées
x1
x2
xi
xn
Y
Aij

7
Cas donnée sous constraintes

Must-links : (x
i , xj) sont dans la même classe

Cannot-links : (xi , xj) sont dans de classes différentes


x1
x2
xi
xn
x1 x2 xj xn
1
1
0
0
1
1
Aij

8
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)

9
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.

10
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.

11
Matrices de transition
Normalisé additif
Spectral Learning[Kamvar & al. IJCAI 03]
N = AAucune
Latent Semantic Analysis LSA[Deerwester & al. JASIS 90]
Division
symétrique
Ng Jordan Weiss NJW[Ng & al., NIPS14 02]
Division
MNCUT
[Meila & Shi, AIS-TATS 01]
f(A, D)NormalisationAlgorithme
ADN
1

=
2
1
2
1
ADDN
−−
=
max
max
d
)DIdA(
N

+
=

=
j
ijii
AD
)A(max)D(maxd
j
ij
i
ii
i
max

==

12
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,...,x
k]
dans Rnxk
5.Normaliser les lignes de X pour avoir un module
unité.

13
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 X
i 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.

14
Spectral clustering

K-means :

Spectral clustering :
K-means
EntréesK classes
Matrice
d'affinités
Rn
xRn
Entrées
K-means
K classes
Espace R
k

15
Spectral classification

Plus proche voisin :

Spectral classification :
PPV
sur données
avec labels
EntréesK classes
Matrice
d'affinités
Rn
xRn
Données sans et
avec labels
Entrées
PPV
K classes
Espace R
k

16
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

17
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

18
Comparaison par comptage de paires de points

Critères de Wallace :

Folks et Mallows :

Index de Rand :

Indice de Jacard :
)'C,C(W)'C,C(W)'C,C(F
III
=
2/)1n(n
NN
)'C,C(R
0011

+
=
100111
11
NNN
N
C)J(C,
++
=

=

=
K
1k
kk
11
I
2/)1n(n
N
)'C,C(W

=

=
'K
1'k
'k'k
11
II
2/)1'n('n
N
)'C,C(W

19
Méthode employée pour comparaison

Indice de Rand
2/)1n(n
NN
)meansk,LSpecral(IndexRand
0011

+
=−
0.340.41SOYBEAN
0.100.50
LYMPHOM
A
0.070.3620 NEWS
0.200.843 NEWS
k-means
Spectral
Learning

20
Résultats

21
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).