Post on 15-Sep-2018
Apprentissage et factorisation matricielle pour larecommandation
Julien Delporte & Stéphane Canustephane.canu@litislab.eu
Juin 2012, AAFD’2012
Recommendation Factorisation Approche Mixte
Plan de la présentation
1 Le problème de la recommandationLes problèmes de recommandationLes données : Big Data2 Factorisation et apprentissageFactorisation pour la recommandationApprentissage pour la recommandation3 Recommandation avec préférences et liensProblème TuentiOptimisation alternéeRésultats expérimentaux
2/38
Recommendation Factorisation Approche Mixte
La recommandation de tous les jours
3/38
Recommendation Factorisation Approche Mixte
Recommander musique, films, amis, lieux. . .
4/38
Recommendation Factorisation Approche Mixte
Les problèmes liés à la recommandation
Problèmes typesI la recommandation d’articles (publicité, lignes de code, . . .)I la recommandation d’amis (à partir de graphes)
I identification de variables cachées (profiles, groupes, . . .)Latent variables
I le monde bouge (temps)I long tail problemI cold start
I le système de recommandation (pré et post processing)
5/38
Recommendation Factorisation Approche Mixte
Les données de base : matrice client/produit
TABLE: Matrice d’achat
ProduitC
lient
0 0 1 0 1 0 0 0 0 0 0
1 0 0 0 0 1 1 0 0 1 0
1 1 0 0 0 0 0 0 1 0 0
0 1 0 0 0 0 0 0 0 0 1
0 0 0 1 0 0 0 1 0 0 0
0 0 1 0 0 0 0 1 0 0
0 1 1 1 0 0 0 0 1 1 1
0 peut signifier :I l’utilisateur n’apprécie pas l’articleI l’utilisateur ne connaît pas l’article (ou n’a pas encore
signifié son goût).6/38
Recommendation Factorisation Approche Mixte
Les types de données : matrice client/produit
TABLE: Matrice de vote (rating)
Films
Spe
ctat
eur
? ? 4 ? 1 ? ? ? ? ? ?
3 ? ? ? ? 4 3 ? ? 2 ?
1 5 ? ? ? ? ? ? 5 ? ?
? 2 ? ? ? ? ? ? ? ? 1
? ? ? 2 ? ? ? 2 ? ? ?
? ? 1 ? ? ? ? ? 1 ? ?
? 5 3 4 ? ? ? ? 1 1 4
? signifie que nous ne connaissons pas l’avis du spectateur
7/38
Recommendation Factorisation Approche Mixte
A 1 million dollars Challenge (2007-2009)
Netflix ChallengeI Recommandation de filmsI Moteur maison : cinematchI Améliorer les performances de 10%
I Gagné en 2009 par fusion : KorBell’sPragmatic Chaos
8/38
Recommendation Factorisation Approche Mixte
Les types de données : Big Data
La matrice des achats
I volumineuseI creuseI datée
Matrice bloc 3d
Autres données possiblesI Données contextuelles
I sur les clientsI sur les articles
I Réseau social(représentation : graphe)
Matrices associées
Données multi blocs structurés
9/38
Recommendation Factorisation Approche Mixte
Données multi blocs (tableaux = matrices)
achats
produits
clients
10/38
Recommendation Factorisation Approche Mixte
Données multi blocs (tableaux = matrices)
achats
produits
clients
temps
11/38
Recommendation Factorisation Approche Mixte
Données multi blocs (tableaux = matrices)
achats
produits
clients
temps
12/38
Recommendation Factorisation Approche Mixte
Données multi blocs (tableaux = matrices)
achats
produits
clients
temps
13/38
Recommendation Factorisation Approche Mixte
Données multi blocs (tableaux = matrices)
achats
produits
clients
temps c1
c2
c3
c5
c6
c4
14/38
Recommendation Factorisation Approche Mixte
Résumons nous :
I systèmes de recommandation disponible.I certains fonctionnent bienI ...et d’autres moins bien
I moteur : l’exploitation de la matrice d’achat
I Exploiter toutes les données disponiblesI multiblocs (temps, utilisateur, produit)I structurés (arbres, graphes, relations)I création de variables cachées : profilsI orrienté « usage »
15/38
Recommendation Factorisation Approche Mixte
Plan de la présentation
1 Le problème de la recommandationLes problèmes de recommandationLes données : Big Data2 Factorisation et apprentissageFactorisation pour la recommandationApprentissage pour la recommandation3 Recommandation avec préférences et liensProblème TuentiOptimisation alternéeRésultats expérimentaux
16/38
Recommendation Factorisation Approche Mixte
Factorisation matricielle
UV = X
V (variables latentes items)
(var
iabl
esla
tent
esus
ers)U
Xij = Ui•V•j (problème de complétion)17/38
Recommendation Factorisation Approche Mixte
Comment trouver U et V ?
Problème de reconstruction de la matrice Y
minY
L(Y , Y ) := ‖Y − Y‖2Favec rang(Y ) = k
Solution : décomposition en valeurs singulières (SVD)
Y = UV (= U ′ΣV ′)
Méthode de résolution « exacte » sur matrices creusesI algorithme : puissance itérée, processus de Lanczos,. . .I logiciel : PROPACK a
I regularisation : rang(Y ) = k ⇔ ‖Y‖∗ = k
a. http ://soi.stanford.edu/ rmunk/PROPACK/18/38
Recommendation Factorisation Approche Mixte
Comment calculer U et V ?
minU,VL(Y ,UV ) avec ‖U‖∗ = k et ‖V‖∗ = k
SGD (Stochastic Gradient Descent)I Calcul de gradientI règle de mise à jour par descente de gradientI UNEW
i = UOLDi − p∇UiL(Y ,U,V )
I V NEWj = V OLD
j − p∇VjL(Y ,U,V )
Algorithmes efficacesI S. Funk process a, PLSA, MMMF (Srebro et al, 2004), . . .I code : RSVD b, CofiRank c, . . .
a. http ://sifter.org/ simon/journal/20061211.htmlb. http ://code.google.com/p/pyrsvd/c. http ://www.cofirank.org/
19/38
Recommendation Factorisation Approche Mixte
Optimisation alternée
Formulation GénéraleI minU,V L(U,V ,Y ) + Ω(U,V )
Algorithme qui passe à l’échelleI calculer le gradient et isoler le terme à mettre à jour pour
obtenir la règleI example :
pour L(U,V ,Y ) = ‖UV − Y‖2 et Ω(U,V ) = 0on a : → Ui = (YiV>).(VV>)−1
I utilisé dans CoFi pour implicit feedback datasets [2]
20/38
Recommendation Factorisation Approche Mixte
NNMF (Non-Negative Matrix Factorization)
Coûts usuelsI Distance euclidienneI Divergence de Kullback-LeiblerI Divergence de Itakura-Saito
AlgorithmeI Algorithme multiplicatif (garantit positivité et parcimonie) a
I UNEW = UOLD ⊗ ∇−U L(Y ,U,V )
∇+UL(Y ,U,V )
(idem sur V )
a. voir le site de C. Févotte perso.telecom-paristech.fr/~fevotte
21/38
Recommendation Factorisation Approche Mixte
Approches non linéaires
Les réseaux de neuronesI Restricted Boltzmann Machines et architectures profondes,
L’utilisation de noyaux : kernel-CoFiI données
I clients et produits sont des points dans un RKHSI appétence de c pour p : f (c,p) = 〈c,Fp〉I F est un opérateur (une matrice) et 2 noyaux
I minFL(F ,Y ) + Ω(F )
I Ω(F ) régularisation (typiquement ‖F‖2F ou ‖F‖∗)
I AlgorithmeI régularisation spectrale adaptée aux opérateurs [1]I optimisation en dimension finie
22/38
Recommendation Factorisation Approche Mixte
Co-Clustering
But : Identifier simultanémentI des groupes d’utilisateursI des groupes d’articles
AlgorithmesI K-moyennesI SVD ( spectral coclustering)I NNM tri Factorisation [3]I modèles à blocks latentI extension aux blocs de données
voir G. G. Govaert & M. Nadif www.math-info.univ-paris5.fr/~nadifmoh
23/38
Recommendation Factorisation Approche Mixte
Social-based recommendation (cf ce matin)
Recommandation d’amis (Y = graphe social)I completion de matrice sur le réseau socialI utilisation des préférences d’utilisateurs
Graphe social en tant qu’outilI appui pour la recommendation d’articlesI construction de graphes de confianceI . . .
24/38
Recommendation Factorisation Approche Mixte
Résumé
tratement des big dataI modèle
I terme d’attache aux donnéesI pénalité
I algorithmesI gradient stochastiqueI optimisation alternéeI non linéaire et non convexe : pas de passage à l’échelle
I problème : extension aux données complexes
25/38
Recommendation Factorisation Approche Mixte
Plan de la présentation
1 Le problème de la recommandationLes problèmes de recommandationLes données : Big Data2 Factorisation et apprentissageFactorisation pour la recommandationApprentissage pour la recommandation3 Recommandation avec préférences et liensProblème TuentiOptimisation alternéeRésultats expérimentaux
26/38
Recommendation Factorisation Approche Mixte
Contexte
TuentiI Réseau social espagnolI 80% des 14-27 ans l’utilisentI Aussi gros que facebook (en espagne)
le système de recommandationI Possibilité d’aimer un lieu (bar, restau, théâtre, . . .)I Recommendation de lieu
27/38
Recommendation Factorisation Approche Mixte
Les données
Les taillesI 13 millions d’utilisateursI 100000 lieuxI 200 millions de
connexions
ParcimonieI 4 lieux par utilisateursI 20 amis par utilisateurs
user 1user 2user 3user 4
...
...
...
...
...
...
...
......
1
0
0 1011
0 10 1
0
28/38
Recommendation Factorisation Approche Mixte
Formulation du problème
fonction objectif
minU,V
∑(i,j)∈Y
cij(UiVj − Yij
)2+ λΩU,V (1)
I cij pour pénaliser les 1 plus que les 0I ΩU,V = µ‖U‖2Fro + (1− µ)‖V‖2Fro
fonction de décision
Yij = UiVj (2)
29/38
Recommendation Factorisation Approche Mixte
Formulation du problème
fonction objectif
minU,V ,α
∑(i,j)∈Y
cij(UiVj +
∑k∈Fi
αikUkVj
|Fi |− Yij
)2+ ΩU,V (1)
I cij pour pénaliser les 1 plus que les 0I ΩU,V = µ‖U‖2Fro + (1− µ)‖V‖2FroI F(i) l’enesemble des « amis » de iI αik influence de l’« ami » k sur i (k ∈ F(i))
fonction de décision « renforcée »
Yij = UiVj +∑k∈Fi
αikUkVj
|Fi |(2)
30/38
Recommendation Factorisation Approche Mixte
Algorithme
Moindres carrés alternés (à la Gauss Seidel)I Calcul des dérivées partielles→ les règles de mise à jour
I Ui ←(
Yi•C iV T − Ai UVC i V T
|Fi |
)(VC iV T + λ1I)−1
I Vj ← (U ′T C jU ′ + λ2I)−1U ′T C jY•j avec U ′i = Ui +∑k∈Fi
αik Uk
|Fi |I αik ←Yi• − UiV −
∑k∈Fik 6=i ′
αikUkV|Fi |
C iV T UTi ′
(Ui′VC i V T UT
i′|Fi | + λ3
)−1
31/38
Recommendation Factorisation Approche Mixte
Algorithme
Alternate least square optimizationInput : Y and Fintialize U,V and αRepeat
For each user i ∈ Uupdate Ui
For each item j ∈ Vupdate Vj
For each item i ∈ UFor each item k ∈ Fi
update αik
Until convergence
32/38
Recommendation Factorisation Approche Mixte
Astuce de calcul pour un produit coûteux
La parcimonie entre en jeu
réécrire : VC iV T = VV T + VYi (Ci − I)Yi V
TYi
I C i matrice diagonale dont la majorité des termes est 1.I renforcer les erreur pour Y ij = 1
I influence des lieux : VV T se calcule une seule fois.
I Yi les lieux visités par i (4 en moyenne)I calcul du produit de droite que pour certaines colonnes de
V (4 en moyenne).
33/38
Recommendation Factorisation Approche Mixte
Performances en terme de MAP et de RANK
MAP et rang moyen
MAP = 1|U|
|U|∑i=1
|M|∑k=1
P(k)Yik
|Y|RANK =
∑i,j
Yij rankij
|Y|
0 5 10 15 20
0.65
0.7
0.75
0.8
0.85
0.9
0.95
number of factors d
MA
P
iMFSE CoFiLLARSRTrustaverage
0 5 10 15 20
0.025
0.03
0.035
0.04
0.045
0.05
number of factors d
RA
NK
iMFSECoFiLLARSRTrustAverage
I tests réaliséssur un serveur24 cores avec100Go RAM
34/38
Recommendation Factorisation Approche Mixte
Retour sur les influences des amis
−0.2 0 0.2 0.4 0.6 0.8 1 1.20
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
frequency of the histogram
−0.2 0 0.2 0.4 0.6 0.8 1 1.20
5
10
15
20
25
30
35
Distribution
values of alpha
ἀ
Le principe d’homophilie est vérifié (pas d’influence négative)
35/38
Recommendation Factorisation Approche Mixte
Conclusion
BilanI prise en compte de la matrice ET du grapheI gestion d’un gros volume de donnéesI amélioration de la recommandation de lieuxI mesure de l’influence
PerspectivesI utiliser la flexibilité de l’approcheI prendre en compte les données contextuelles
I GPS, types de lieux, . . .I vers la recommandation d’amis (apprendre tous les α)
36/38
Recommendation Factorisation Approche Mixte
Questions
37/38
Recommendation Factorisation Approche Mixte
J. Abernethy, F. Bach, T. Evgeniou, and J.P. Vert.A new approach to collaborative filtering : Operatorestimation 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 InternationalConference 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.
38/38