从头开始看 Q-Learning + FrozenLake-v1
- RL 强化学习,读书, 看视频教程,都是一知半解。
- 所以找份代码,向 GPT 提问,尽量把每一行代码都搞懂。 不懂的地方,就是问。
- 最后整理一下聊天记录,单独保存为一个文件,发布出去,然后最近经常看。
- gym 有N 个环境, RL 有 M 个算法。 此文仅仅是: 1 / (M * N)
下面的问题,都是围绕的代码是:
import gymnasium as gym
import numpy as np
import matplotlib.pyplot as plt
def run(episodes, img_name):
rng = np.random.default_rng(1)
env = gym.make('FrozenLake-v1', map_name="4x4", is_slippery=False, render_mode=None)
q = np.zeros((env.observation_space.n, env.action_space.n))
print(q.shape)
learning_rate_a = 0.9
discount_factor_g = 0.9
epsilon = 1
epsilon_decay_rate = 0.0001
rewards_per_episode = np.zeros(episodes)
for i in range(episodes):