Azalan epsilon-greedy stratejisiyle CliffWalking'i çözme
Epsilon-greedy stratejisini geliştirirken, ajan ortamı daha iyi öğrendikçe keşif oranı olan epsilon’u kademeli olarak azaltmak için bir azalma katsayısı eklenir. Bu yaklaşım, öğrenmenin ilk aşamalarında keşfi teşvik ederken, ajan ortama daha çok aşina oldukça öğrenilen bilginin kullanılmasını (exploitation) destekler. Şimdi bu stratejiyi CliffWalking ortamını çözmek için uygulayacaksın.
Ortam başlatıldı ve env değişkeniyle erişebilirsin. epsilon, min_epsilon ve epsilon_decay değişkenleri senin için önceden tanımlandı. epsilon_greedy() ve update_q_table() fonksiyonları içe aktarıldı.
Bu egzersiz
Python ile Gymnasium'da Reinforcement Learning
kursunun bir parçasıdırEgzersiz talimatları
- Bir
actionseçip çalıştırarak, alınanrewarddeğeriniepisode_rewardüzerine ekleyerek ve Q-tablosunu güncelleyerek tam eğitim döngüsünü uygula. epsilondeğeriniepsilon_decayoranıyla azalt vemin_epsilondeğerinin altına düşmediğinden emin ol.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
rewards_decay_eps_greedy = []
for episode in range(total_episodes):
state, info = env.reset()
episode_reward = 0
for i in range(max_steps):
# Implement the training loop
action = ____
new_state, reward, terminated, truncated, info = ____
episode_reward += ____
____
state = new_state
rewards_decay_eps_greedy.append(episode_reward)
# Update epsilon
epsilon = ____
print("Average reward per episode: ", np.mean(rewards_decay_eps_greedy))