SlideShare a Scribd company logo
1 of 50
Download to read offline
Apprentissage et factorisation matricielle pour la
                              recommandation
                            Décembre 2012, GdR ISIS



                    Julien Delporte & Stéphane Canu
                              stephane.canu@litislab.eu
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
Recommendation   Factorisation   Approche Mixte




La recommandation de tous les jours
Recommendation    Factorisation   Approche Mixte




Recommander musique, films, amis, lieux. . .
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)
Recommendation                     Factorisation           Approche Mixte




Les données de base : matrice client/produit

                            TABLE: Matrice d’achat

                                      Produit
                      0   0   1   0   1   0    0     0    0   0   0

                      1   0   0   0   0   1    1     0    0   1   0
             Client



                      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 :
    l’utilisateur n’apprécie pas l’article
    l’utilisateur ne connaît pas l’article (ou n’a pas encore
    signifié son goût).
Recommendation                            Factorisation               Approche Mixte




Les types de données : matrice client/produit


                            TABLE: Matrice de vote (rating)

                                              Films
                        ?     ?   4   ?   1     ?     ?     ?       ?   ?   ?

                        3     ?   ?   ?   ?     4     3     ?       ?   2   ?
           Spectateur




                        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
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
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
Recommendation      Factorisation   Approche Mixte




Données multi blocs (tableaux = matrices)


                           produits




                 clients   achats
Recommendation         Factorisation           Approche Mixte




Données multi blocs (tableaux = matrices)


                        produits




         clients        achats


                                              temps
Recommendation         Factorisation           Approche Mixte




Données multi blocs (tableaux = matrices)



                        produits




         clients        achats


                                              temps
Recommendation      Factorisation           Approche Mixte




Données multi blocs (tableaux = matrices)



                        produits




             clients    achats


                                           temps
Recommendation              Factorisation              Approche Mixte




Données multi blocs (tableaux = matrices)



                          produits




                                               c2         c6


    clients               achats          c3                        c4


                                       temps
                                                     c1        c5
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 »
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
Recommendation                Factorisation          Approche Mixte




Factorisation matricielle


                                      Films : V




                                             5
  Utilisateurs : U




                              Y         Matrice des observations : Y3,2 = 5
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
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)
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/
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/
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]
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
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
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)
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
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
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
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
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
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.
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
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
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
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
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
    ...
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
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
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
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    ...
              ...
              ...
       ...

              ...
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)
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
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
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
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).
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
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)
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 α)
Recommendation   Factorisation   Approche Mixte




Questions
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.

More Related Content

Similar to Main recsys factorisation

Nouveautes Minitab-Integration Python, Arbres de decision, Validation de mode...
Nouveautes Minitab-Integration Python, Arbres de decision, Validation de mode...Nouveautes Minitab-Integration Python, Arbres de decision, Validation de mode...
Nouveautes Minitab-Integration Python, Arbres de decision, Validation de mode...Minitab, LLC
 
Go to Market : Business model / Marketing
Go to Market : Business model / MarketingGo to Market : Business model / Marketing
Go to Market : Business model / MarketingEmmanuel GONON
 
Journée Thématique Ateliers UX - Evaluation UX - Carine Lallemand
Journée Thématique Ateliers UX - Evaluation UX - Carine LallemandJournée Thématique Ateliers UX - Evaluation UX - Carine Lallemand
Journée Thématique Ateliers UX - Evaluation UX - Carine LallemandFlupa
 
Evaluation de l'Expérience Utilisateur - Carine Lallemand
Evaluation de l'Expérience Utilisateur - Carine LallemandEvaluation de l'Expérience Utilisateur - Carine Lallemand
Evaluation de l'Expérience Utilisateur - Carine LallemandCarine Lallemand
 
