TD : Les algorithmes pour le problème des bandits à K

publicité
TD : Les algorithmes pour le problème des bandits à
K-bras.
Enseignant: Antoine Bonnefoy
15 janvier 2014
1
Compromis Exploration/Exploitation
Pour un problème de bandit à K bras donné, il existe plusieurs algorithmes pour le résoudre.
Les deux premiers que nous utiliserons sont : l’algorithme -glouton et l’algorithme UCB1.
Nous verrons dans ce premier exercice comment est géré les compromis entre exploration et
exploitation dans ces algorithmes.
1.1
Algorithme -glouton
Question 1 : Rappelez l’algorithme -glouton.
Question 2 : De quel manière le paramètre influe sur le compromis exploration exploitation dans l’algorithme.
Question 3 : Au fur et à mesure de l’avancement de l’algorithme l’estimation des récompenses moyennes respectives de chaque bras se précise. Comment faire pour limiter l’exploration
quand l’algorithme est déjà bien avancé ?
Question 4 : Selon vous comment doit évoluer quand le nombre de bras évolue ?
Question 5 : Les graphiques de la figure 1 confirment-ils votre intuition ? Comparer
l’efficacité d’un paramètre par rapport aux autres lorsque le nombre de bras augmente.
1.2
Algorithme UCB1
Notons
– µ∗ = maxi (µi )
– ∆j = µ∗ − µj
– Nj (t) le nombre de fois que l’on a choisit le bras j jusqu’à l’instant t.
– Sj (t) La somme des récompenses obtenues sur le bras j jusqu’à l’instant t.
1
Bandit à 3 bras
140
epsilon=0.005
epsilon=0.01
epsilon=0.05
epsilon=0.1
120
Regret
100
80
60
40
20
0
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
3500
4000
4500
5000
3500
4000
4500
5000
3500
4000
4500
5000
Bandit à 5 bras
180
epsilon=0.005
epsilon=0.01
epsilon=0.05
epsilon=0.1
160
140
Regret
120
100
80
60
40
20
0
0
500
1000
1500
2000
2500
3000
Bandit à 10 bras
250
epsilon=0.005
epsilon=0.01
epsilon=0.05
epsilon=0.1
200
Regret
150
100
50
0
0
500
1000
1500
2000
2500
3000
Bandit à 100 bras
450
epsilon=0.005
epsilon=0.01
epsilon=0.05
epsilon=0.1
400
350
Regret
300
250
200
150
100
50
0
0
500
1000
1500
2000
2500
3000
Figure 1 – Ces graphs représentent le regret en fonction du nombre d’iterations de
l’algorithme pour différents nombre de bras, et différents paramètre . Pour chacun des
graphs, les bras suivent tous une loi Bernoulli, un avec p = 0.9 et les autres p = 0.5.
2
L’algorithme UCB1 se base sur l’équation suivante.
s
Sj (t)
2 log n
+
Lj (t) =
Nj (t)
Nj (t)
(1)
Question 1 : Quel bras j choisit l’algorithme UCB1 ?
Question 2 : Dans l’équation (1) quelle partie correspond à l’exploitation et quelle partie
à l’exploration ? Proposer alors une variante de UCB1 qui permet de régler le compromis
exploration/exploitation.
Question 3 : La borne sur le regret pour UCB1 s’écrit sous la forme :
Rn ≤ c1 C log n + c2
X 1
où C =
∆j
j,µ 6=µ∗
j
Quels sont, d’après cette equation, les problèmes de bandits difficiles à résoudre ?
2
Étude du regret d’une stratégie simple
Nous allons étudier une stratégie simple pour résoudre le problème des bandits à 2-bras.
Chacun des 2 bras suit une loi de Bernoulli de paramètre µ1 , µ2 avec µ1 > µ2 > 0.
Rappel : Un tirage selon la loi de Bernoulli de paramètre p donne 1 avec une probabilité p
et 0 avec une probabilité 1 − p. Plus formellement une variable X aléatoire suivant une loi de
Bernoulli de paramètre p vérifie :
P(X = 1) = p
P(X = 0) = 1 − p
Notations :
– ∆ = µ1 − µ2 > 0
– I(t) le numéro du bras choisit au temps t
– Xj (t) la récompense obtenu au temps t sur le bras j. On considère une récompense
nulle si le bras j n’est pas choisit.
– Nj (t) le nombre de fois que l’on a choisit le bras j jusqu’à l’instant t.
La stratégie : Soit m, t ∈ N tels que t ≥ 2m. pour les m premiers coups on choisit le bras
1, pour les m coups suivant on prend le bras 2. Cela revient à faire
I(1) =... = I(m) = 1
I(m + 1) =... = I(2m) = 2
On définit alors µ̂1 , µ̂2 , les moyennes empiriques observées au temps t = 2m.
P2m
P2m
X1 (t)
t=1 X1 (t)
= t=1
µ̂1 =
N1 (2m)
m
P2m
P2m
X2 (t)
X2 (t)
µ̂2 = t=1
= t=1
N2 (2m)
m
Pour les coups restant t ≥ 2m on jouera toujours le bras qui a la plus grande moyenne
empirique.
(
1 si µ̂1 ≥ µ̂2
∀t ≥ 2m, I(t) =
(2)
2 si µ̂1 ≤ µ̂2
3
Question 1 : Rappelez la définition du regret.
Question 2 : Exprimez Rt quand t = 2m.
Question 3 : Utilisez l’inégalité de Chernoff-Hoeffding et ∆ pour trouver un majorant
pour la probabilité P(µ̂1 ≤ µ̂2 ), qui représente la probabilité que les moyennes empiriques ne
soient pas dans le même ordre que les vraies moyennes µ1 > µ2 .
Inégalité de Hoeffding-Chernoff appliqué à notre cas : Pour tout a > 0
(
P(µ̂j ≥ µj + a) ≤ exp(−2a2 m)
P(µ̂j ≤ µj − a) ≤ exp(−2a2 m)
Question 4 : Trouver un majorant de Rt quand t ≥ 2m à l’aide de la question 2 et de
P(µ̂1 ≤ µ̂2 )
Question 5 : Supposons à présent qu’il existe c1 , c2 tel que 2∆2 ≤ c1 < c2 et
c1 log(t) ≤ m ≤ c2 log(t).
Montrez que le regret verifie : Rt = O(log t)
Question 6 : Que signifie cette borne sur le regret ?
3
Liste chainée et structure
Question 1 : Définissez une structure animal qui contiendra un champ position pos,
position est un type basé sur une structure que vous définirez, et energie un entier entre 0
et 100. Cette structure est destinée à être utilisée sous forme de liste, ajoutez le/les champs
nécessaires dans ce but.
Question 2 : Dessinez une liste d’éléments de cette structure, avec un élément vide que
l’on appelle sentinelle servant uniquement à pointer vers le premier élément de la liste.
Question 3 : Écrire la fonction qui ajoute un élément en tête de liste. La liste contient
au moins la sentinelle. Pensez bien à l’allocation de la mémoire.
Question 4 : Écrire la fonction qui enlève un élément en fin de liste. Attention au cas ou
la liste ne contient que la sentinelle.
Question 5 : Écrire la fonction qui cherche les deux animaux de la liste qui sont les plus
proches l’un de l’autre.
4
Téléchargement