Apprentissage et factorisation matricielle pour la recommandation



Documents pareils
Tour d horizon de l apprentissage statistique. from Machine Learning to Big Data Analytics

INF6304 Interfaces Intelligentes

Introduction au Data-Mining

Apprentissage Automatique

Optimisation et programmation mathématique. Professeur Michel de Mathelin. Cours intégré : 20 h

Résolution de systèmes linéaires par des méthodes directes

K. Ammar, F. Bachoc, JM. Martinez. Séminaire ARISTOTE - 23 octobre Palaiseau

de calibration Master 2: Calibration de modèles: présentation et simulation d

L'intelligence d'affaires: la statistique dans nos vies de consommateurs

5. Apprentissage pour le filtrage collaboratif

Cours d analyse numérique SMI-S4

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Intégration de la dimension sémantique dans les réseaux sociaux

Une comparaison de méthodes de discrimination des masses de véhicules automobiles

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Une méthode de classification supervisée sans paramètre pour l apprentissage sur les grandes bases de données

4.2 Unités d enseignement du M1

Formation Actuaire Data Scientist. Programme au 24 octobre 2014

Systèmes de recommandation de produits Projet CADI Composants Avancés pour la DIstribution

BIG Data et R: opportunités et perspectives

Analyse en Composantes Principales

Apprentissage statistique dans les graphes et les réseaux sociaux

Apprentissage automatique et méga données

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

La classification automatique de données quantitatives

Vérification audiovisuelle de l identité

Introduction au Data-Mining

Anticiper et prédire les sinistres avec une approche Big Data

Annexe 6. Notions d ordonnancement.

Algorithmes de recommandation, Cours Master 2, février 2011

Les datas = le fuel du 21ième sicècle

Classification Automatique de messages : une approche hybride

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Renforcement des trois compétences : compréhension orale, expression orale et expression écrite à partir de documents et vidéos.

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

Comment rendre un site d e-commerce intelligent

Une application de méthodes inverses en astrophysique : l'analyse de l'histoire de la formation d'étoiles dans les galaxies

Le pilotage des collaborations et l interopérabilité des systèmes d information Vers une démarche intégrée

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Echantillonnage Non uniforme

I. Programmation I. 1 Ecrire un programme en Scilab traduisant l organigramme montré ci-après (on pourra utiliser les annexes):

Reconnaissance de visages 2.5D par fusion des indices de texture et de profondeur ICI 12/12/12

Modélisation du comportement habituel de la personne en smarthome

Arbres binaires de décision

Coup de Projecteur sur les Réseaux de Neurones

Résolution d équations non linéaires

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Introduction au datamining

Chapitre 6 Apprentissage des réseaux de neurones et régularisation

20 ans du Master SIAD de Toulouse - BigData par l exemple - Julien DULOUT - 22 mars ans du SIAD -"Big Data par l'exemple" -Julien DULOUT

Application de K-means à la définition du nombre de VM optimal dans un cloud

Exercice : la frontière des portefeuilles optimaux sans actif certain

Historique. Architecture. Contribution. Conclusion. Définitions et buts La veille stratégique Le multidimensionnel Les classifications

Extraction d informations stratégiques par Analyse en Composantes Principales

Agenda de la présentation

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

1 Complément sur la projection du nuage des individus

MapReduce. Nicolas Dugué M2 MIAGE Systèmes d information répartis

Chapitre 5 : Flot maximal dans un graphe

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Big Data et Graphes : Quelques pistes de recherche

4 Exemples de problèmes MapReduce incrémentaux

Data Mining. Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne. Data Mining. V. Augusto.

Mesure agnostique de la qualité des images.

Le Futur de la Visualisation d Information. Jean-Daniel Fekete Projet in situ INRIA Futurs

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Analytics & Big Data. Focus techniques & nouvelles perspectives pour les actuaires. Université d Eté de l Institut des Actuaires Mardi 8 juillet 2014

PREPROCESSING PAR LISSAGE LOESS POUR ACP LISSEE

1 Introduction et modèle mathématique

Analyse des correspondances avec colonne de référence

Calcul différentiel. Chapitre Différentiabilité

Contrôle stochastique d allocation de ressources dans le «cloud computing»

Sujet 4: Programmation stochastique propriétés de fonction de recours

3 Approximation de solutions d équations

Bases de données documentaires et distribuées Cours NFE04

L écosystème Hadoop Nicolas Thiébaud Tuesday, July 2, 13

AICp. Vincent Vandewalle. To cite this version: HAL Id: inria

Introduction aux systèmes temps réel. Iulian Ober IRIT

Enjeux mathématiques et Statistiques du Big Data

ÉTUDE ET DÉVELOPPEMENT D UN SYSTÈME EXPERT BASÉ SUR LES RÉSEAUX DE NEURONES POUR LE DIAGNOSTIC DES DÉFAUTS DE ROULEMENTS

