Skapa ett multi-armat banditproblem
Det multi-armade banditproblemet är ett klassiskt exempel inom förstärkningsinlärning. Det beskriver en situation där en agent måste välja mellan flera möjliga handlingar – eller "armar" – utan att känna till den förväntade belöningen för respektive val. Med tiden lär sig agenten vilken arm som ger högst belöning genom att utforska de olika alternativen. I den här övningen skapar du grundstrukturen för att simulera ett multi-armat banditproblem.
Biblioteket numpy har importerats som np.
Den här övningen är en del av kursen
Reinforcement Learning med Gymnasium i Python
Övningsinstruktioner
- Generera en array
true_bandit_probsmed slumpmässiga sannolikheter som representerar den verkliga underliggande framgångsgraden för varje bandit. - Initialisera två arrayer,
countsochvalues, med nollor.countshåller reda på hur många gånger varje bandit har valts, ochvaluesrepresenterar den uppskattade vinstannolikheten för varje bandit. - Skapa arrayerna
rewardsochselected_armsför att lagra de belöningar som erhålls och de armar som väljs i varje iteration.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
def create_multi_armed_bandit(n_bandits):
# Generate the true bandits probabilities
true_bandit_probs = ____
# Create arrays that store the count and value for each bandit
counts = ____
values = ____
# Create arrays that store the rewards and selected arms each episode
rewards = ____
selected_arms = ____
return true_bandit_probs, counts, values, rewards, selected_arms