Apprentissage de fonctions d`ordonnancement avec

publicité
Problématique
La méthode slaRank
Experiences
Conclusion
Apprentissage de fonctions d'ordonnancement avec
un ux de données nonétiquetées
V. Truong1 , M-R. Amini2 et P. Gallinari1
1
Université Pierre et Marie Curie
104 avenue du Président Kennedy 75016 Paris
2
National Research Council Canada
283 AlexandreTaché Boulevard Gatineau, QC J8X 3X7, Canada
CaP'09
1/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
Conclusion
Plan
Problématique
Ordonnancement bipartite
Exemple: Le routage d'information
L'approche svm
La méthode slaRank
Motivation
Contribution
L'algorithme slaRank
Experiences
RankSVM vs slaRank
Conclusion
2/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
Conclusion
Ordonnancement bipartite
Exemple: Le routage d'information
L'approche svm
Ordonnancement bipartite
Soit un ensemble d'exemples pertinents et de nonpertinents
But: ordonner les exemples pertinents audessus des exemples
nonpertinents
Cadre diérent de la classication
Cas particulier de l'ordonnancement d'instances
Fonction score:
fonction à valeur réelle
induit un ordre sur l'espace de départ
x est préféré à x 0 ssi h(x ) > h(x 0 )
Donner un score plus élevé à un exemple pertinent qu'à un
exemple nonpertinent
3/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
Conclusion
Ordonnancement bipartite
Exemple: Le routage d'information
L'approche svm
Application: le routage d'information
Tâche dénie à TREC (jusqu'en 2002)
Flux de données ⇔ données absentes de l'apprentissage
Ordonner les données en fonction des besoins d'un utilisateur.
Donnée: soit pertinente soit nonpertinente
4/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
Conclusion
Ordonnancement bipartite
Exemple: Le routage d'information
L'approche svm
Formalisme: l'approche svm
Soit une ensemble de données étiquetées S = S1 ∪ S−1
S1 un ensemble d'exemples pertinents
S−1 un ensemble d'exemples nonpertinents
Minimiser le nombre de paires (pertinent, nonpertinent) mal
ordonnées:
R (S) =
1
|S1 |S−1 |
X
(x ,x 0 )∈S
[[h(x ) < h(x 0 )]]
1 ×S−1
Majorant convexe: [[h(x < h(x )]] < max (0, ρ − (h(x ) − h(x 0 )))
Cas linéaires: h(x ) = w .x
0)
Ranking SVM (forme primale)
X
`
´
1
λ
kw k2 +
max 0, ρ − w (x − x 0 )
2
|S1 ||S−1 |
0
(x ,x )∈S1 ×S−1
5/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
Conclusion
Motivation
Contribution
L'algorithme slaRank
Motivation
Apprendre à ordonner sur un grand ensemble de données
coûteux en temps et en ressource
demande des eorts de la part de l'utilisateur
Approche semisupervisée:
Apprendre sur un ensemble de données étiquetées et non
étiquetées
6/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
Conclusion
Motivation
Contribution
L'algorithme slaRank
Idées générales
Objectif?
Cas linéaire
Développer un algorithme semisupervisé
Capable de donner un score à n'importe quel exemple
Capable de gérer un grand nombre de données nonétiquetées
Inspiration:
Modèles autoapprenants en classication
1
2
Étiqueter les exemples non étiquetés
Apprendre un nouveau modèle
Méthode d'apprentissage en ligne
7/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
Conclusion
Motivation
Contribution
L'algorithme slaRank
Idées générales
Apprentissage enligne (classication supervisée):
1
2
3
Arrivée d'un exemple étiqueté
Prédiction de sa classe
Miseàjour du modèle en fonction de l'erreur produite
Adaptation à l'apprentissage semisupervisé
Initialisation du modèle sur la base étiquetée
Arrivée d'un exemple nonétiqueté xt
Estimation de l'étiquette zt par une procédure A
(autoapprentissage)
Miseàjour du modèle suivant une erreur dénie sur
D ∪ {(xt , zt )}
- Et ainsi de suite
1
2
3
4
8/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
Conclusion
Motivation
Contribution
L'algorithme slaRank
Cadre général: autoapprentissage en ligne
Adaptation à l'apprentissage semisupervisé
Initialisation du modèle sur la base étiquetée
Arrivée d'un exemple nonétiqueté xt
Estimation de l'étiquette zt par une procédure A
(autoapprentissage)
Miseàjour du modèle suivant une erreur dénie sur
D ∪ {(xt , zt )}
- Et ainsi de suite
1
2
3
4
Adaptation à l'ordonnancement semisupervisé
1
2
Dénir une prodédure d'étiquetage en se basant sur la fonction
score
Dénir l'étape de miseàjour
9/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
Conclusion
Motivation
Contribution
L'algorithme slaRank
(1) Procédure d'étiquetage
Comment étiqueter l'exemple nonétiqueté à chaque itération?
Comparer le score de l'exemple non étiqueté avec celui des
exemples étiquetés
dh (S , S 0 ) la diérence relative entre les scores des éléments S
et ceux de S 0 :
Exemple:
P
P
dh (S , S 0 ) = |S ||S 0 | x ∈S x 0 ∈S 0 h(x ) − h(x 0 )
1
10/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
Conclusion
Motivation
Contribution
L'algorithme slaRank
(1) Procédure d'étiquetage
Comment étiqueter l'exemple nonétiqueté à chaque itération?
Soit x un exemple nonétiqueté
Nous dénissons 3 quantités:
δh+ (x ) = dh ({x }, S− ) , (mesure relative de pertinence)
δh− (x ) = dh (S , {x }) ,
(mesure relative de nonpertinence)
1
1
δ h (x ) =
+
(x ),δ − (x )}
h
h
dh (S1 ,S−1 ) , (mesure de conance)
min{δ
La procédure d'étiquetage:
y = sign δh+ (x ) − δh− (x )
Conditions d'étiquetage ?
étiqueter seulement les exemples les plus sûrs
utilisation de δh (x ) comme mesure d'incertitude
utilisation d'un seuil s.
11/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
Conclusion
Motivation
Contribution
L'algorithme slaRank
Rappel des objectifs
Adaptation à l'apprentissage semisupervisé
Initialisation du modèle sur la base étiquetée
Arrivée d'un exemple nonétiqueté xt
Estimation de l'étiquette zt par une procédure A
(autoapprentissage)
Miseàjour du modèle suivant une erreur dénie sur
D ∪ {(xt , zt )}
- Et ainsi de suite
1
2
3
4
Adaptation à l'ordonnancement semisupervisé
1
2
Dénir une prodédure d'étiquetage en se basant sur la fonction
score
Dénir l'étape de miseàjour
12/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
Conclusion
Motivation
Contribution
L'algorithme slaRank
(2) Dénition de l'étape de miseàjour
On a: un exemple étiqueté par la procédure A et la base
étiquetée D
Idée pour l'ordonnancement en ligne (supervisée)
X
`
1
λ
kw k2 +
max 0, ρ − w
2
|S1 ||S−1 |
(x ,x 0 )∈S1 ×S−1
(x − x 0 )
| {z }
´
paire cruciale
Ordonnancement ∼ classication de paires cruciales
Ordonnancement en ligne:
1
2
Fabriquer une paire cruciale
Donner la paire à un classieur en ligne (laSVMx1)
13/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
Conclusion
Motivation
Contribution
L'algorithme slaRank
(2) Dénition de l'étape de miseàjour
On a: un exemple étiqueté zt par la procédure A et la base
étiquetée D
Idée pour l'ordonnancement en ligne (semisupervisée)
1
2
3
4
Utilisation du classieur en ligne laSVMx1
Fabriquer la paire cruciale avec zt qui viole le plus la marge
Donner la paire au classieur
S'assurer de la cohérence du modèle sur D
Donner les paires cruciales de D qui violent la marge
14/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
Conclusion
Motivation
Contribution
L'algorithme slaRank
Base de l'algorithme slaRank
1
2
Initialisation sur la base étiquetée
Pour chaque exemple zt non étiqueté arrivant
a)
b)
c)
d)
Prédire son étiquette avec A
Fabriquer la paire avec zt qui viole le plus la marge
Mettre à jour le modèle avec cette paire
Donner l'ensemble des paires de D qui violent la marge
s et le paramètre de régularisation C
O (dnm)
2 paramètres: seuil
Complexité:
15/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
RankSVM vs slaRank
Conclusion
Protocole expérimental
Mesures de performance:
AUC: le nombre moyen de paires cruciales
bien ordonnées
Pn
i =1 P (r )×rel (r )
AvPrec: la précision moyenne = total relevant
examples
Datasets
base
usps
coil
autavn
realsim
ccat
gcat
ecat
prol
5
5
1
1
1
1
1
dim
256
1 024
20 707
20 958
47 152
47 152
47 152
app
7 291
1 440
68 175
69 201
701 275
701 275
701 275
test
2 007
1 000
2 000
2 000
23 149
23 149
23 149
taux
10%
5%
65%
31%
47%
30%
15%
16/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
RankSVM vs slaRank
Conclusion
Sélection de modèles
1
2
3
4
slaRank∗ maximise l'erreur moyen sur l'ensemble de test.
slaRankcv validation croisée en utilisant la fonction coût svm
pour la sélection.
lno : variante de la validation croisée en utilisant l'écart
moyen des scores.
val : maximise l'erreur sur une base de validation
slaRank
slaRank1000
17/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
RankSVM vs slaRank
Experiences
Conclusion
Resultats sur la base usps
svmsup
best
usps1
usps2
usps3
usps4
usps5
89,0
99,7
90,6
89,9
88,1
±
±
±
±
±
14,0
0,2
5,2
5,4
7,5
svmsup
88,7 ± 14,1
± 0,2
90,5 ± 5,1
89,5 ± 5,2
87,1 ± 7,2
99,7
slaRank∗
94,3
99,7
93,5
91,9
90,7
±
±
±
±
±
3,0
0,2
2,5
4,7
6,1
slaRanklno
93,2
99,5
91,6
90,5
90,3
±
±
±
±
±
3,9
0,4
4,3
4,5
3,5
Table: Performance AUC.
svmsup
best
usps1
usps2
usps3
usps4
usps5
svmsup
76,7 ± 16,8
99,2 ± 0,3
69,8 ± 12,1
61,7
±
17,5
54,8 ± 16,4
76,3
99,1
69,0
59,9
51,0
±
±
±
±
±
17,0
0,4
11,5
17,8
16,6
slaRank∗
slaRanklno
79,3 ± 9,6
80,7
±
6,8
± 0,4
75,2 ± 10,3
61,0 ± 17,9
53,0 ± 14,8
55,5
±
20,3
99,3
97,7 ± 2,9
68,2 ± 17,1
57,4 ± 19,5
Table: Précision moyenne.
18/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
RankSVM vs slaRank
Conclusion
Resultats sur la base coil
svmsup
best
coil1
coil2
coil3
coil4
coil5
svmsup
92, 2 ± 6, 5
68, 9 ± 12, 6
87, 5 ± 6, 5
96, 2 ± 3, 0
74, 8 ± 7, 3
92, 2 ± 6, 6
64, 7 ± 13, 7
87, 5 ± 6, 5
96, 2 ± 3, 0
74, 8 ± 7, 3
slaRank∗
94, 4 ± 5, 7
70,6
87,9
98,2
77,5
±
±
±
±
4,3
7,7
2,6
6,8
slaRanklno
95,5
±
5,2
68,6 ± 16,9
87,3 ± 7,3
97,6 ± 2,8
75,8 ± 9,0
Table: Performance AUC.
svmsup
best
coil1
coil2
coil3
coil4
coil5
68,6
40,4
36,6
74,4
41,3
±
±
±
±
±
svmsup
19,2
17,9
11,3
18,5
12,0
68,6
35,2
36,6
74,4
41,3
±
±
±
±
±
19,2
17,6
11,3
18,5
13,0
slaRank∗
72,2
±
14,9
38,9 ± 22,1
± 16,6
± 22,7
27,6 ± 10,0
38,6
81,8
slaRanklno
± 14,9
± 21,9
37,1 ± 16,9
77,3 ± 23,6
42,6 ± 18,0
72,2
39,2
Table: Précision Moyenne.
19/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
RankSVM vs slaRank
Conclusion
Resultats sur la base autavn, realsim et rcv1
svmsup
best
realsim
autavn
ccat
gcat
ecat
93,4
94,8
89,5
96,3
84,4
1,0
0,9
0,7
0,4
3,7
±
±
±
±
±
svmsup
slaRank∗
93,4 ± 1,0
94,8 ± 1.0
89,5 ± 2,2
96,3 ± 1,3
84,1 ± 12,2
± 0,7
91,5 ± 0,7
97,2 ± 0,3
85,4 ± 3,6
94,1 ± 0,9
96,0
slaRankval
1000
saRankvc
± 0,7
± 0,3
91,7 ± 0,8
97,4 ± 1,9
85,3 ± 3,6
93,6 ± 0,8
91,5 ± 1,0
97,1 ± 3,1
94,3
96,1
85,4
±
3,6
Table: Performance AUC.
svmsup
best
realsim
autavn
ccat
gcat
ecat
86,7
96,9
88,7
92,3
57,6
±
±
±
±
±
1,0
0,6
1,0
1,3
5,2
svmsup
86,7
96,8
88,6
92,7
57,2
±
±
±
±
±
1,0
0,8
1,0
1,2
5,5
slaRank∗
88,1
97,6
91,0
94,8
59,8
±
±
±
±
±
1,6
0,4
1,3
0,6
7,0
slaRankval
1000
88,1
±
1,2
91,4
±
±
±
0,9
97,5 ± 0,3
95,0
59,9
0,4
7,5
saRankvc
87,2 ± 1,2
90,9 ± 1,3
94,5 ± 0,7
59,8± 7,0
Table: Précision moyenne.
20/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
RankSVM vs slaRank
Experiences
Conclusion
100
100
98
95
90
96
Précision moyenne
Précision moyenne
Évolution des performances avec le nombre d'exemples
étiquetés
94
92
90
88
85
80
75
70
65
svm supervisé
86
svm supervisé
60
slaRank
slaRank
84
55
10
100
1000
10
100
Nombre d’exemples étiquetées
(a) autavn
100
1000
Nombre de données étiquetées
(b) realsim
100
80
75
95
95
85
80
Précision moyenne
Précision moyenne
Précision moyenne
70
90
90
85
80
75
65
60
55
50
45
40
75
svm supervisé
svm supervisé
70
slaRank
svm supervisé
35
slaRank
70
65
10
100
1000
Nombre de données étiquetées
(c) ccat
slaRank
30
10
100
Nombre de données étiquetées
(d) gcat
Truong, Amini, Gallinari
1000
10
100
1000
Nombre de données étiquetées
(e) ecat
21/23
Problématique
La méthode slaRank
Experiences
Conclusion
Conclusion
Nous avons proposé:
Cadre général pour le semisupervisé: l'autoapprentissage en
ligne
slaRank algorithme pour l'ordonnancement semisupervisé
Une stratégie de sélection de modèle lno
Perspectives
Amélioration de la mise à jour: prise en compte de l'erreur
d'étiquetage
Sélection de modèles avec peu de données étiquetées
Cas non linéaire
Extension au cadre plus général de l'ordonnancement
d'instances
22/23
Truong, Amini, Gallinari
Problématique
La méthode slaRank
Experiences
Conclusion
Merci de votre attention !!!
Questions ?
23/23
Truong, Amini, Gallinari
Téléchargement