Een multi-armed bandit maken
Een multi-armed bandit-probleem is een klassiek voorbeeld in reinforcement learning. Het beschrijft een situatie waarin een agent moet kiezen tussen meerdere acties (of "armen") zonder de verwachte beloning van elke arm te kennen. Na verloop van tijd leert de agent welke arm de hoogste beloning oplevert door elke optie te verkennen. In deze oefening zet je de basisstructuur op om een multi-armed bandit-probleem te simuleren.
De numpy-bibliotheek is geïmporteerd als np.
Deze oefening maakt deel uit van de cursus
Reinforcement Learning met Gymnasium in Python
Oefeninstructies
- Genereer een array
true_bandit_probsmet willekeurige waarschijnlijkheden die het werkelijke succesratio voor elke bandit weergeven. - Initialiseer twee arrays,
countsenvalues, met nullen;countshoudt bij hoe vaak elke bandit is gekozen, envaluesstelt de geschatte winstkans van elke bandit voor. - Maak de arrays
rewardsenselected_armsom de behaalde beloningen en de gekozen armen per iteratie op te slaan.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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