Aller au contenu
Kudos AI
Read in English
Recommender Systems

Le modèle qui choisit ses propres données d’entraînement

Deux décalages ajustés livrent 66 % du gain d’exactitude d’un recommandeur avant l’apprentissage du moindre facteur latent, l’erreur est 1,28 fois pire pour les utilisateurs qui ont le moins parlé, seuls 30 % du catalogue atteignent le top dix de qui que ce soit sans aucun terme explicite de popularité, et après six tours de données auto-sélectionnées le système est 1,14 fois pire exactement là où il a cessé de regarder.

8 min de lectureKudos AI

Prérequis : Supervised Machine Learning

Une matrice de notes presque vide où deux rangées de décalages absorbent l’essentiel de l’erreur, une barre d’erreur se scindant selon le volume de notes de chacun, et des centaines de listes classées s’effondrant sur le même petit ensemble d’articles.

Presque tous les modèles que vous entraînez sont une fonction appliquée à un jeu de données fixe. Un recommandeur, non. Il décide ce qui est montré, ce qui est montré décide ce qui est noté, et ce qui est noté devient son prochain jeu d’entraînement.

Cette seule propriété change le sens de l’exactitude, et cela mérite des chiffres. Tout ce qui suit est mesuré sur un catalogue simulé de 800 par 300 dont les préférences réelles sont connues, ce que les données réelles n’offrent jamais.

L’essentiel de l’exactitude arrive avant le modèle

La matrice est observée à 17,7 %. Trois modèles, par ordre d’ambition :

modèleRMSEpart du gain total
prédire la moyenne globale0,9368-
+ un décalage par utilisateur et par article0,676166 %
+ 8 facteurs latents0,5393100 %

Deux nombres par utilisateur et par article - qui note généreusement, et quels articles plaisent au plus grand nombre - livrent les deux tiers de tout ce qu’atteint le modèle complet.

C’est la forme utile du problème. Une grande part de toute note ne concerne pas du tout l’accord entre une personne et un article, et ajuster cette part d’abord est peu coûteux, robuste sur les lignes creuses, et facile à expliquer à qui demande pourquoi un article a été recommandé.

Les facteurs gagnent le tiers restant en captant quels types de personnes aiment quels types d’articles. Personne ne nomme ces directions d’avance, et la factorisation n’est identifiée qu’à une rotation près : toute interprétation d’un axe particulier est une histoire à propos d’une base arbitraire parmi beaucoup.

Pourquoi le rétrécissement n’est pas un détail

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. À λ=8\lambda = 8, un article dont les trois notes valent en moyenne 1,2 au-dessus de la moyenne en conserve 0,327, soit 27 %, tandis qu’un article ayant trois cents notes de ce type en conserve 1,169, soit 97 %.

Cette asymétrie est tout l’enjeu, et c’est elle qui empêche quatre notes enthousiastes de porter un article obscur en tête de toutes les listes.

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.

L’erreur n’est pas répartie uniformément

La RMSE du modèle complet vaut 0,5393. Découpez le même jeu de test selon l’historique de chaque utilisateur :

notes d’entraînement de l’utilisateurRMSElignes de test
plus de 300,52106 928
10 à 300,60181 319
moins de 100,6693254

Une pénalité de 1,28× pour les plus creux, et regardez la troisième colonne. Les gros noteurs fournissent 6 928 des 8 501 lignes de test : ils fixent donc presque à eux seuls le chiffre annoncé, et ce sont exactement les gens que le modèle connaît déjà.

Un nouvel utilisateur ne vit pas le modèle à 0,5210. Il vit celui à 0,6693. La moyenne porte sur les lignes de test et non sur les utilisateurs, et cette pondération par lignes la remet au groupe qui a le moins besoin d’aide, ce qui en fait le mauvais nombre à optimiser et le mauvais nombre à rapporter.

Pour un utilisateur sans rien, le terme personnalisé ne porte aucune information : initialisez à zéro le vecteur non ajusté, ou supprimez le terme, et il reste μ+bi\mu + b_i : qualité et popularité, la même liste pour tout le monde. C’est un défaut raisonnable qu’il vaut mieux nommer honnêtement, et il pose la barre pour tout ce que vous construirez pour les nouveaux.

Le classement se concentre tout seul

Notez chaque article non noté pour chaque utilisateur, prenez les dix premiers de chacun, et comptez les articles distincts sur 8 000 emplacements : 91 sur 300, soit 30 % du catalogue.

Le modèle n’a aucun terme explicite de popularité. Le nombre de notes n’y entre que par le rétrécissement, qui ramène les articles peu notés vers la moyenne. Au-delà, la concentration vient de ce que les décalages d’articles captent la qualité, et que la qualité est partagée : un article que la plupart apprécient se classe en tête pour la plupart, et la personnalisation réordonne le vivier plutôt qu’elle ne le remplace.

Cela compte parce que cela change le remède. La concentration n’est pas un défaut introduit par une variable de popularité que l’on pourrait retirer. C’est ce qui arrive quand un système de classement rencontre des goûts corrélés : si la couverture du catalogue vous importe, elle doit être un objectif explicite, car aucune amélioration de la métrique d’exactitude ne la produira.

Puis la boucle se referme

Laissez tourner le système. À chaque tour il montre à chacun ses cinq meilleurs articles non montrés, les utilisateurs ne notent que ce qui leur a été montré, le modèle se réajuste. Six tours. Pour garder la boucle simple, le modèle est ici réduit aux décalages, μ+bu+bi\mu + b_u + b_i : chaque utilisateur est donc classé par bib_i, la même liste pour tous, moins ce que chacun s’est déjà vu montrer.

