E· Universitetreinforcement-learning· ca 60 min· utvecklande· verifierad 2026-09-20
Flerarmade banditer
Kunna implementera epsilon-greedy och Thompson sampling — metoden som väljer förklaringssätt i plattformen.
Förkunskaper
Intuition
Du har k spelautomater («armar») med okända vinstchanser. Varje drag: dra en arm, se belöning. Mål: maximera total belöning. Problemet: för att veta vilken som är bäst måste du utforska dåliga armar; för att tjäna måste du utnyttja den bästa.
- ε-greedy: med sannolikhet ε dra slumpmässig arm, annars den med högst skattat medel. Enkelt; utforskar för evigt lika mycket.
- Thompson sampling: håll en sannolikhetsfördelning (Beta) över varje arms chans; dra ett stickprov per arm, välj högsta. Utforskar automatiskt mer där osäkerheten är stor. Nära optimal i praktiken.
- UCB: välj arm med högst medel + bonus för osäkerhet.
Regret = vad du förlorade mot att alltid ha dragit bästa armen. Bra algoritmer har regret som växer som log(t).
AI-grafen använder detta för att välja vilken förklaringstyp som fungerar bäst för en användare: varje förklaringsdjup är en arm, «användaren klarade övningen» är belöningen.
Kod
import numpy as np
rng = np.random.default_rng(0)
p_sann = np.array([0.30, 0.45, 0.60, 0.40]) # okända för agenten
def kor(valj, T=5000):
n = np.zeros(4); s = np.zeros(4); regret = 0.0
for t in range(T):
a = valj(n, s, t)
r = rng.random() < p_sann[a]
n[a] += 1; s[a] += r; regret += p_sann.max() - p_sann[a]
return regret
def eps_greedy(eps=0.1):
def f(n, s, t):
if rng.random() < eps or n.min() == 0: return rng.integers(4)
return int(np.argmax(s / n))
return f
def thompson(n, s, t):
return int(np.argmax(rng.beta(s + 1, n - s + 1)))
print("eps-greedy", round(kor(eps_greedy()), 1)) # ≈ 90
print("thompson ", round(kor(thompson), 1)) # ≈ 25
Behärskning innebär
- Implementerar epsilon-greedy och Thompson sampling
- Förklarar utforska/utnyttja-avvägningen och regret
- Ser var banditer används i produkter (och i plattformen)
Logga in för att göra övningarna och bygga upp din behärskning.
Källor
- Sutton & Barto — Reinforcement Learning: An Introduction (fri PDF), kap. 2 — fri läsning
- arXiv — A Tutorial on Thompson Sampling — arXiv (öppen åtkomst; licens per artikel)