Différentiabilité ; Fonctions de plusieurs variables réelles

CHAPITRE I. Modélisation de processus et estimation des paramètres d un modèle

Programmation linéaire

Principe de symétrisation pour la construction d un test adaptatif

Fouillez facilement dans votre système Big Data. Olivier TAVARD

Contents. 1 Introduction Objectifs des systèmes bonus-malus Système bonus-malus à classes Système bonus-malus : Principes

MCMC et approximations en champ moyen pour les modèles de Markov

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Bases de données réparties: Fragmentation et allocation

FaceBook aime les Maths!

Détection d utilisateurs malveillants dans les réseaux sociaux

Rapport d'analyse des besoins

Master IAD Module PS. Reconnaissance de la parole (suite) Alignement temporel et Programmation dynamique. Gaël RICHARD Février 2008

BIG DATA. Veille technologique. Malek Hamouda Nina Lachia Léo Valette. Commanditaire : Thomas Milon. Encadré: Philippe Vismara

TRAVAUX DE RECHERCHE DANS LE

L apprentissage automatique

Transcription:

Apprentissage et factorisation matricielle pour la recommandation Décembre 2012, GdR ISIS Julien Delporte & Stéphane Canu stephane.canu@litislab.eu

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

La recommandation de tous les jours

Recommendation Factorisation Approche Mixte Recommander musique, films, amis, lieux...

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)

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 peut signifier : 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 1 1 1 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).

Les types de données : matrice client/produit TABLE: Matrice de vote (rating) Films?? 4? 1?????? Spectateur 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

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

Les types de données : Big Data La matrice des achats volumineuse creuse datée Matrice bloc 3d Autres données possibles Données contextuelles sur les clients sur les articles Réseau social (représentation : graphe) Matrices associées Données multi blocs structurés

Données multi blocs (tableaux = matrices) produits clients achats

Données multi blocs (tableaux = matrices) produits clients achats temps

Données multi blocs (tableaux = matrices) produits clients achats temps

Données multi blocs (tableaux = matrices) produits clients achats temps

Données multi blocs (tableaux = matrices) produits c 2 c 6 clients achats c 3 c 4 temps c 1 c 5

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»

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

Factorisation matricielle Films : V 5 Utilisateurs : U Y Matrice des observations : Y 3,2 = 5

Factorisation matricielle Y = UV + bruit V (variables latentes items) 5 (variables latentes users)u Y Matrice des observations : Y 3,2 = 5

Complétion de matrice Y = UV + bruit V (variables latentes items) 2 0 1 (variables latentes users)u 2 1-3 1 Ŷ ij = U i V j (problème de complétion)

Comment trouver U et V? Problème de reconstruction de la matrice Y min Ŷ avec L(Y, Ŷ ) := Y Ŷ 2 F rang(ŷ ) = k Eckart & Young 1936 Solution : décomposition en valeurs singulières (SVD) Ŷ = 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/

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 Ui NEW Vj NEW = Ui OLD p Ui L(Y, U, V ) = Vj OLD 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/

Optimisation alternée Formulation Générale min U,V L(U, V, Y ) + Ω(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 : U i = (Y i V ).(VV ) 1 utilisé dans CoFi pour implicit feedback datasets [2]

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

baseline : CineMatch factorisation : SVD régularisée à k facteurs U i, V j IR k min U,V (Y ij Ui V j ) 2 + λ( U i 2 + V i 2 ) i,j normalisation : moyenne globale µ, pour l utilisateur i bi (Y ij Ui V j µ b i b j ) 2 + λ( U i 2 + V i 2 ) min U,V i,j poids : implicit feedback cij : niveau de confiance c ij (Y ij Ui V j µ b i b j ) 2 + λ( U i 2 + V i 2 ) min U,V temps i,j min U,V (Y ij U i (t) V j ) 2 + λ( U i 2 + V i 2 ) i,j Mélanges de modèles

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)

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

Modèles de complétion de matrice data = info + bruit Y = M + bruit et M régulière problèmes d optimisation non convexe et non différentiable Régularité norme(m) rang(m) factorisation : M = UV parcimonie non linéaire : noyaux blocs (classification croisée) M = UBV U ij {0, 1} probabiliste : blocs latent Bruit Modèle de buit : gaussien Yij N (M ij, σ 2 ) logistic Yij B(M ij )

Modèles du bruit : attache aux données continue Gaussien l2 : 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

Exemple des données 0/1 : l ACP logistique Observations : y ij {0, 1} Loi de Bernouilli : Y ij B(P ij (θ ij )) Yij : le passage à l acte P ij probabilité d acheter θ ij appétence ou fonction d utilité Modèle logistique : P ij = IP(Y ij = 1) = expθ ij 1 + exp θ ij k Modèle d utilité : θ ij = U κ,i V κ,j = Ui V j Cout : min L(U, V ) U,V L(U, V ) = n i κ=1 p y ij Ui V j + log ( ) 1 + exp U i V j j

