LoslegenKostenlos loslegen

Einen Multi-Armed-Bandit erstellen

Ein Multi-Armed-Bandit-Problem ist ein klassisches Beispiel im Reinforcement Learning. Es beschreibt ein Szenario, in dem ein Agent zwischen mehreren Aktionen (oder „Armen“) wählen muss, ohne die erwartete Belohnung jeder Option zu kennen. Mit der Zeit lernt der Agent durch Ausprobieren, welcher Arm die höchste Belohnung liefert. In dieser Übung baust du die grundlegende Struktur zur Simulation eines Multi-Armed-Bandit-Problems auf.

Die Bibliothek numpy wurde als np importiert.

Diese Übung ist Teil des Kurses

Reinforcement Learning mit Gymnasium in Python

Kurs anzeigen

Anleitung zur Übung

  • Erzeuge ein Array true_bandit_probs mit Zufallswahrscheinlichkeiten, die die tatsächliche Erfolgsrate jedes Banditen repräsentieren.
  • Initialisiere zwei Arrays, counts und values, mit Nullen; counts zählt, wie oft jeder Bandit gewählt wurde, und values steht für die geschätzte Gewinnwahrscheinlichkeit jedes Banditen.
  • Lege die Arrays rewards und selected_arms an, um die erhaltenen Belohnungen und die in jeder Iteration ausgewählten Arme zu speichern.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 bearbeiten und ausführen