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

Post on 15-Sep-2018

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related