ABTest : un outil indispensable pour être « data-driven » ? par Laurent VION
ABTest : un outil indispensable pour être « data-driven » ? par Laurent VIONABTest : un outil indispensable pour être « data-driven » ? par Laurent VION
ABTest : un outil indispensable pour être « data-driven » ? par Laurent VIONLa Cuisine du Web
 
Evaluation Site Web Avec Mesuresphysiologiques Oculometrie Emotions Sprom Tep...
Evaluation Site Web Avec Mesuresphysiologiques Oculometrie Emotions Sprom Tep...Evaluation Site Web Avec Mesuresphysiologiques Oculometrie Emotions Sprom Tep...
Evaluation Site Web Avec Mesuresphysiologiques Oculometrie Emotions Sprom Tep...Sandrine Prom Tep
 
Connected Event - Du Big Data au Smart Data 7Oct2015 - EPFL
Connected Event - Du Big Data au Smart Data 7Oct2015 - EPFLConnected Event - Du Big Data au Smart Data 7Oct2015 - EPFL
Connected Event - Du Big Data au Smart Data 7Oct2015 - EPFLRaphael Rollier
 
Big Data à destination du secteur commercial
Big Data à destination du secteur commercialBig Data à destination du secteur commercial
Big Data à destination du secteur commercialDavid Combe
 
La clé du succès d'un site web : l'analyse comportementale de l'utilisateur
La clé du succès d'un site web : l'analyse comportementale de l'utilisateurLa clé du succès d'un site web : l'analyse comportementale de l'utilisateur
La clé du succès d'un site web : l'analyse comportementale de l'utilisateurValtech Canada
 
Analyse comportemental_2010
Analyse comportemental_2010Analyse comportemental_2010
Analyse comportemental_2010guest5e563bc
 
Webinar Axys Consultants & Alteryx - Analyser les relations dans vos réseaux
Webinar Axys Consultants & Alteryx - Analyser les relations dans vos réseauxWebinar Axys Consultants & Alteryx - Analyser les relations dans vos réseaux
Webinar Axys Consultants & Alteryx - Analyser les relations dans vos réseauxAxys
 
Groupe Business Analysis de l'ADIRA, ingénierie des exigences 20170324
Groupe Business Analysis de l'ADIRA, ingénierie des exigences 20170324Groupe Business Analysis de l'ADIRA, ingénierie des exigences 20170324
Groupe Business Analysis de l'ADIRA, ingénierie des exigences 20170324Annick Rimbod-Pethiod, CBAP
 

Similar to Main recsys factorisation (20)

Les systèmes de recommandations
Les systèmes de recommandationsLes systèmes de recommandations
Les systèmes de recommandations
 
Converso Tab
Converso TabConverso Tab
Converso Tab
 
L'apport des methodes qualitatives online dans les etudes 360°
L'apport des methodes qualitatives online dans les etudes 360°L'apport des methodes qualitatives online dans les etudes 360°
L'apport des methodes qualitatives online dans les etudes 360°
 
L'apport du Quali Online dans les études 360°
L'apport du Quali Online dans les études 360°L'apport du Quali Online dans les études 360°
L'apport du Quali Online dans les études 360°
 
Nouveautes Minitab-Integration Python, Arbres de decision, Validation de mode...
Nouveautes Minitab-Integration Python, Arbres de decision, Validation de mode...Nouveautes Minitab-Integration Python, Arbres de decision, Validation de mode...
Nouveautes Minitab-Integration Python, Arbres de decision, Validation de mode...
 
Go to Market : Business model / Marketing
Go to Market : Business model / MarketingGo to Market : Business model / Marketing
Go to Market : Business model / Marketing
 
WAAUB_DIAPO_2_2.pdf
WAAUB_DIAPO_2_2.pdfWAAUB_DIAPO_2_2.pdf
WAAUB_DIAPO_2_2.pdf
 
