Aller au contenu
Kudos AI

La référence difficile à battre

Une matrice de notes vide à 82 %, les deux décalages qui expliquent l’essentiel de ce qu’elle contient, et les facteurs latents qui gagnent le tiers restant.

IntermédiaireModule 125 min · 100 XP
Une matrice de notes presque vide, deux rangées de décalages venant se mettre en place et absorber l’essentiel de l’erreur, puis des vecteurs latents apparaissant à côté de chaque utilisateur et de chaque article pour réclamer le reste.

Tout le monde commence un recommandeur par le modèle intéressant. Commencez plutôt par l’ennuyeux : sur un catalogue simulé de 800 utilisateurs et 300 articles, il vous emmène aux deux tiers du chemin.

La table

Une matrice de notes a les utilisateurs d’un côté, les articles de l’autre, et presque rien au milieu. Dans la simulation utilisée tout au long de ce parcours, 17,7 % des cases sont remplies, et la moitié la moins notée du catalogue ne détient que 23 % des notes.

Cette rareté n’est pas qu’un désagrément. Une case manquante ne manque pas au hasard. Elle manque parce que cette personne n’a jamais rencontré l’article, et ce que les gens rencontrent dépend de ce qui était populaire, de ce qui a été mis en avant, et de ce qu’un recommandeur antérieur a choisi de leur montrer.

Toute estimation bâtie sur les cases remplies décrit donc une population sélectionnée par le processus même que vous cherchez à améliorer. C’est la même forme de problème que la confusion, et elle reviendra dans la troisième leçon avec un chiffre attaché.

Trois modèles, par ordre d’ambition

Prédire la moyenne globale pour chaque case. RMSE 0,9368. C’est une vraie référence et elle mérite d’être calculée, car elle donne l’échelle de tout ce qui suit.

Ajouter deux décalages. Un par utilisateur, qui capte qui note généreusement ; un par article, qui capte ce que la plupart des gens aiment :

r^(u,i)=μ+bu+bi\hat{r}(u,i) = \mu + b_u + b_i

RMSE 0,6761.

Ajouter des facteurs latents. Donner à chaque utilisateur un court vecteur pup_u et à chaque article un vecteur qiq_i, pour que leur produit scalaire exprime que ce genre de personne aime ce genre d’article :

r^(u,i)=μ+bu+bi+pu⋅qi\hat{r}(u,i) = \mu + b_u + b_i + p_u \cdot q_i

Avec huit facteurs, RMSE 0,5393.

modèleRMSEpart du gain total
moyenne globale0,9368-
+ décalages utilisateur et article0,676166 %
+ 8 facteurs latents0,5393100 %

Les décalages en portent les deux tiers. C’est la forme utile du problème : une grande part de toute note ne porte pas du tout sur l’accord entre une personne et un article. Elle porte sur un noteur qui met de bonnes notes à tout et sur un article que la plupart des gens apprécient.

Pourquoi le rétrécissement n’est pas une formalité

Regardez le dénominateur de cette mise à jour :

bi=∑u(rui−μ−bu)ni+λb_i = \frac{\sum_{u} (r_{ui} - \mu - b_u)}{n_i + \lambda}

Sans le λ\lambda, un article noté trois fois reçoit un décalage ajusté sur trois nombres et se voit accorder exactement autant de confiance qu’un décalage ajusté sur trois cents. Dans un catalogue où les effectifs varient de plusieurs ordres de grandeur, c’est ainsi qu’un article obscur avec quatre notes enthousiastes arrive en tête de toutes les listes.

Ajouter λ\lambda tire chaque décalage vers zéro en proportion du peu de données qui le soutient. L’article à trois notes bouge à peine de la moyenne globale ; celui à trois cents est presque laissé tranquille. C’est l’idée de la régression ridge, et elle fait ici l’essentiel du travail pour garder le modèle sensé.

L’asymétrie de cette sortie est tout l’enjeu. À λ=8\lambda = 8, l’article mince conserve 27 % de sa qualité apparente tandis que le bien observé en conserve 97 %.

La figure ci-dessous transforme ce dénominateur en curseur et montre ce qu’il décide : non pas les offsets, mais l’ordre. Ramenez la constante à zéro et un court-métrage noté par quatre personnes prend la tête, car sans rétrécissement le nombre de notes n’entre pas du tout dans le calcul. L’arithmétique n’est pas fausse - c’est bien la moyenne de ce qu’ont dit ces quatre personnes. Ce n’est simplement pas une estimation de ce que pensera le prochain venu, et seule la constante fait la différence.

Interactif : la constante qui décide du classement

Faites glisser la constante de rétrécissement et regardez la tête du classement changer de main.

un classique très aimé300 notes+3un documentaire de niche11 notes+1un favori constant96 notes+2une suite populaire180 notes+2un court-métrage culte4 notes-4un succès grand public420 notes+1un album épuisé3 notes-5une expérience clivante27 notes
moyenne bruteoffset ajusté
λ
8
Tête du classement
un classique très aimé
L’article à 4 notes garde
33%
Celui à 300 notes garde
97%

À λ = 8, l’article à quatre notes ne garde que 33% de sa qualité apparente quand celui à trois cents en garde 97%, et la tête du classement revient à un classique très aimé, sur 300 notes. Cette asymétrie est tout le mécanisme : chaque offset est tiré vers zéro à proportion du peu de données qui le soutient, si bien qu’une ligne mince bouge à peine et qu’une ligne épaisse est laissée presque intacte. Poussez λ encore et tout le catalogue s’effondre vers la moyenne : c’est l’arbitrage que règle cette constante.

Ce qu’apportent les facteurs

Le tiers restant du gain vient du terme d’interaction. Chaque utilisateur reçoit un vecteur, chaque article reçoit un vecteur, et le produit scalaire dit si cette direction de goût correspond à cette direction d’article.

Personne ne nomme ces directions à l’avance. Ce sont celles qui expliquent les résidus, et elles ne sont identifiées qu’à une rotation près, ce qui signifie que toute interprétation posée sur un axe particulier est une histoire à propos d’une base arbitraire parmi beaucoup. Il arrive qu’une direction coïncide avec quelque chose de reconnaissable. Ne bâtissez pas une fonctionnalité en le supposant.

Deux conséquences pratiques :

  • plus de facteurs ajustent toujours mieux les notes d’entraînement, et commencent à mémoriser les lignes creuses. Le nombre de facteurs et la constante de rétrécissement doivent être choisis ensemble, sur des données de validation
  • le modèle n’a rien à dire d’un utilisateur ou d’un article jamais vu, puisque son vecteur n’a jamais été ajusté. C’est le sujet de la leçon suivante

Ce que cela prépare

Les nombres ci-dessus sont des moyennes sur un jeu de test. La leçon suivante décompose l’erreur du même modèle selon l’historique de chaque utilisateur, et trouve qu’elle est la pire précisément pour les personnes qu’un recommandeur doit le plus convaincre.

Références et lectures complémentaires

  • Charu C. Aggarwal, Recommender Systems: The Textbook, Springer, 2016· Bibliothèque de référence Kudos AI
  • Kevin P. Murphy, Probabilistic Machine Learning: An Introduction, MIT Press (Adaptive Computation and Machine Learning), 2022source ↗

Les œuvres protégées par le droit d’auteur sont citées à titre de référence uniquement et ne sont pas hébergées ici ; veuillez consulter l’éditeur pour y accéder.

Débloquez tout le parcours

Cette première leçon est gratuite. Inscrivez-vous pour passer le quiz de maîtrise, gagner de l’XP et débloquer tous les modules, avec d’autres exemples interactifs et exécutables.