title: Bandit manchot (mathématiques)
text: # Bandit manchot (mathématiques)
  
  En mathématiques, plus précisément en théorie des probabilités, le problème du bandit $manchot^,$ (généralisable en problème du bandit à K bras ou problème du bandit à N bras) 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). Le problème de bandit manchot peut être vu comme un processus de décision markovien avec un seul état.
  
  ## Formalisation du problème
  
  Dans cette section, nous formalisons le problème en reprenant quelques notations de l'article d'Auer et al.
  
  ### Entrée du problème
  
  Considérons K machines à sous. L'entrée du problème est donnée par des variables aléatoires $X_{i,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 $X_{i,1},$ $X_{i,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é $p_i$ et 0 avec la probabilité $1-p_i.$
  
  ### Sortie du problème : calcul d'une politique
  
  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. 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
  
  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^,.$ Formellement, ce regret vaut :
  
      $r_{n}=n\mu ^{*}-\sum _{k=1}^{n}\mathbb {E} (\mu _{I_{k}})$
  
  où $\mu ^{*}$est la récompense moyenne de la meilleure machine et $\mu _{I_{k}}$ désigne la récompense que l'on obtient avec la stratégie proposée à l'instant $k$.
  
  ## Différents algorithmes
  
  Des algorithmes d'apprentissage par renforcement ont donc été proposés pour résoudre le problème du bandit manchot.
  
  ### Algorithme de bandit
  
  L'algorithme de bandit tient son nom des machines à sous (multi-armed bandit) face auxquelles le joueur cherche à maximiser son gain. Ils ont été introduits dans les années 1960 en vue d’applications aux tests cliniques.
  
  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é $p_A$ et $p_B$ d’être satisfaisante lorsqu’elle est utilisée) et on souhaite déterminer laquelle des deux est la plus performante.
  
  ### Approche gloutonne
  
  Une approche gloutonne 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 :
  
  $Q_{t}(a):={\frac {{\text{somme des récompenses reçues par l'action }}a{\text{ avant le temps }}t}{{\text{nombre de fois que l'action }}a{\text{ a été tirée avant le temps }}t}}$
  
  Le choix glouton consiste à choisir une des actions a qui maximise $Q_{t}(a)$. 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.
  
  On stocke la valeur courante de $Q_{t}(a)$ 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
  
  Tze Leung Lai et Herbert Robbins 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 : $r_{n}<O(\log(n))$. En autres termes, cela signifie que la machine optimale est jouée exponentiellement plus souvent que les autres machines.
  
  ### Échantillonnage de Thompson
  
  L'algorithme d'échantillonnage de Thompson est le premier à avoir été proposé pour résoudre ce problème.
  
  À 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 $\beta (a_{j},b_{j})$ dont les paramètres $a_{j}$ et $b_{j}$ sont initialisés à 1. À chaque fois que l'utilisateur utilise une des machines, $a_{j}=a_{j}+1$ s'il obtient la récompense et $b_{j}=b_{j}+1$ sinon.
  
  ### UCB
  
  L'algorithme UCB (pour Upper Confidence Bounds) a été proposé par P. Auer en 2002. Avec cet algorithme, l'utilisateur calcule la moyenne empirique de la récompense pour chacune des machines.
  
  $X_{j}={\frac {1}{T_{j}}}\sum _{i=1}^{t}r_{i}\chi _{a_{j}=i}$
  
  Dans cette équation, $t$ désigne le nombre d'essais réalisés par l'utilisateur, $T_{j}$ le nombre d'essais fait par l'utilisateur sur la machine $j$, $r_{i}$ désigne la récompense obtenue lors de l'essai $i$. $\chi$ désigne la fonction indicatrice qui indique que la machine $j$ a été choisie pour l'essai $i$.
  
  Pour calculer l'index dans chaque canal, on ajoute un biais qui permet à l'algorithme d'explorer les différentes machines.
  
  $B_{j}=X_{j}+A_{j}$
  
  Le biais $A_{j}$ doit être choisi pour avoir une décroissance logarithmique du regret. Le biais :
  
  $A_{j}={\sqrt {\frac {2\log(t)}{T_{j}}}}$
  
  permet de borner le regret de manière logarithmique.
  
  De nombreuses améliorations de cet algorithme existent.
  
  ## Application pratique
  
  L'application la plus typique 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, à 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.
  
  