MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Gunakan fungsi create_multi_armed_bandit() untuk menginisialisasi masalah bandit 10 lengan, yang akan mengembalikan true_bandit_probs, counts, values, rewards, dan selected_arms.
  • Pilih lengan untuk ditarik menggunakan fungsi epsilon_greedy().
  • Simulasikan reward berdasarkan probabilitas sebenarnya dari bandit.
  • Kurangi nilai epsilon dengan memastikan nilainya tidak turun di bawah min_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 = ____
Edit dan Jalankan Kode