1. Apprentissage et factorisation matricielle pour la
recommandation
Décembre 2012, GdR ISIS
Julien Delporte & Stéphane Canu
stephane.canu@litislab.eu
2. Recommendation Factorisation Approche Mixte
Plan de la présentation
1 Le problème de la recommandation
Les problèmes de recommandation
Les données : Big Data
2 Factorisation et apprentissage
Factorisation et décomposition en valeurs singulières
Factorisation et Netflix
Apprentissage pour la recommandation
3 Recommandation avec préférences et liens
Problème Tuenti
Optimisation alternée
Résultats expérimentaux
3. Recommendation Factorisation Approche Mixte
La recommandation de tous les jours
5. Recommendation Factorisation Approche Mixte
Les problèmes liés à la recommandation
Problèmes types
la recommandation d’articles (publicité, lignes de code, . . .)
la recommandation d’amis (à partir de graphes)
identification de variables cachées (profiles, groupes, . . .)
Latent variables
le monde bouge (temps)
long tail problem
cold start
le système de recommandation (pré et post processing)
8. Recommendation Factorisation Approche Mixte
A 1 million dollars Challenge (2007-2009)
Netflix Challenge
Recommandation de films
Moteur maison : cinematch
Améliorer les performances de 10%
Gagné en 2009 par fusion : KorBell’s
Pragmatic Chaos
9. Recommendation Factorisation Approche Mixte
Les types de données : Big Data
La matrice des achats Autres données possibles
Données contextuelles
volumineuse
sur les clients
creuse sur les articles
datée Réseau social
(représentation : graphe)
Matrice bloc 3d Matrices associées
Données multi blocs structurés
15. Recommendation Factorisation Approche Mixte
Résumons nous :
systèmes de recommandation disponible.
certains fonctionnent bien
...et d’autres moins bien
moteur : l’exploitation de la matrice d’achat
Exploiter toutes les données disponibles
multiblocs (temps, utilisateur, produit)
structurés (arbres, graphes, relations)
création de variables cachées : profils
orrienté « usage »
16. Recommendation Factorisation Approche Mixte
Plan de la présentation
1 Le problème de la recommandation
Les problèmes de recommandation
Les données : Big Data
2 Factorisation et apprentissage
Factorisation et décomposition en valeurs singulières
Factorisation et Netflix
Apprentissage pour la recommandation
3 Recommandation avec préférences et liens
Problème Tuenti
Optimisation alternée
Résultats expérimentaux
17. Recommendation Factorisation Approche Mixte
Factorisation matricielle
Films : V
5
Utilisateurs : U
Y Matrice des observations : Y3,2 = 5
18. Recommendation Factorisation Approche Mixte
Factorisation matricielle
V (variables latentes items)
Y = UV + bruit
5
U(variables latentes users)
Y Matrice des observations : Y3,2 = 5
19. Recommendation Factorisation Approche Mixte
Complétion de matrice
V (variables latentes items)
2
Y = UV + bruit
0
1
U
2 1 -3 1
(variables latentes users)
Yij = Ui• V•j (problème de complétion)
20. Recommendation Factorisation Approche Mixte
Comment trouver U et V ?
Problème de reconstruction de la matrice Y
min L(Y , Y ) := Y − Y 2
F
Y
avec rang(Y ) = k
Eckart & Young 1936
Solution : décomposition en valeurs singulières (SVD)
Y = UV (= U ΣV )
Méthode de résolution « exacte » sur matrices creuses
algorithme : processus de Lanczos
Bidiagonalisation Y = WBZ
diagonalisation de B (rotations de givens GVL 8.6.1)
logiciel : PROPACK a
a. http ://soi.stanford.edu/ rmunk/PROPACK/
21. Recommendation Factorisation Approche Mixte
Comment calculer U et V ?
min L(Y , UV ) avec rang(U) = rang(V ) = k
U,V
SGD (Stochastic Gradient Descent)
Calcul de gradient
règle de mise à jour par descente de gradient
UiNEW = UiOLD − p Ui L(Y , U, V )
VjNEW = VjOLD −p Vj L(Y , U, V )
Algorithmes efficaces
S. Funk process a , PLSA, MMMF (Srebro et al, 2004), . . .
code : RSVD b , CofiRank c , . . .
a. http ://sifter.org/ simon/journal/20061211.html
b. http ://code.google.com/p/pyrsvd/
c. http ://www.cofirank.org/
22. Recommendation Factorisation Approche Mixte
Optimisation alternée
Formulation Générale
min L(U, V , Y ) + Ω(U, V )
U,V
attache aux données : L(U, V , Y )
pénalisation : Ω(U, V )
Algorithme qui passe à l’échelle
calculer le gradient et isoler le terme à mettre à jour pour
obtenir la règle
example :
pour L(U, V , Y ) = UV − Y 2 et Ω(U, V ) = 0
on a : → Ui = (Yi V ).(VV )−1
utilisé dans CoFi pour implicit feedback datasets [2]
23. Recommendation Factorisation Approche Mixte
Un succès de la factoriasation
Netflix Challenge (2007-2009)
Recommandation de films
Moteur maison : CineMatch
Améliorer les performances de 10%
critère : erreur quadratique
Les données
450 000 spectateurs
17 000 films
100 millons d’évaluations (de 1 à 5)
taux de remplissage : 1,3 %
test sur les 3 millions les plus récents
48 000 téléchargements des donées
24. Recommendation Factorisation Approche Mixte
baseline : CineMatch
factorisation : SVD régularisée à k facteurs Ui , Vj ∈ I k
R
min (Yij − Ui Vj )2 + λ( Ui 2
+ Vi 2
)
U,V
i,j
normalisation : moyenne globale µ, pour l’utilisateur i bi
min (Yij − Ui Vj − µ − bi − bj )2 + λ( Ui 2
+ Vi 2
)
U,V
i,j
poids : implicit feedback cij : niveau de confiance
min cij (Yij − Ui Vj − µ − bi − bj )2 + λ( Ui 2
+ Vi 2
)
U,V
i,j
temps
min (Yij − Ui (t) Vj )2 + λ( Ui 2
+ Vi 2
)
U,V
i,j
Mélanges de modèles
25. Recommendation Factorisation Approche Mixte
Les résultats sur Netflix
erreur initiale : 0.9514
factorisation - 4 %
nombres de facteurs - .5 %
améliorations - 2.5 %
normalisation
poids
temps
bagging : - 3 % = 0.8563
mélange 100 méthodes
Koren, Y., Bell, R.M., Volinsky, C. : Matrix factorization techniques for recommender systems. IEEE Computer 42(8), 30–37 (2009)
26. Recommendation Factorisation Approche Mixte
Les leçons de Netflix
trop d’efforts spécifiques pour être généralisée
factorisation is the solution
poids : implicit feedback
prendre en compte les spécificités (ici l’effet temps)
une algorithmique de type gradient stochastique
flexible
qui passe à l’échelle
27. Recommendation Factorisation Approche Mixte
Modèles de complétion de matrice
Régularité norme(M)
rang(M)
factorisation : M = UV
parcimonie
data = info + bruit
non linéaire : noyaux
blocs (classification croisée)
Y = M + bruit
M = UBV Uij ∈ {0, 1}
probabiliste : blocs latent
et M régulière
Bruit Modèle de buit :
gaussien Yij ∼ N (Mij , σ 2 )
logistic Yij ∼ B(Mij )
problèmes d’optimisation
non convexe et non différentiable
28. Recommendation Factorisation Approche Mixte
Modèles du bruit : attache aux données
continue
Gaussien 2 : frobenius
entropie
divergences
0/1
distance du χ2 : AFC
cout logistique
cout charnière
Rang
NDCG@k (Normalized Discounted Cumulative Gain)
relaxation convexe (CoFiRank)
problèmes d’optimisation
non convexe
29. Recommendation Factorisation Approche Mixte
Exemple des données 0/1 : l’ACP logistique
Observations : yij ∈ {0, 1}
Loi de Bernouilli : Yij ∼ B(Pij (θij ))
Yij : le passage à l’acte
Pij probabilité d’acheter
θij appétence ou fonction d’utilité
expθij
Modèle logistique : Pij = I
P(Yij = 1) =
1 + expθij
k
Modèle d’utilité : θij = Uκ,i Vκ,j = Ui Vj
κ=1
Cout : min L(U, V )
U,V
n p
L(U, V ) = −yij Ui Vj + log 1 + expUi Vj
i j
30. Recommendation Factorisation Approche Mixte
Modèles de régularité
Rang(M) : Eckart & Young 1936 = SVD
norme de Frobenius : U 2 = i,j Uij
F
2
norme parcimonieuse : U 1 = i,j |Uij |
contraintes de positivité : Ui,j ≥ 0
Mx p
normes d’opérateurs : M p = supx x p
p = 1 : max lignes
p = 2 : max λi
p = ∞ : max colonnes
Mx
max normes M = supx x qp
q→p
√
norme nucléaire M ∗ = Tr M M = λi
normes mixtes, groupées, structurées ou pondérées. . .
problèmes d’optimisation
non convexe et non différentiable
31. Recommendation Factorisation Approche Mixte
Optimisation non convexe et non différentiable
Traitement de la non convexité – cardinalité : rang(M)
relaxation sous modulaire 1
relaxation 1 (non différentiable) :
0 → 1vue comme son enveloppe convexe
√
rang(M) → norme nucléaire 2 M ∗ = Tr M M = λi
Optimisation non convexe et non différentiable 3
min J(U, V ) = L(Y , UV ) + λ Ω(U, V )
U,V
(U ∗ , V ∗ ) min loc ⇒ 0 ∈ ∂c J(U ∗ , V ∗ ) sous différentielle de Clark
1. tutorial MLSS 2012 de F. Bach Learning with submodular functions di.ens.fr/~fbach/
2. Pour l’heuristique de la norme nucléaire voir : [Fazel, Hindi, Boyd 01] et [Recht, Fazel, Parillo 08]
3. S. Sra, Scalable nonconvex inexact proximal splitting, NIPS 2012.
32. Recommendation Factorisation Approche Mixte
Optimisation non convexe et non différentiable
Réécriture : séparation de la partie non convexe
différentiable de la partie non différentiable convexe :
J(U, V ) = L(Y , UV )+λ Ω(U, V ) = J1 (U, V ) + J2 (U, V )
différentiable f convexe f
Condition d’optimalité locale (stationarité) 4 :
0 ∈ ∂c J(U ∗ , V ∗ ) ⇐⇒ J1 (U ∗ , V ∗ ) ∈ ∂J2 (U ∗ , V ∗ )
Possibilité d’utiliser un algorithme proximal
4. proposition 2.3.3 corollary 1, F. Clarke, Optimization and nonsmooth analysis, 1987
33. Recommendation Factorisation Approche Mixte
NNMF (Non-Negative Matrix Factorization)
Y = UV + b et Vij ≥ 0
Coûts usuels
Distance euclidienne
Divergence de Kullback-Leibler
Divergence de Itakura-Saito
Algorithme
Algorithme multiplicatif (garantit positivité et parcimonie) a
−
U L(Y ,U,V )
U NEW = U OLD ⊗ + (idem sur V )
U L(Y ,U,V )
a. voir le site de C. Févotte perso.telecom-paristech.fr/~fevotte
34. Recommendation Factorisation Approche Mixte
Approches non linéaires
Les réseaux de neurones
Restricted Boltzmann Machines et architectures profondes,
L’utilisation de noyaux : kernel-CoFi
données
clients et produits sont des points dans un RKHS
appétence de c pour p : f (c, p) = c, Fp
F est un opérateur (une matrice) et 2 noyaux
min L(F , Y ) + Ω(F )
F
2
Ω(F ) régularisation (typiquement F F ou F ∗)
Algorithme
régularisation spectrale adaptée aux opérateurs [1]
optimisation en dimension finie
35. Recommendation Factorisation Approche Mixte
Classification croisée – Co-Clustering
Y = M + bruit
But : Identifier simultanément
des groupes d’utilisateurs
des groupes d’articles
Algorithmes
K-moyennes
SVD (spectral coclustering)
NNM tri Factorisation [3]
modèles à blocks latent
extension aux blocs de données
voir G. G. Govaert & M. Nadif www.math-info.univ-paris5.fr/~nadifmoh
36. Recommendation Factorisation Approche Mixte
Social-based recommendation
Recommandation d’amis (Y = graphe social)
completion de matrice sur le réseau social
utilisation des préférences d’utilisateurs
Graphe social en tant qu’outil
appui pour la recommendation d’articles
construction de graphes de confiance
...
37. Recommendation Factorisation Approche Mixte
Résumé
tratement des big data
modèle
Factorisation
terme d’attache aux données
pénalité
Classification croisée (blocs)
algorithmes
gradient stochastique
optimisation alternée
non linéaire et non convexe
problème : extension aux données complexes
38. Recommendation Factorisation Approche Mixte
Plan de la présentation
1 Le problème de la recommandation
Les problèmes de recommandation
Les données : Big Data
2 Factorisation et apprentissage
Factorisation et décomposition en valeurs singulières
Factorisation et Netflix
Apprentissage pour la recommandation
3 Recommandation avec préférences et liens
Problème Tuenti
Optimisation alternée
Résultats expérimentaux
39. Recommendation Factorisation Approche Mixte
Contexte
Tuenti
Réseau social espagnol
80% des 14-27 ans l’utilisent
Aussi gros que facebook (en Espagne)
le système de recommandation
Possibilité d’aimer un lieu (bar, restaurant, théâtre, . . .)
Recommandation de lieu
40. Recommendation Factorisation Approche Mixte
Les données
Les tailles Parcimonie
13 millions d’utilisateurs 4 lieux par utilisateurs
100000 lieux 20 amis par utilisateurs
200 millions de
connexions
...
user 1 1 0 1 ...
user 2 1 1 0 ...
user 3 0 0 1 ...
user 4 0 1 0 ...
...
...
...
...
41. Recommendation Factorisation Approche Mixte
Formulation du problème
fonction objectif
2
min cij Ui Vj − Yij + λΩU,V (1)
U,V
(i,j)∈Y
cij pour pénaliser les 1 plus que les 0
ΩU,V = µ U 2 + (1 − µ) V 2
Fro Fro
fonction de décision
ˆ
Yij = Ui Vj (2)
42. Recommendation Factorisation Approche Mixte
Formulation du problème
fonction objectif
αik Uk Vj 2
min cij Ui Vj + − Yij + ΩU,V (1)
U,V ,α |Fi |
(i,j)∈Y k ∈Fi
cij pour pénaliser les 1 plus que les 0
ΩU,V = µ U 2 + (1 − µ) V 2
Fro Fro
Fi l’enesemble des « amis » de i
αik influence de l’« ami » k sur i (k ∈ Fi )
fonction de décision « renforcée »
ˆ αik Uk Vj
Yij = Ui Vj + (2)
|Fi |
k ∈Fi
43. Recommendation Factorisation Approche Mixte
Algorithme
Moindres carrés alternés – SE CoFi
Input : Y and F
intialize U,V and α
Repeat
For each user i ∈ U
update Ui
For each item j ∈ V
update Vj
For each item i ∈ U
For each item k ∈ Fi
update αik
Until convergence
44. Recommendation Factorisation Approche Mixte
Algorithme
Détail des gradients
Calcul des dérivées partielles → les règles de mise à jour
Ai UVC i V T
Ui ← Yi• C i V T − |Fi | (VC i V T + λ1 I)−1
αik Uk
Vj ← (U T C j U + λ2 I)−1 U T C j Y•j avec Ui = Ui +
|Fi |
k ∈Fi
αik ←
−1
Yi• − Ui V − αik Uk V i T T
C V U Ui VC i V T UiT
i |Fi | + λ3
|Fi |
k ∈Fi
k =i
45. Recommendation Factorisation Approche Mixte
Astuce de calcul pour un produit coûteux
La parcimonie entre en jeu
réécrire : VC i V T = VV T + VYi (C i − I)Yi VYi
T
C i matrice diagonale dont la majorité des termes est 1.
renforcer les erreur pour Y ij = 1
influence des lieux : VV T se calcule une seule fois.
Yi les lieux visités par i (4 en moyenne)
calcul du produit de droite que pour certaines colonnes de
V (4 en moyenne).
46. Recommendation Factorisation Approche Mixte
Performances en terme de MAP et de RANK
MAP et rang moyen
|M|
|U |
P(k )Yik Yij rankij
1 k =1 i,j
MAP = |U | RANK =
|Y| |Y|
i=1
iMF
SE CoFi
LLA 0.05
0.95 RSR
Trust
average
0.9 0.045
0.85
0.04
tests réalisés
sur un serveur
RANK
MAP
0.8
0.75
0.035
24 cores avec
0.03
iMF
100Go RAM
0.7 SECoFi
LLA
RSR
0.025 Trust
Average
0.65
0 5 10 15 20 0 5 10 15 20
number of factors d number of factors d
47. Recommendation Factorisation Approche Mixte
Retour sur les influences des amis
0.9 35
0.8
30
0.7
25
frequency of the histogram
0.6
Distribution
0.5 20
0.4 15
0.3
10
0.2
5
0.1
0 0
−0.2 0 0.2 0.4 0.6 0.8 1 1.2
ἀ
values of alpha
Le principe d’affinité (homophily) est vérifié (pas d’influence
négative)
48. Recommendation Factorisation Approche Mixte
Conclusion
Bilan
prise en compte de la matrice ET du graphe
gestion d’un gros volume de données
amélioration de la recommandation de lieux
mesure de l’influence
Perspectives
utiliser la flexibilité de l’approche
prendre en compte les données contextuelles
GPS, types de lieux, . . .
vers la recommandation d’amis (apprendre tous les α)
50. Recommendation Factorisation Approche Mixte
J. Abernethy, F. Bach, T. Evgeniou, and J.P. Vert.
A new approach to collaborative filtering : Operator
estimation with spectral regularization.
The Journal of Machine Learning Research, 10 :803–826,
2009.
Y. Hu, Y. Koren, and C. Volinsky.
Collaborative filtering for implicit feedback datasets.
In Data Mining, 2008. ICDM’08. Eighth IEEE International
Conference on, pages 263–272. Ieee, 2008.
L. Labiod and M. Nadif.
Co-clustering under nonnegative matrix tri-factorization.
In Neural Information Processing, pages 709–717.
Springer, 2011.