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
Anleitung zur Übung
- Erzeuge ein Array
true_bandit_probsmit Zufallswahrscheinlichkeiten, die die tatsächliche Erfolgsrate jedes Banditen repräsentieren. - Initialisiere zwei Arrays,
countsundvalues, mit Nullen;countszählt, wie oft jeder Bandit gewählt wurde, undvaluessteht für die geschätzte Gewinnwahrscheinlichkeit jedes Banditen. - Lege die Arrays
rewardsundselected_armsan, 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