Différence entre les machines de factorisation et la factorisation matricielle?

14

Je suis tombé sur le terme Machines de factorisation dans les systèmes de recommandation. Je sais ce qu'est la factorisation matricielle pour les systèmes de recommandation, mais je n'ai jamais entendu parler des machines de factorisation. Alors quelle est la différence?

Jack Twain
la source

Réponses:

7

La factorisation matricielle est une méthode pour factoriser des matrices. Il fait un travail de décomposition d'une matrice en deux matrices de telle sorte que leur produit correspond étroitement à la matrice d'origine.

Mais les machines de factorisation sont de nature assez générale par rapport à la factorisation matricielle. La formulation du problème elle-même est très différente. Il est formulé comme un modèle linéaire, avec des interactions entre les entités comme paramètres supplémentaires. Cette interaction de fonctionnalité se fait dans leur représentation d'espace latent au lieu de leur format brut. Ainsi, avec les interactions des fonctionnalités comme dans la factorisation matricielle, il prend également les poids linéaires des différentes fonctionnalités.

Donc, par rapport à la factorisation matricielle, voici les principales différences:

  1. Dans les systèmes recommandés, où la factorisation matricielle est généralement utilisée, nous ne pouvons pas utiliser les fonctionnalités secondaires. Ex. Pour un système de recommandation de films, nous ne pouvons pas utiliser les genres de films, leur langue, etc. dans la factorisation matricielle. La factorisation elle-même doit tirer ces enseignements des interactions existantes. Mais nous pouvons transmettre ces informations dans les machines de factorisation
  2. Les machines de factorisation peuvent également être utilisées pour d'autres tâches de prédiction telles que la régression et la classification binaire. Ce n'est généralement pas le cas avec la factorisation matricielle

Le document partagé dans la réponse précédente est le document original qui parle des FM. Il a également un excellent exemple illustratif de ce qu'est exactement la FM.

Dileep Kumar Patchigolla
la source
4

La factorisation matricielle est un modèle de factorisation différent. De l' article sur la FM :

Il existe de nombreux modèles de factorisation différents comme la factorisation matricielle, l'analyse factorielle parallèle ou des modèles spécialisés comme SVD ++, PITF ou FPMC. L'inconvénient de ces modèles est qu'ils ne s'appliquent pas aux tâches de prédiction générales, mais ne fonctionnent qu'avec des données d'entrée spéciales. De plus, leurs équations de modèle et leurs algorithmes d'optimisation sont dérivés individuellement pour chaque tâche. Nous montrons que les FM peuvent imiter ces modèles simplement en spécifiant les données d'entrée (c'est-à-dire les vecteurs de caractéristiques). Cela rend les FM facilement applicables, même pour les utilisateurs sans connaissance approfondie des modèles de factorisation.

De libfm.org:

"Les machines de factorisation (FM) sont une approche générique qui permet de reproduire la plupart des modèles de factorisation par ingénierie des fonctionnalités. De cette façon, les machines de factorisation combinent la généralité de l'ingénierie des fonctionnalités avec la supériorité des modèles de factorisation dans l'estimation des interactions entre les variables catégorielles de grand domaine."

Serendipity
la source
2

Juste une extension de la réponse de Dileep.

Si les seules caractéristiques impliquées sont deux variables catégorielles (par exemple, les utilisateurs et les éléments), alors FM est équivalent au modèle de factorisation matricielle. Mais la FM peut être facilement appliquée à plus de deux fonctionnalités et à valeur réelle.

dontloo
la source