Crearea unui bandit multi-armed
Problema banditului multi-armed (multi-armed bandit) este un exemplu clasic din reinforcement learning care descrie un scenariu în care un agent trebuie să aleagă între mai multe acțiuni (sau „brațe") fără a cunoaște recompensa așteptată pentru fiecare. În timp, agentul învață ce braț oferă cea mai mare recompensă, explorând pe rând fiecare opțiune. Acest exercițiu presupune configurarea structurii de bază pentru simularea unei probleme de tip bandit multi-armed.
Biblioteca numpy a fost importată ca np.
Acest exercițiu face parte din cursul
Reinforcement Learning cu Gymnasium în Python
Instrucțiuni pentru exercițiu
- Generează un array
true_bandit_probscu probabilități aleatorii care reprezintă rata de succes reală a fiecărui bandit. - Inițializează două arrayuri,
countsșivalues, cu zerouri;countsurmărește de câte ori a fost ales fiecare bandit, iarvaluesreprezintă probabilitatea estimată de câștig a fiecărui bandit. - Creează arrayurile
rewardsșiselected_armspentru a stoca recompensele obținute, respectiv brațele selectate în fiecare iterație.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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