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, kursun bir parçasıdır

Python ile Gymnasium'da Reinforcement Learning

Kursa Göz Atın

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ı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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