• Aucun résultat trouvé

1Renforcementsansmémoire:lebandità 2 bras Apprentissageparrenforcement

N/A
N/A
Protected

Academic year: 2022

Partager "1Renforcementsansmémoire:lebandità 2 bras Apprentissageparrenforcement"

Copied!
3
0
0

Texte intégral

(1)

MAP 572 - Mise en oeuvre de méthodes numériques.

Apprentissage par renforcement

1 Renforcement sans mémoire : le bandit à 2 bras

Considérons le problème suivant : un annonceur a le choix d’afficher sur une page web une publicité choisie parmi{A, B}, l’annonceur est payé au clic et l’objectif est d’afficher la publicité la plus attractive. On modélise le problème de la façon suivante : chaque utilisateur se comporte de façon indépendante des autres et clique sur la publicitéA(resp.B) avec probabilitépA(resp.

pB), on suppose que pA, pB sont inconnues.

On pose Xi = 1 si le i-ème client clique, 0 sinon. On note Ei ∈ {A, B} la publicité affichée sur le site lorsque lei-ème client se connecte, de sorte que

Xi ∼Bernoulli(pEi).

La stratégieEià l’instantiest une fonction (éventuellement aléatoire) de(E1, X1), . . . ,(Ei−1, Xi−1).

On cherche à définir une stratégie efficace pour l’annonceur, c’est-à-dire qu’asymptotiquement on propose la meilleure publicité :

X1+· · ·+Xn

n

n→+∞→ max{pA, pB}

(convergence presque-sûre ou en probabilité). Encore mieux : on souhaite maximiser les gains moyens à horizon finiE[X1+· · ·+Xn].

1.1 Une méthode sous-optimale : la ε-exploration Considérons la stratégie suivante :

— On choisitE1=A, E2 =B.

— Pouri≥3, on note Mi la publicité qui a eu le meilleur "taux de clic" jusque-là.

— Avec proba1−ε, on prend Ei=Mi,

— Avec probaεon prend Ei = non(Mi).

(On considère qu’avec probabilité εon "explore", alors qu’avec probabilité 1−εon "exploite".) Question 1. (Maths) Intuitivement, quelle est la limite de (X1+· · ·+Xn)/n? Asymptoti- quement (enn), quel semble être le meilleur choix pourε?

(2)

Question 2. (python)On fixe n= 1000, pA = 0.4,pB = 0.6. Choisir quelques valeurs de ε et tracer quelques trajectoires

i∈ {1, . . . , n} 7→ 1

i(X1+· · ·+Xi).

Question 3. (python)Évaluer par méthode de Monte-Carlo des estimations de courbes

i∈ {1, . . . , n} 7→ 1

iE[X1+· · ·+Xi].

Question 4. (python)Pour le même choix des paramètres, essayer de déterminer la "meilleure"

valeur deε.

1.2 Une stratégie asymptotiquement optimale ?

On fait maintenant varier la probabilité d’exploration. L’algorithme est le même que précé- demment sauf qu’on remplace εpar une suite(εi)i≥3 d’éléments de(0,1). On pourra essayer

(i) εi = 1/i2 (ii) εi = 1/√

i (iii) εi = 1/logi

Question 5. (python)On fixe à nouveau n = 1000,pA = 0.4, pB = 0.6. Pour les exemples de suites (i),(ii),(iii) ci-dessus, tracer quelques trajectoires de courbes

i∈ {1, . . . , n} 7→ 1

i(X1+· · ·+Xi). Question 6. (Maths) Que doit vérifier la suite(εi) pour que l’on ait

X1+· · ·+Xn

n

n→+∞→ max{pA, pB}?

2 Renforcement avec mémoire : Pierre-Feuille-Ciseaux

On considère 2 joueurs X, Y qui jouent à Pierre-Feuille-Ciseaux. Pour t ≥ 1 on note Xt ∈ {Pi,Fe,Ci}le choix du joueur à l’instant t etYt le choix de son adversaire.

On suppose que l’adversaire Y tire à chaque instant son choix Yt entre {Pi,Fe,Ci} avec des probabilités(p, q, r). Ce triplet peut être constant (typiquement,(1/3,1/3,1/3)) ou dépendre de ce qu’a joué X dans le passé.