Modèles de régularité Rang(M) : Eckart & Young 1936 = SVD norme de Frobenius : U 2 F = i,j U2 ij norme parcimonieuse : U 1 = i,j U ij contraintes de positivité : U i,j 0 Mx normes d opérateurs : M p = sup p x x p p = 1 : max lignes p = 2 : max λ i p = : max colonnes max normes M q p = sup x Mx p x q 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

Optimisation non convexe et non différentiable Traitement de la non convexité cardinalité : rang(m) relaxation sous modulaire 1 relaxation l1 (non différentiable) : l 0 l 1 vue comme son enveloppe convexe rang(m) norme nucléaire 2 M = Tr ( M M ) = λ i Optimisation non convexe et non différentiable 3 min U,V J(U, V ) = L(Y, UV ) + λ Ω(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.

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 ) = J 1 (U, V ) } {{ } + J 2 (U, V ) } {{ } différentiable f convexe f Condition d optimalité locale (stationarité) 4 : 0 c J(U, V ) J 1 (U, V ) J 2 (U, V ) Possibilité d utiliser un algorithme proximal 4. proposition 2.3.3 corollary 1, F. Clarke, Optimization and nonsmooth analysis, 1987

NNMF (Non-Negative Matrix Factorization) Y = UV + b et V ij 0 Coûts usuels Distance euclidienne Divergence de Kullback-Leibler Divergence de Itakura-Saito Algorithme Algorithme multiplicatif (garantit positivité et parcimonie) a U NEW = U OLD U L(Y,U,V ) + U L(Y,U,V ) (idem sur V ) a. voir le site de C. Févotte perso.telecom-paristech.fr/~fevotte

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 Ω(F) régularisation (typiquement F 2 F ou F ) Algorithme régularisation spectrale adaptée aux opérateurs [1] optimisation en dimension finie

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

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

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

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

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

Les données Les tailles 13 millions d utilisateurs 100000 lieux 200 millions de connexions user 1 1 0 1 user 2 1 1 0 user 3 0 user 4 0 1 0 0 1........................... Parcimonie 4 lieux par utilisateurs 20 amis par utilisateurs

Formulation du problème fonction objectif min U,V (i,j) Y c ij pour pénaliser les 1 plus que les 0 Ω U,V = µ U 2 Fro + (1 µ) V 2 Fro c ij ( Ui V j Y ij ) 2 + λωu,v (1) fonction de décision Ŷ ij = U i V j (2)

Formulation du problème fonction objectif min U,V,α (i,j) Y c ij ( Ui V j + k F i α ik U k V j F i Y ij ) 2 + ΩU,V (1) c ij pour pénaliser les 1 plus que les 0 Ω U,V = µ U 2 Fro + (1 µ) V 2 Fro F i l enesemble des «amis» de i α ik influence de l «ami» k sur i (k F i ) fonction de décision «renforcée» Ŷ ij = U i V j + k F i α ik U k V j F i (2)

Algorithme Moindres carrés alternés SE CoFi Input : Y and F intialize U,V and α Repeat For each user i U update U i For each item j V update V j For each item i U For each item k F i update α ik Until convergence

Algorithme Détail des gradients Calcul des dérivées partielles les règles de mise à jour ( ) U i Y i C i V T A i UVC i V T F i (VC i V T + λ 1 I) 1 V j (U T C j U + λ 2 I) 1 U T C j Y j avec U i = U i + k Fi α ik α ik U k F i Y i U i V ( ) α ik U k V 1 F i Ci V T U T U i VC i V T U T i i F i + λ 3 k F i k i

Astuce de calcul pour un produit coûteux La parcimonie entre en jeu réécrire : VC i V T = VV T + V Yi (C i I) Yi V T Y i 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. Y i les lieux visités par i (4 en moyenne) calcul du produit de droite que pour certaines colonnes de V (4 en moyenne).

Performances en terme de MAP et de RANK MAP et rang moyen MAP = 1 U U i=1 M P(k)Y ik k=1 Y RANK = Y ij rank ij i,j Y 0.95 imf SE CoFi LLA RSR Trust average 0.05 MAP 0.9 0.85 0.8 0.75 0.7 0.65 RANK 0.045 0.04 0.035 0.03 0.025 imf SECoFi LLA RSR Trust Average tests réalisés sur un serveur 24 cores avec 100Go RAM 0 5 10 15 20 number of factors d 0 5 10 15 20 number of factors d

Retour sur les influences des amis 0.9 35 frequency of the histogram 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 30 25 20 15 10 5 Distribution 0 0.2 0 0.2 0.4 0.6 0.8 1 1.2 0 values of ἀalpha Le principe d affinité (homophily) est vérifié (pas d influence négative)

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 α)

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.