Ensuite, 28 % de la matrice a été montrée à un moment. En comparant le modèle réajusté à la vérité connue :

régionRMSE face à la vérité
articles montrés0,5441
articles jamais montrés0,6213

Un angle mort de 1,14×, exactement dans la région qu’il a choisi de ne pas regarder. À chaque tour, les croyances actuelles du système décident de ce qui sera noté ensuite : ses données futures sont un échantillon de ses opinions présentes. Là où il avait raison avec assurance il a recueilli une confirmation ; là où il avait tort avec assurance il n’a rien recueilli, et rien n’est venu le corriger.

Pourquoi l’évaluation hors ligne ne peut pas le voir

Vos journaux contiennent des notes pour les articles que vous avez montrés. Votre jeu de test hors ligne est une tranche retenue de ce même journal. L’évaluation se déroule donc dans la région où le modèle est exact. Face à la vérité, le modèle s’y trompe de 0,5441, et de 0,6213 partout ailleurs, mais le journal ne contient que la première région, et des notes bruitées de celle-ci : évalué sur elles, sur les cellules montrées où il a été ajusté, le même modèle affiche 0,611, un nombre qui ne garde aucune trace de la région jamais montrée. Retenir plutôt une tranche du journal le déplace à peine, car une tranche retenue du journal reste à l’intérieur de la région montrée.

Un modèle qui a discrètement cessé de comprendre les 72 % de la matrice qu’il n’a jamais montrés paraîtra excellent sur toutes vos métriques hors ligne, et continuera de le paraître à mesure que l’angle mort grandit.

Ce qui aide, mesuré honnêtement

Réservez un emplacement sur cinq à un article aléatoire et refaites les six tours. L’erreur sur les articles non montrés passe de 0,6213 à 0,6162, et l’angle mort se resserre de 1,14× à 1,12×, en partie parce que l’erreur sur les articles montrés a augmenté, de 0,5441 à 0,5497.

C’est un petit effet, et la lecture honnête d’un petit effet mesuré est qu’il est petit. Un cinquième de vos emplacements a acheté une correction de moins d’un pour cent dans la région qui vous inquiétait. L’exploration est une assurance, pas un remède : elle empêche la queue du catalogue de disparaître complètement, et elle n’annule pas six tours de données auto-sélectionnées.

Deux mesures coûtent plus cher et font davantage :

  • journaliser la propension - la probabilité que le système avait de montrer chaque article au moment où il l’a montré. Avec cela enregistré, les estimations hors ligne peuvent être repondérées pour corriger la sélection, la même idée de pondération inverse qu’en inférence causale. Il faut le décider avant d’en avoir besoin, car les propensions ne se reconstituent pas après coup.
  • expérimenter sur la politique, pas sur le modèle - randomiser quel système de classement reçoit chaque utilisateur et mesurer le résultat qui vous importe. C’est la seule méthode qui mesure le système tel qu’il est déployé.

La propriété qui sous-tend tout

Deux décalages portent les deux tiers du gain d’exactitude : l’essentiel de ce que sait un recommandeur est « qui note généreusement » et « ce qui est bon », non « qui aime quoi ». L’erreur est la pire pour les utilisateurs dont l’expérience décide s’ils restent. Le classement se concentre sans qu’on le lui demande. Et un système entraîné sur sa propre sortie devient aveugle dans la région qu’il a cessé de montrer, tandis que toutes ses métriques continuent d’avoir bonne mine.

Les quatre découlent de la même chose : la sortie du modèle détermine son prochain jeu d’entraînement. Dès lors, l’exactitude sur données journalisées cesse d’être une mesure de qualité pour devenir une mesure d’habitude, et la seule issue est de rompre la boucle délibérément : en explorant, en enregistrant pourquoi chaque choix a été fait, ou en testant la politique elle-même.

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.

Lecture associée

6 min de lectureApprentissage non supervisé

La direction qui change quand vous changez d’unité

Douze personnes, deux mesures, et trois premières composantes principales différentes : en millimètres la réponse est presque uniquement la taille, en mètres presque uniquement le poids, et en centimètres un mélange équilibré - la corrélation restant fixée à 0,9500 dans les trois cas. Ce que cela dit de ce que l’ACP maximise, pourquoi une proportion de variance expliquée de 99,999 % peut être un énoncé sur les mètres plutôt que sur les personnes, et ce que la standardisation choisit réellement.

Apprentissage automatiqueStatistique
4 min de lectureTime Series

Un score qui perd contre ne rien faire

Un modèle des cinq plus proches voisins obtient 0,9983 en validation croisée aléatoire à cinq blocs sur une marche aléatoire, série dont les incréments sont par construction imprévisibles. Évalué en avançant dans le temps il obtient 0,6559, avec une RMSE 12,44 fois plus grande, et il perd contre la simple reconduction de la dernière valeur observée. C’est la découpe, non le modèle, qui a produit le premier nombre.

StatistiqueApprentissage automatique
8 min de lectureAnomaly Detection

Le détecteur qui ne se déclenche jamais est juste à 99,5 %

À un taux de base réaliste, le détecteur inerte gagne sur la justesse, une ROC de 0,9468 masque une file d’alertes fausse à 64 %, la distance à la moyenne se classe sous le hasard quand les anomalies siègent au centre, et vingt anomalies groupées se cachent les unes les autres de la méthode conçue pour les trouver.

Apprentissage automatiqueStatistique
← Retour à tous les articles