我目前正在阅读 Sutton & Barto 的“强化学习”,并且正在尝试自己编写一些方法。
策略迭代是我目前正在研究的。我正在尝试使用 OpenAI Gym 解决一个简单的问题,例如 CartPole 或连续山地车。
但是,对于策略迭代,我需要状态之间的转换矩阵和奖励矩阵。
这些是否可以从您在 OpenAI Gym 中构建的“环境”中获得。
我正在使用python。
如果不是,我如何计算这些值并使用环境?
我目前正在阅读 Sutton & Barto 的“强化学习”,并且正在尝试自己编写一些方法。
策略迭代是我目前正在研究的。我正在尝试使用 OpenAI Gym 解决一个简单的问题,例如 CartPole 或连续山地车。
但是,对于策略迭代,我需要状态之间的转换矩阵和奖励矩阵。
这些是否可以从您在 OpenAI Gym 中构建的“环境”中获得。
我正在使用python。
如果不是,我如何计算这些值并使用环境?
不,OpenAI Gym 环境不会以这种形式为您提供信息。为了收集这些信息,您需要通过抽样来探索环境:即选择行动并接受观察和奖励。使用这些样本,您可以估计它们。
一种近似这些值的基本方法是使用 LSPI(最小二乘策略迭代),据我所知,您也可以在 Sutton 中找到更多相关信息。
在toy_text/discrete.py中查看这些评论:
P: transitions (*)
(*) dictionary dict of dicts of lists, where
P[s][a] == [(probability, nextstate, reward, done), ...]