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.
Prérequis : Supervised Machine Learning
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èle | RMSE | part du gain total |
|---|---|---|
| prédire la moyenne globale | 0,9368 | - |
| + un décalage par utilisateur et par article | 0,6761 | 66 % |
| + 8 facteurs latents | 0,5393 | 100 % |
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
Sans le , 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. À , 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.
- λ
- 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’utilisateur | RMSE | lignes de test |
|---|---|---|
| plus de 30 | 0,5210 | 6 928 |
| 10 à 30 | 0,6018 | 1 319 |
| moins de 10 | 0,6693 | 254 |
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 : 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, : chaque utilisateur est donc classé par , 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égion | RMSE face à la vérité |
|---|---|
| articles montrés | 0,5441 |
| articles jamais montrés | 0,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.