ÎncepețiÎncepe gratuit

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

Vezi cursul

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 returna true_bandit_probs, counts, values, rewards și selected_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 valoarea min_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 = ____
Editează și rulează codul