apprentissage et factorisation matricielle pour la recommandation · i le système de...

38
Apprentissage et factorisation matricielle pour la recommandation Julien Delporte & Stéphane Canu [email protected] Juin 2012, AAFD’2012

Upload: haquynh

Post on 15-Sep-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

Apprentissage et factorisation matricielle pour larecommandation

Julien Delporte & Stéphane [email protected]

Juin 2012, AAFD’2012

Page 2: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 3: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

Recommendation Factorisation Approche Mixte

La recommandation de tous les jours

3/38

Page 4: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

Recommendation Factorisation Approche Mixte

Recommander musique, films, amis, lieux. . .

4/38

Page 5: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 6: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 7: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 8: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 9: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 10: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

Recommendation Factorisation Approche Mixte

Données multi blocs (tableaux = matrices)

achats

produits

clients

10/38

Page 11: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

Recommendation Factorisation Approche Mixte

Données multi blocs (tableaux = matrices)

achats

produits

clients

temps

11/38

Page 12: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

Recommendation Factorisation Approche Mixte

Données multi blocs (tableaux = matrices)

achats

produits

clients

temps

12/38

Page 13: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

Recommendation Factorisation Approche Mixte

Données multi blocs (tableaux = matrices)

achats

produits

clients

temps

13/38

Page 14: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

Recommendation Factorisation Approche Mixte

Données multi blocs (tableaux = matrices)

achats

produits

clients

temps c1

c2

c3

c5

c6

c4

14/38

Page 15: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 16: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 17: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 18: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 19: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 20: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 21: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 22: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 23: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 24: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 25: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 26: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 27: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 28: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 29: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 30: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 31: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 32: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 33: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 34: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 35: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 36: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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

Page 37: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

Recommendation Factorisation Approche Mixte

Questions

37/38

Page 38: Apprentissage et factorisation matricielle pour la recommandation · I le système de recommandation (pré et post processing) 5/38. Recommendation Factorisation Approche Mixte Les

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