Sarsa 思维决策 - 强化学习 (Reinforcement Learning) | 莫烦Python
切换视频源:

Sarsa 思维决策

作者: 莫烦 编辑: 莫烦 2017-01-13

学习资料:

接着上节内容, 我们来实现 RL_brainSarsaTable 部分, 这也是 RL 的大脑部分, 负责决策和思考.

代码主结构

和之前定义 Qlearning 中的 QLearningTable 一样, 因为使用 tabular 方式的 SarsaQlearning 的相似度极高,

我们甚至可以定义一个 主class RL, 然后将 QLearningTableSarsaTable 作为 主class RL 的衍生, 这个主 RL 可以这样定义. 所以我们将之前的 __init__, check_state_exist, choose_action, learn 全部都放在这个主结构中, 之后根据不同的算法更改对应的内容就好了. 所以还没弄懂这些功能的朋友们, 请回到之前的教程再看一遍.

如果是这样定义父类的 RL class, 通过继承关系, 那之子类 QLearningTable class 就能简化成这样:

学习

有了父类的 RL, 我们这次的编写就很简单, 只需要编写 SarsaTablelearn 这个功能就完成了. 因为其他功能都和父类是一样的. 这就是我们所有的 SarsaTable 于父类 RL 不同之处的代码. 是不是很简单.

如果想一次性看到全部代码, 请去我的 Github


降低知识传递的门槛

莫烦很常从互联网上学习知识,开源分享的人是我学习的榜样。 他们的行为也改变了我对教育的态度: 降低知识传递的门槛免费 奉献我的所学正是受这种态度的影响。 通过 【赞助莫烦】 能让我感到认同,我也更有理由坚持下去。