Journée Thématique Ateliers UX - Evaluation UX - Carine Lallemand
Journée Thématique Ateliers UX - Evaluation UX - Carine LallemandJournée Thématique Ateliers UX - Evaluation UX - Carine Lallemand
Journée Thématique Ateliers UX - Evaluation UX - Carine Lallemand
 
Evaluation de l'Expérience Utilisateur - Carine Lallemand
Evaluation de l'Expérience Utilisateur - Carine LallemandEvaluation de l'Expérience Utilisateur - Carine Lallemand
Evaluation de l'Expérience Utilisateur - Carine Lallemand
 
ABTest : un outil indispensable pour être « data-driven » ? par Laurent VION
ABTest : un outil indispensable pour être « data-driven » ? par Laurent VIONABTest : un outil indispensable pour être « data-driven » ? par Laurent VION
ABTest : un outil indispensable pour être « data-driven » ? par Laurent VION
 
Evaluation Site Web Avec Mesuresphysiologiques Oculometrie Emotions Sprom Tep...
Evaluation Site Web Avec Mesuresphysiologiques Oculometrie Emotions Sprom Tep...Evaluation Site Web Avec Mesuresphysiologiques Oculometrie Emotions Sprom Tep...
Evaluation Site Web Avec Mesuresphysiologiques Oculometrie Emotions Sprom Tep...
 
Connected Event - Du Big Data au Smart Data 7Oct2015 - EPFL
Connected Event - Du Big Data au Smart Data 7Oct2015 - EPFLConnected Event - Du Big Data au Smart Data 7Oct2015 - EPFL
Connected Event - Du Big Data au Smart Data 7Oct2015 - EPFL
 
Big Data à destination du secteur commercial
Big Data à destination du secteur commercialBig Data à destination du secteur commercial
Big Data à destination du secteur commercial
 
La clé du succès d'un site web : l'analyse comportementale de l'utilisateur
La clé du succès d'un site web : l'analyse comportementale de l'utilisateurLa clé du succès d'un site web : l'analyse comportementale de l'utilisateur
La clé du succès d'un site web : l'analyse comportementale de l'utilisateur
 
Analyse comportemental_2010
Analyse comportemental_2010Analyse comportemental_2010
Analyse comportemental_2010
 
Challenge Café
Challenge CaféChallenge Café
Challenge Café
 
Webinar Axys Consultants & Alteryx - Analyser les relations dans vos réseaux
Webinar Axys Consultants & Alteryx - Analyser les relations dans vos réseauxWebinar Axys Consultants & Alteryx - Analyser les relations dans vos réseaux
Webinar Axys Consultants & Alteryx - Analyser les relations dans vos réseaux
 
presentationdecide.pptx
presentationdecide.pptxpresentationdecide.pptx
presentationdecide.pptx
 
Groupe Business Analysis de l'ADIRA, ingénierie des exigences 20170324
Groupe Business Analysis de l'ADIRA, ingénierie des exigences 20170324Groupe Business Analysis de l'ADIRA, ingénierie des exigences 20170324
Groupe Business Analysis de l'ADIRA, ingénierie des exigences 20170324
 
TO
TOTO
TO
 

More from Stéphane Canu

Lecture 2: linear SVM in the Dual
Lecture 2: linear SVM in the DualLecture 2: linear SVM in the Dual
Lecture 2: linear SVM in the DualStéphane Canu
 
Lecture10 outilier l0_svdd
Lecture10 outilier l0_svddLecture10 outilier l0_svdd
Lecture10 outilier l0_svddStéphane Canu
 
Lecture8 multi class_svm
Lecture8 multi class_svmLecture8 multi class_svm
Lecture8 multi class_svmStéphane Canu
 
Lecture7 cross validation
Lecture7 cross validationLecture7 cross validation
Lecture7 cross validationStéphane Canu
 
Lecture4 kenrels functions_rkhs
Lecture4 kenrels functions_rkhsLecture4 kenrels functions_rkhs
Lecture4 kenrels functions_rkhsStéphane Canu
 
