Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Genereer een array true_bandit_probs met willekeurige waarschijnlijkheden die het werkelijke succesratio voor elke bandit weergeven.
  • Initialiseer twee arrays, counts en values, met nullen; counts houdt bij hoe vaak elke bandit is gekozen, en values stelt de geschatte winstkans van elke bandit voor.
  • Maak de arrays rewards en selected_arms om 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
Code bewerken en uitvoeren