强化学习Q-learning及python例子

更新时间:2023-06-02 18:54:05 阅读: 评论:0

强化学习Q-learning及python例⼦
⽂章⽬录
本⽂是作者在学习莫烦的强化学习课程中的笔记,强烈推荐 。
Q-learning原理
朋友订婚祝福语我们以⼀个⾛迷宫的⼩游戏为例:让探索者学会⾛迷宫. 黄⾊的是天堂 (reward 1), ⿊⾊的地狱 (reward -1). ⼤多数 RL 是由 reward 导向的, 所以定义 reward 是 RL 中⽐较重要的⼀点.
Q-learning原理实际上就是建⽴⼀个Q表(最本⽂最后有展⽰),⾥⾯包含所有状态下、不同动作的Q值(最终根据Q值⾛出迷宫),Q-learning通过不断尝试每个回合、每⼀步,不断的更新Q表,最终达到最优的状态。
整个算法就是⼀直不断更新 Q table ⾥的值, 然后再根据新的值来判断要在某个 state 采取怎样的 action. Qlearning 是⼀个 off-policy 的算法, 因为⾥⾯的 max action 让 Q table 的更新可以不基于正在经历的经验(可以是现在学习着很久以前的经验,甚⾄是学习他⼈的经验). 不过这⼀次的例⼦, 我们没有运⽤到 off-policy, ⽽是把 Qlearning ⽤在了 on-policy 上, 也就是现学现卖, 将现在经历的直接当场学习并运⽤. On-policy 和 off-policy 的差别我们会在之后的 Deep Q network (off-policy) 学习中见识到. ⽽之后的教程也
会讲到⼀个 on-policy (Sarsa) 的形式, 我们之后再对⽐。
狗的品种大全python例⼦
⾸先我们先 import 两个模块, maze_env 是我们的环境模块, 已经编写好了, ⼤家可以直接在, maze_env 模块我们可以不深⼊研究, 如果你对编辑环境感兴趣, 可以去看看如何使⽤ python ⾃带的简单 GUI 模块 tkinter 来编写虚拟环境. maze_env 就是⽤ tkinter 编写的. ⽽
家庭经济RL_brain 这个模块是 RL 的⼤脑部分.
from maze_env import Maze打电话游戏
from RL_brain import QLearningTable
下⾯的代码, 我们可以根据上⾯的图⽚中的算法对应起来, 这就是整个 Qlearning 最重要的迭代更新部分啦.
def update():
长牙顺序图片# 学习 100 回合
for episode in range(100):
# 初始化 state 的观测值
obrvation = ()
while True:
# 更新可视化环境
# RL ⼤脑根据 state 的观测值挑选 action
action = RL.choo_action(str(obrvation))
# 探索者在环境中实施这个 action, 并得到环境返回的下⼀个 state 观测值, reward 和 done (是否是掉下地狱或者升上天堂)            obrvation_, reward, done = env.step(action)
工程伦理# RL 从这个序列 (state, action, reward, state_) 中学习
RL.learn(str(obrvation), action, reward,str(obrvation_))
# 将下⼀个 state 的值传到下⼀次循环
obrvation = obrvation_
# 如果掉下地狱或者升上天堂, 这回合就结束了
if done:
break
# 结束游戏并关闭窗⼝
print('game over')
env.destroy()
if __name__ =="__main__":
# 定义环境 env 和 RL ⽅式
env = Maze()
jd塞林格
RL = QLearningTable(actions=list(range(env.n_actions)))
# 开始可视化环境 env虹吸法
env.after(100, update)
env.mainloop()
迷宫中各个状态的位置:
最终学到的Q表:

本文发布于:2023-06-02 18:54:05,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/968228.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:环境   学习   状态   迷宫   回合   游戏
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图