Lecture3 linear svm_with_slack
Lecture3 linear svm_with_slackLecture3 linear svm_with_slack
Lecture3 linear svm_with_slackStéphane Canu
 
Lecture 2: linear SVM in the dual
Lecture 2: linear SVM in the dualLecture 2: linear SVM in the dual
Lecture 2: linear SVM in the dualStéphane Canu
 
Lecture 1: linear SVM in the primal
Lecture 1: linear SVM in the primalLecture 1: linear SVM in the primal
Lecture 1: linear SVM in the primalStéphane Canu
 
Lecture9 multi kernel_svm
Lecture9 multi kernel_svmLecture9 multi kernel_svm
Lecture9 multi kernel_svmStéphane Canu
 

More from Stéphane Canu (11)

Lecture 2: linear SVM in the Dual
Lecture 2: linear SVM in the DualLecture 2: linear SVM in the Dual
Lecture 2: linear SVM in the Dual
 
Lecture10 outilier l0_svdd
Lecture10 outilier l0_svddLecture10 outilier l0_svdd
Lecture10 outilier l0_svdd
 
Lecture8 multi class_svm
Lecture8 multi class_svmLecture8 multi class_svm
Lecture8 multi class_svm
 
Lecture7 cross validation
Lecture7 cross validationLecture7 cross validation
Lecture7 cross validation
 
Lecture6 svdd
Lecture6 svddLecture6 svdd
Lecture6 svdd
 
Lecture5 kernel svm
Lecture5 kernel svmLecture5 kernel svm
Lecture5 kernel svm
 
Lecture4 kenrels functions_rkhs
Lecture4 kenrels functions_rkhsLecture4 kenrels functions_rkhs
Lecture4 kenrels functions_rkhs
 
Lecture3 linear svm_with_slack
Lecture3 linear svm_with_slackLecture3 linear svm_with_slack
Lecture3 linear svm_with_slack
 
Lecture 2: linear SVM in the dual
Lecture 2: linear SVM in the dualLecture 2: linear SVM in the dual
Lecture 2: linear SVM in the dual
 
Lecture 1: linear SVM in the primal
Lecture 1: linear SVM in the primalLecture 1: linear SVM in the primal
Lecture 1: linear SVM in the primal
 
Lecture9 multi kernel_svm
Lecture9 multi kernel_svmLecture9 multi kernel_svm
Lecture9 multi kernel_svm
 

Main recsys factorisation

  • 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
  • 4. Recommendation Factorisation Approche Mixte Recommander musique, films, amis, lieux. . .
  • 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)
  • 6. Recommendation Factorisation Approche Mixte Les données de base : matrice client/produit TABLE: Matrice d’achat Produit 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 Client 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 : l’utilisateur n’apprécie pas l’article l’utilisateur ne connaît pas l’article (ou n’a pas encore signifié son goût).
  • 7. Recommendation Factorisation Approche Mixte Les types de données : matrice client/produit TABLE: Matrice de vote (rating) Films ? ? 4 ? 1 ? ? ? ? ? ? 3 ? ? ? ? 4 3 ? ? 2 ? Spectateur 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
  • 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
  • 10. Recommendation Factorisation Approche Mixte Données multi blocs (tableaux = matrices) produits clients achats
  • 11. Recommendation Factorisation Approche Mixte Données multi blocs (tableaux = matrices) produits clients achats temps
  • 12. Recommendation Factorisation Approche Mixte Données multi blocs (tableaux = matrices) produits clients achats temps
  • 13. Recommendation Factorisation Approche Mixte Données multi blocs (tableaux = matrices) produits clients achats temps
  • 14. Recommendation Factorisation Approche Mixte Données multi blocs (tableaux = matrices) produits c2 c6 clients achats c3 c4 temps c1 c5
  • 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 α)
  • 49. Recommendation Factorisation Approche Mixte Questions
  • 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.