Pour simplifier on suppose que Y fait ses choix suivant une chaîne de Markov avec une mémoire "courte" :

— Y1, Y2 sont arbitraires.

— pour toutt≥2, le nouveau triplet(p, q, r)dépend uniquement de

Xt−1, Xt, Yt−1, Yt. (1)

On introduit donc une fonction (p, q, r) 7→ ReponseStrategie(p, q, r) ∈ [0,1]3 de la façon suivante :

ReponseStrategie(p, q, r) = argmax(x,y,z)E[Gain pour X siX tire selon (x, y, z) etY tire selon(p, q, r)].

(Dans cette espérance on considère qu’un victoire vaut 1 et une défaite−1.)

L’interprétation est la façon suivante. Si la stratégie (p, q, r) est connue, alors c’est le vecteur (x, y, z)des probabilités de jeu deXqui maximise le gain deXpour let-ème coup.(Par exemple, si (p, q, r) = (0.01,0,0.99) alors cela signifie queY va jouer "Ci" presque à coup sûr et donc X joue "Pi" : ReponseStrategie(0.01,0,0.99) = (1,0,0).)

Question 1. (Maths) Calculer et implémenter la fonctionReponseStrategie(p, q, r).

(3)

2.1 L’algorithme d’apprentissage

On considère la stratégie suivante. Pour un paramètreε >0(petit),

— Sit= 1,2,3on tire au hasard uniformément entre Pi,Fe,Ci.

— Sinon

1. avec probabilité 1−ε on "exploite" : on renvoie ReponseStrategie(p, q, r) calculée sur les stats deY dans l’historique. Plus précisément

— En notant (Xt−2 = xt−2, Xt−1 =xt−1) et(Yt−2 =yt−2, Yt−1 =yt−1), on regarde toutes les fois oùY s’est retrouvé dans la situationXs−2 =xt−2, Xs−1 =xt−1) et (Ys−2=yt−2, Ys−1=yt−1). On calcule alors les fréquencesp,ˆ q,ˆ rˆavec lesquellesY a joué Pi-Fe-Ci.

— On renvoieReponseStrategie(ˆp,q,ˆ r)ˆ

2. avec probabilité εon "explore" : on tire au sort uniformément au hasard.

Question 2. (python)Simuler un jeu entre X qui joue avec la stratégie d’apprentissage ci- dessus et Y qui tire des coups i.i.d. avec probas (0.4,0.3,0.3). Qu’observe-t-on pour les gains de X?

Question 3. (python) Simuler un jeu entre X et Y qui jouent tous les deux la stratégie d’apprentissage. Converge-t-on vers l’équilibre attendu ?

Références

[1] V.Rivoirard, G.Stoltz.Statistiques en Action. Vuibert (2006).

[2] R.Sutton, A.Barto. Reinforcement learning : An introduction. MIT press, (2018).

Références

Documents relatifs

Cliquer sur le lien « Tableau de bord », puis aller dans l’onglet « Cours » pour voir la liste des cours dont vous êtes gestionnaire. Cliquer sur le cours que vous voulez éditer..

En cas de redistribution du document ou d’une version dérivée, il doit être partagé à son tour sous licence Creative Commons BY SA. Le police cursive utilisée est « AA

Depuis la liste des applications, appuyez sur Paramètres → Connexions → Appareils à proximité, puis faites glisser le curseur Appareils à proximité vers la droite pour activer

On désire ecrire un programme qui calcule le discriminant et les éventuelles racines d’un trinôme du second degré ax 2 + bx + c... Première S Programmer

Il s’agit de demander à l’utilisateur d’entrer les valeurs nécessaires, ainsi que de calculer les valeurs utiles. Cas où le discriminant est

[r]

Université Grenoble Alpes Année 2020-2021 ESPE - UFR IM 2 AG M1 Master MEEF-SD Parcours

VETERINAIRE DE MAISONS- ALFORT-METRO Maisons-Alfort PAUL BERT Maisons-Alfort LES 7 ARBRES Maisons-Alfort MOULIN BRULE Maisons-Alfort PASSERELLE DE CHARENTONNEAU Maisons-Alfort