Avantages du filtrage collaboratif et inconvénients

Avantages

Aucune connaissance du domaine nécessaire

Nous n'avons pas besoin de connaître le domaine, car les représentations vectorielles continues sont apprises automatiquement.

Sérendipité

Le modèle peut aider les utilisateurs à découvrir de nouveaux centres d'intérêt. Le système de ML peut isolément ne savent pas que l'utilisateur est intéressé par un article donné, mais le modèle peut tout de même le recommandent, car des utilisateurs similaires sont intéressés par cet article.

Un excellent point de départ

Dans une certaine mesure, le système n'a besoin que de la matrice de rétroaction pour entraîner une matrice de factorisation de Google. Plus précisément, le système n'a pas besoin de fonctionnalités contextuelles. En pratique, il peut être utilisé comme l'un des nombreux générateurs de candidats.

Inconvénients

Impossible de gérer les nouveaux éléments

La prédiction du modèle pour une paire (utilisateur, élément) donnée correspond au point produit des représentations vectorielles continues correspondantes. Ainsi, si un élément n'est pas vu pendant l'entraînement, le système ne peut pas créer de représentation vectorielle continue d'interroger le modèle avec cet élément. Ce problème est souvent appelé problème de démarrage à froid. Cependant, les techniques suivantes peuvent résoudre le problème de démarrage à froid dans une certaine mesure:

  • Projection en WALS. Pour un nouvel élément \(i_0\) non vu lors de l'entraînement, si le système a quelques interactions avec les utilisateurs, il peut facilement calculer une représentation vectorielle continue \(v_{i_0}\) pour cet élément sans avoir pour réentraîner l'ensemble du modèle. Le système doit simplement résoudre les problèmes suivants ou la version pondérée:

    \[\min_{v_{i_0} \in \mathbb R^d} \|A_{i_0} - U v_{i_0}\|\]

    L'équation précédente correspond à une itération en WALS : les représentations vectorielles continues des utilisateurs restent fixes et le système le résout sur l'article \(i_0\). Il en va de même pour un nouvel utilisateur.

  • Heuristiques pour générer des représentations vectorielles continues d'éléments frais Si le système n'a pas d'interactions, le système peut se rapprocher de sa représentation vectorielle continue en faisant la moyenne des représentations vectorielles continues d'éléments d'une même catégorie même utilisateur ayant mis en ligne une vidéo (dans YouTube), etc.

Difficile d'inclure des fonctionnalités secondaires pour la requête/l'élément

Les caractéristiques secondaires sont toutes les caractéristiques au-delà de l'ID de requête ou de l'élément. Films les recommandations, les caractéristiques secondaires peuvent être le pays ou l'âge. Inclus améliore la qualité du modèle. Bien que il peut être difficile d'inclure des caractéristiques secondaires dans WALS, cela est possible grâce à la généralisation de la méthode WALS.

Pour généraliser l'algorithme WALS, ajoutez des caractéristiques à la matrice d'entrée en définissant une matricielle de blocs \(\bar A\), où:

  • Le bloc (0, 0) correspond à la matrice de commentaires d'origine \(A\).
  • Block (0, 1) correspond à un encodage multi-hot des fonctionnalités utilisateur.
  • Block (1, 0) est un encodage multi-hot des caractéristiques de l'élément.