BaşlayınÜcretsiz Başlayın

Çok kollu bir banditte yakınsamayı değerlendirme

Çok kollu bandit probleminde stratejilerin performansını ve yakınsamasını değerlendirmek, ne kadar etkili olduklarını anlamak için kritiktir. Zaman içinde her kolun ne sıklıkta seçildiğini analiz ederek, öğrenme sürecini ve stratejinin en iyi kolu bulup ondan yararlanma becerisini çıkarabiliriz. Bu egzersizde, epsilon-greedy stratejisinin yakınsamasını değerlendirmek için her kolun seçim yüzdelerini iterasyonlar boyunca görselleştireceksin.

Her iterasyonda hangi kolun çekildiğini gösteren selected_arms dizisi senin için önceden yüklendi.

Bu egzersiz

Python ile Gymnasium'da Reinforcement Learning

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Zaman içinde her banditin seçim yüzdesini izlemek için sıfırlardan oluşan, boyutları buna uygun bir selections_percentage dizisi başlat.
  • Her bandit için iterasyonlar boyunca seçimlerin kümülatif toplamını hesaplayıp iterasyon sayısına bölerek zaman içindeki selections_percentage değerlerini elde et.
  • Her bandit için kümülatif seçim yüzdelerini çizerek, iterasyonlar boyunca her birinin ne sıklıkla seçildiğini görselleştir.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Initialize the selection percentages with zeros
selections_percentage = ____
for i in range(n_iterations):
    selections_percentage[i, selected_arms[i]] = 1
# Compute the cumulative selection percentages 
selections_percentage = np.____(____, axis=____) / np.arange(1, ____).reshape(-1, 1)
for arm in range(n_bandits):
  	# Plot the cumulative selection percentage for each arm
    plt.plot(____, label=f'Bandit #{arm+1}')
plt.xlabel('Iteration Number')
plt.ylabel('Percentage of Bandit Selections (%)')
plt.legend()
plt.show()
for i, prob in enumerate(true_bandit_probs, 1):
    print(f"Bandit #{i} -> {prob:.2f}")
Kodu Düzenle ve Çalıştır