Systèmes de Recommandation
- A est une matrice (m,n) avec m clients et n produits. En général m > n.
- A est partiellement connu
- Comment "conseiller" le produit j au client i, c'est-à-dire compléter la matrice A ?
- Problème général: étant une matrice A et un vecteur b, trouvez x tel que A.x=b
- Hypothèse: A est proche d'une matrice de rang r faible
- Si uniquement certaines valeurs de A sont connues, peut-on compléter A?
- Estimer les valeurs propres et les vecteurs propres
- Méthode générale:
- Normaliser A
- Vecteurs propres (k vecteurs de dimension n) des lignes B(k,n)
- Vecteurs propres (k vecteurs de dimension m) des colonnes C(m, k)
- A est proche de C*B
- Recommandation du client i: la plus grande valeur inconnue de C(i)*B(j), i.e. Max j {C(i)*B(j)}
- Echantillonner cette valeur suffit.
- http://mdr.free.fr/td/recommend1.py
- Applications
- Recommandations:
- Netflix, Amazon
- Affective markets