Présentation des recommandations
Les systèmes de recommandation sont l'une des applications de machine learning les plus performantes et les plus répandues pour les entreprises. Vous pouvez utiliser un système de recommandation afin d'aider les utilisateurs à trouver du contenu intéressant dans un volume important de contenus. Par exemple, Google Play Store et YouTube proposent respectivement des millions d'applications et des milliards de vidéos, avec toujours plus d'applications et de vidéos ajoutées chaque jour. Les utilisateurs peuvent se servir de la recherche pour trouver de nouveaux contenus, mais les termes de recherche qu'ils utilisent sont limités. Un système de recommandation permet de suggérer des contenus que les utilisateurs n'ont peut-être pas pensés à rechercher par eux-mêmes. Pour en savoir plus, consultez la page Présentation des systèmes de recommandation.
Les algorithmes de machine learning dans les systèmes de recommandation sont généralement classés dans les catégories suivantes :
- Filtrage basé sur le contenu : utilise la similarité entre les éléments pour fournir des recommandations. Par exemple, si un utilisateur regarde deux vidéos de chats mignons, le système de recommandation peut lui recommander des vidéos d'animaux mignons.
- Filtrage collaboratif : utilise les similitudes entre les utilisateurs (en fonction des requêtes des utilisateurs) pour fournir des recommandations. Par exemple, si l'utilisateur A recherche des éléments similaires à l'utilisateur B, et que l'utilisateur B aime la vidéo 1, le système de recommandation peut recommander la vidéo 1 à l'utilisateur A, même si l'utilisateur A n'a regardé aucune vidéo similaire à la vidéo 1.
Modèles de factorisation matricielle
Les modèles de factorisation matricielle sont couramment utilisés comme méthode de filtrage collaboratif pour les systèmes de recommandation.
Dans un modèle de factorisation matricielle, les paires utilisateur-élément sont mappées sur une matrice bidimensionnelle, avec les utilisateurs uniques sur un axe et les éléments uniques sur l'autre axe. Les notes qu'un utilisateur a attribuées aux éléments se trouvent dans les cellules de la matrice. Cette matrice n'a pas besoin d'être entièrement remplie. La plupart du temps, les utilisateurs n'auront pas de valeur pour chaque élément. L'objectif du modèle de factorisation matricielle est de créer deux matrices de pondérations denses plus petites qui, lorsqu'elles sont multipliées ensemble, permettent d'approximer les valeurs des cellules de la matrice d'origine et de fournir des notes prédites pour les cellules vides de la matrice.
L'une des plus petites matrices contient les utilisateurs uniques sur un axe et le nombre de facteurs latents sur l'autre axe, comme spécifié par l'option NUM_FACTORS
de l'instruction CREATE MODEL
. L'autre matrice plus petite contient les éléments uniques sur un axe et le nombre de facteurs latents sur l'autre axe. Dans cette matrice, les pondérations des facteurs latents sont générées par l'algorithme utilisé pour entraîner le modèle, en fonction des combinaisons utilisateur-article de la matrice d'entrée.
Pour en savoir plus, consultez Factorisation matricielle.
Vous pouvez utiliser un modèle de factorisation matricielle avec la fonction ML.RECOMMEND
pour émettre des recommandations.
Autres modèles de recommandation
Pour étendre un système de recommandation basé sur le filtrage collaboratif au-delà de ce qu'il est possible de faire avec un modèle de factorisation matricielle, vous pouvez utiliser un réseau de neurones profond (DNN, Deep Neural Network) et des modèles Wide et deep avec la fonction ML.PREDICT
pour émettre des recommandations. Ces modèles peuvent intégrer des fonctionnalités de requête et d'élément pour améliorer la pertinence des recommandations. Pour en savoir plus, consultez les ressources suivantes :
- Recommandation avec des modèles de réseaux de neurones profonds
- Réseaux de neurones profonds pour les recommandations YouTube
- Apprentissage "Wide et deep" pour les systèmes de recommandation
Connaissances recommandées
En utilisant les paramètres par défaut dans les instructions CREATE MODEL
et les fonctions d'inférence, vous pouvez créer et utiliser un modèle de recommandation même sans grandes connaissances en ML. Toutefois, des connaissances de base sur le développement du ML, et des modèles de recommandation en particulier, vous aident à optimiser à la fois vos données et votre modèle pour obtenir de meilleurs résultats. Nous vous recommandons d'utiliser les ressources suivantes pour vous familiariser avec les techniques et les processus de ML :
- Cours d'initiation au machine learning
- Présentation du machine learning
- Machine learning intermédiaire
- Systèmes de recommandation