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, kursun bir parçasıdır
Python ile Gymnasium'da Reinforcement Learning
Egzersiz 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ı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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))