Rezolvarea unei probleme de bandit multi-armed
Acest exercițiu presupune implementarea unei strategii epsilon-greedy pentru a rezolva o problemă de bandit cu 10 brațe, în care valoarea epsilon scade în timp pentru a trece de la explorare la exploatare.
epsilon, min_epsilon și epsilon_decay au fost pre-definite pentru tine. Funcția epsilon_greedy() a fost, de asemenea, importată.
Acest exercițiu face parte din cursul
Reinforcement Learning cu Gymnasium în Python
Instrucțiuni pentru exercițiu
- Folosește funcția
create_multi_armed_bandit()pentru a inițializa o problemă de bandit cu 10 brațe; aceasta va returnatrue_bandit_probs,counts,values,rewardsșiselected_arms. - Selectează un braț de tras folosind funcția
epsilon_greedy(). - Simulează
reward-ul pe baza probabilităților reale ale banditului. - Aplică decăderea valorii
epsilon, asigurându-te că aceasta nu scade sub valoareamin_epsilon.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Create a 10-armed bandit
true_bandit_probs, counts, values, rewards, selected_arms = ____
for i in range(n_iterations):
# Select an arm
arm = ____
# Compute the received reward
reward = ____
rewards[i] = reward
selected_arms[i] = arm
counts[arm] += 1
values[arm] += (reward - values[arm]) / counts[arm]
# Update epsilon
epsilon = ____