Menyelesaikan multi-armed bandit
Latihan ini mencakup penerapan strategi epsilon-greedy untuk menyelesaikan masalah bandit 10 lengan, di mana nilai epsilon berkurang seiring waktu untuk beralih dari eksplorasi ke eksploitasi.
epsilon, min_epsilon, dan epsilon_decay telah didefinisikan untuk Anda. Fungsi epsilon_greedy() juga telah diimpor.
Latihan ini adalah bagian dari kursus
Reinforcement Learning dengan Gymnasium di Python
Petunjuk latihan
- Gunakan fungsi
create_multi_armed_bandit()untuk menginisialisasi masalah bandit 10 lengan, yang akan mengembalikantrue_bandit_probs,counts,values,rewards, danselected_arms. - Pilih lengan untuk ditarik menggunakan fungsi
epsilon_greedy(). - Simulasikan
rewardberdasarkan probabilitas sebenarnya dari bandit. - Kurangi nilai
epsilondengan memastikan nilainya tidak turun di bawahmin_epsilon.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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 = ____