Problème du bandit manchot
En mathématiques, plus précisément en théorie des probabilités, le problème du bandit manchot[1],[2] (généralisable en problème du bandit à K bras[3] ou problème du bandit à N bras[4]) se formule de manière imagée de la façon suivante : un utilisateur (un agent), face à des machines à sous, doit décider quelles machines jouer. Chaque machine donne une récompense moyenne que l'utilisateur ne connait pas a priori. L'objectif est de maximiser le gain cumulé de l'utilisateur.
C'est un exemple d'apprentissage par renforcement. Typiquement, la politique de l'utilisateur oscille entre exploitation (utiliser la machine dont il a appris qu'elle récompense beaucoup) et exploration (tester une autre machine pour espérer gagner plus)[5]. Le problème de bandit manchot peut être vu comme un processus de décision markovien avec un seul état[6].
Formalisation du problème
[modifier | modifier le code]Dans cette section, nous formalisons le problème en reprenant quelques notations de l'article d'Auer et al[3].
Entrée du problème
[modifier | modifier le code]Considérons K machines à sous. L'entrée du problème est donnée par des variables aléatoires Xi,n pour tout 1 ≤ i ≤ K, et n ≥ 1, où l'indice i représente une des K machines (ou un « bras » du bandit) et l'indice n représente un tour de jeu. On suppose toutes ces variables aléatoires indépendantes et que les variables d'une même machine i, c'est-à-dire les variables Xi,1, Xi,2, etc., suivent la même distribution de probabilité inconnue de l'agent, d'espérance μi.
Au tour numéro n, l'utilisateur va recevoir une récompense qui dépend de la machine qu'il choisit. Un exemple classique de bandit manchot est le cas où la machine i apporte une récompense de 1 avec une probabilité pi et 0 avec la probabilité 1-pi.
Sortie du problème : calcul d'une politique
[modifier | modifier le code]L'utilisateur essaye de trouver la machine à sous qui apporte la plus grande récompense moyenne. Une politique ou stratégie pour le problème du manchot est un algorithme qui choisit la machine suivante à jouer, en se basant sur les choix précédents et sur les récompenses obtenues[7]. L'objectif est de fournir des politiques qui minimisent le regret, c'est-à-dire la quantité qui exprime ce que la politique a fait perdre par rapport au choix de la meilleure machine.
Regret
[modifier | modifier le code]Dans un problème de bandit manchot, le regret après n essais est défini comme la différence entre la récompense que l'on obtiendrait en utilisant n fois la meilleure machine et l'espérance de la récompense après n essais effectués conformément à la politique[3],[8]. Formellement, ce regret vaut :
où est la récompense moyenne de la meilleure machine et désigne la récompense que l'on obtient avec la stratégie proposée à l'instant .
Différents algorithmes
[modifier | modifier le code]Des algorithmes d'apprentissage par renforcement ont donc été proposés pour résoudre le problème du bandit manchot.
Algorithme de bandit
[modifier | modifier le code]L'algorithme de bandit tient son nom des machines à sous (multi-armed bandit) face auxquelles le joueur cherche à maximiser son gain[9]. Ils ont été introduits dans les années 1960 en vue d’applications aux tests cliniques[10].
Le principe d’un algorithme de bandit peut être défini de la manière suivante : on dispose de 2 sources A et B (ayant respectivement une probabilité pA et pB d’être satisfaisante lorsqu’elle est utilisée) et on souhaite déterminer laquelle des deux est la plus performante.
Approche gloutonne
[modifier | modifier le code]Une approche gloutonne[11] consiste à ne faire que de l'exploitation, mais pas d'exploration. Ainsi, on calcule la valeur d'un bras a d'une machine (a pour action) de la façon suivante :
Le choix glouton consiste à choisir une des actions a qui maximise . Avec cette approche, l'optimal n'est pas atteint. On montre qu'on améliore la politique calculée si l'agent choisit une action arbitraire avec une probabilité ε > 0. L'algorithme suivant est un algorithme simple pour le problème des bandits manchots, que l'on appelle ε-glouton.
initialiser pour tout bras a: Q(a) := 0 N(a) := 0 boucle pour toujours: avec une probabilité ε: a := un bras au hasard sinon: a := une action qui maximise Q(a) R := récompense obtenue en tirant a N(a) := N(a) + 1 Q(a) := Q(a) + (R - Q(a)) / N(a)
On stocke la valeur courante de dans Q(a).
On remarquera la similitude de cette approche ε-glouton avec le processus darwinien classique de mutations et sélections.
Algorithmes de Lai et Robbins
[modifier | modifier le code]Tze Leung Lai et Herbert Robbins[12] ont donné des algorithmes d'apprentissage par renforcement qui permettent d'obtenir un regret borné par une fonction logarithme, pour des familles spécifiques de distribution de probabilités pour les récompenses : . En autres termes, cela signifie que la machine optimale est jouée exponentiellement plus souvent que les autres machines[13].
Échantillonnage de Thompson
[modifier | modifier le code]L'algorithme d'échantillonnage de Thompson est le premier à avoir été proposé pour résoudre ce problème [14].
À chaque fois, l'utilisateur choisit la machine qui a l'index le plus élevé. Cet index étant une variable aléatoire suivant une loi bêta. Pour chaque machine, l'utilisateur tire un index suivant une loi bêta dont les paramètres et sont initialisés à 1. À chaque fois que l'utilisateur utilise une des machines, s'il obtient la récompense et sinon.
UCB
[modifier | modifier le code]L'algorithme UCB (pour Upper Confidence Bounds) a été proposé par P. Auer en 2002 [15]. Avec cet algorithme, l'utilisateur calcule la moyenne empirique de la récompense pour chacune des machines.
Dans cette équation, désigne le nombre d'essais réalisés par l'utilisateur, le nombre d'essais fait par l'utilisateur sur la machine , désigne la récompense obtenue lors de l'essai . désigne la fonction indicatrice qui indique que la machine a été choisie pour l'essai .
Pour calculer l'index dans chaque canal, on ajoute un biais qui permet à l'algorithme d'explorer les différentes machines.
Le biais doit être choisi pour avoir une décroissance logarithmique du regret. Le biais :
permet de borner le regret de manière logarithmique.
De nombreuses améliorations de cet algorithme existent[16].
Application pratique
[modifier | modifier le code]L'application la plus typique[réf. nécessaire] du problème du bandit manchot est celui du choix entre une ancienne et une nouvelle posologie d'un vaccin ou médicament (ou entre deux différents) : il faut déterminer le plus vite possible si le nouveau produit doit être adopté ou l'ancien maintenu. Toute erreur se traduirait en vies humaines perdues (ou, au minimum, en personnes souffrant de troubles consécutifs soit à un traitement incomplet, soit à des effets secondaires excessifs). On ne peut pour cette raison utiliser de protocoles des statistiques classiques (Fisher), qui ne sont pertinents que quand la collecte de l'information est peu coûteuse et son traitement onéreux, et on s'oriente plutôt vers un plan d'expérience en utilisant des méthodes bayésiennes qui utilisent immédiatement l'information au fil de l'eau.
Ce modèle est parfois utilisé en apprentissage automatique, par exemple pour effectuer des choix de publicité à présenter en fonction de ce qui est déjà connu[17], à ceci près que le refus de cliquer sur un lien publicitaire apporte lui-même à son tour une information exploitable.
En radio intelligente, ce modèle est souvent utilisé pour la prise de décision pour l'accès opportuniste au spectre [18].
Notes et références
[modifier | modifier le code]- « Statistiquement vôtre - Choix aléatoire de sujets autour de la statistique », sur Statistiquement vôtre (consulté le )
- « Cours à l'université de Lille "Introduction aux algorithmes de bandit" »
- P. Auer, N. Cesa-Bianchi et P. Fischer, « Finite-time Analysis of the Multiarmed Bandit Problem », Machine Learning, vol. 47, nos 2/3, , p. 235–256 (DOI 10.1023/A:1013689704352)
- M. N. Katehakis et A. F. Veinott, « The Multi-Armed Bandit Problem: Decomposition and Computation », Mathematics of Operations Research, vol. 12, no 2, , p. 262–268 (DOI 10.1287/moor.12.2.262)
- (en) « Exploration–exploitation tradeoff using variance estimates in multi-armed bandits », Theoretical Computer Science, vol. 410, no 19, , p. 1876–1902 (ISSN 0304-3975, DOI 10.1016/j.tcs.2009.01.016, lire en ligne, consulté le )
- « Cours à l'université de Washington (cf. premier paragraphe) »
- « HOW TO INCREASE YOUR CHANCES OF WINNING AT POKIES? », Pokiestar, (lire en ligne, consulté le )
- Agrawal, R. (1995). Sample mean based index policies by O(log n) regret for the multi-armed bandit problem. Advances in Applied Probability, 27(4), 1054-1078.
- Maureen Clerc, Laurent Bougrain et Fabien Lotte, Les interfaces cerveau-ordinateur 1 : fondements et méthodes, Volume 1, ISTE Group, , 310 p., p. 228
- « Étude du regret associé aux algorithmes de bandit de type Narendra-Shapiro », sur INSTITUT DE MATHÉMATIQUES DE MARSEILLE (consulté le )
- (en) The MIT Press, « Reinforcement Learning, Second Edition | The MIT Press », sur mitpress.mit.edu (consulté le ), Chapter 2. Algorithme donnée p. 32
- (en) « Asymptotically efficient adaptive allocation rules », Advances in Applied Mathematics, vol. 6, no 1, , p. 4–22 (ISSN 0196-8858, DOI 10.1016/0196-8858(85)90002-8, lire en ligne, consulté le )
- « Cours sur les bandits (voir transparent 12) »
- W. R. Thompson, "On the likelihood that one unknown probability exceeds another in view of the evidence of two samples", Biometrika, 25:285–294, 1933.
- Auer, P., Cesa-Bianchi, N. & Fischer, P. Machine Learning (2002) 47: 235.
- On Bayesian Upper Confidence Bounds for Bandit Problems, Émilie Kaufmann, Olivier Cappé, Aurelien Garivier ; JMLR W&CP 22: 592-600, 2012.
- « Online Machine Learning - Application à la publicité sur le web », sur OCTO Talks !, (consulté le ).
- L. Lai, H. Jiang and H. V. Poor, "Medium access in cognitive radio networks: A competitive multi-armed bandit framework", 2008 42nd Asilomar Conference on Signals, Systems and Computers, Pacific Grove, CA, 2008, p. 98-102.