位置: IT常识 - 正文

强化学习——Q-Learning算法原理

编辑:rootadmin
强化学习——Q-Learning算法原理 一、Q-Learning :异策略时序差分控制

推荐整理分享强化学习——Q-Learning算法原理,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

从决策方式来看,强化学习可以分为基于策略的方法(policy-based)和基于价值的方法(value-based)。基于策略的方法直接对策略进行优化,使制定的的策略能够获得最大的奖励。基于价值的强化学习方法中,智能体不需要制定显式的策略,它维护一个价值表格或价值函数,通过这个价值表格或价值函数来选取价值最大的动作。 Q-Learning 算法就是一种value-based的强化学习算法。

二、算法思想:

Q(s,a)是状态价值函数,表示在某一具体初始状态s和动作a的情况下,对未来收益的期望值。 Q-Learning算法维护一个Q-table,Q-table记录了不同状态下s(s∈S),采取不同动作a(a∈A)的所获得的Q值。

Q-tablea1a2a3…s1Q(s1,a1)Q(s1,a2)Q(s1,a3)s2Q(s2,a1)Q(s2,a2)Q(s2,a3)s3Q(s3,a1)Q(s3,a2)Q(s3,a3)…

探索环境之前,初始化Q-table,当agent与环境交互的过程中,算法利用贝尔曼方程(ballman equation)来迭代更新Q(s,a),每一轮结束后就生成了一个新的Q-table。agent不断与环境进行交互,不断更新这个表格,使其最终能收敛。最终,agent就能通过表格判断在某个转态s下采取什么动作,才能获得最大的Q值。

三、更新过程

更新方法: Q(st,at)←Q(st,at)+α[rt+1+γmax⁡aQ(st+1,a)−Q(st,at)]Q(s_t,a_t) \leftarrow Q(s_t,a_t) + \alpha [r_{t+1}+ \gamma \max_aQ(s_{t+1},a) - Q(s_t,a_t) ]Q(st​,at​)←Q(st​,at​)+α[rt+1​+γamax​Q(st+1​,a)−Q(st​,at​)]

Q(st,at){\color{Red} Q(s_t,a_t)}Q(st​,at​) 是在状态sts_tst​下采取动作ata_tat​的长期回报,是一个估计Q值

rt+1{\color{Red} r_{t+1}}rt+1​ 是在状态sts_tst​下执行动作ata_tat​得到的回报reward

强化学习——Q-Learning算法原理

max⁡aQ(st+1,a){\color{Red} \max_aQ(s_{t+1},a)}maxa​Q(st+1​,a) 指的是在状态st+1s_{t+1}st+1​下所获得的最大Q值,直接看Q-table,取它的最大化的值。γ\gammaγ是折扣因子,含义是看重近期收益,弱化远期收益,同时也保证Q函数收敛。

(rt+1+γmax⁡aQ(st+1,a){\color{Red} (r_{t+1}+ \gamma \max_aQ(s_{t+1},a)}(rt+1​+γmaxa​Q(st+1​,a) 即为目标值,就是时序差分目标,是Q(st,at)Q(s_t,a_t)Q(st​,at​) 想要逼近的目标。α\alphaα是学习率,衡量更新的幅度。

当目标值和估计值的差值趋于0的时候,Q(s,a)就不再继续变化,Q 表趋于稳定,说明得到了一个收敛的结果。这就是算法想要达到的效果。

注意:max⁡aQ(st+1,a){\color{Red} \max_aQ(s_{t+1},a)}maxa​Q(st+1​,a)所对应的动作不一定是下一步会执行的实际动作! 这里引出ε−greedy{\color{Red} \varepsilon-greedy}ε−greedy,即 ε−\varepsilon-ε−贪心算法。 在智能体探索过程中,执行的动作采用ε−greedy{\color{Red} \varepsilon-greedy}ε−greedy策略,是权衡exploitation-exploration(利用和探索)的超参数。

exploration:探索环境,通过尝试不同的动作来得到最佳策略(带来最大奖励的策略)exploitation:不去尝试新的动作,利用已知的可以带来很大奖励的动作。Q-Learning算法中,就是根据Q-table选择当前状态下能使Q值最大的动作。

在刚开始的时候,智能体不知道采取某个动作后会发生什么,所以只能通过试错去探索。利用是指直接采取已知的可以带来很好奖励的动作。这里面临一个权衡问题,即怎么通过牺牲一些短期的奖励来理解动作,从而学习到更好的策略。因此,提出ε−greedy\varepsilon-greedyε−greedy,ε\varepsilonε就是权衡这两方面的超参数。

这篇博客https://blog.csdn.net/zhm2229/article/details/99351831对这部分的理解讲的很好,在此引用一下:

做exploitation和exploration的目的是获得一种长期收益最高的策略,这个过程可能对short-term reward有损失。如果exploitation太多,那么模型比较容易陷入局部最优,但是exploration太多,模型收敛速度太慢。这就是exploitation-exploration权衡。

比如我们设ε\varepsilonε=0.9,随机化一个[0,1]的值,如果它小于ε\varepsilonε,则进行exploration,随机选择动作;如果它大于ε\varepsilonε,则进行exploitation,选择Q value最大的动作。 在训练过程中,ε\varepsilonε在刚开始的时候会被设得比较大,让agent充分探索,然后ε\varepsilonε逐步减少,agent会开始慢慢选择Q value最大的动作

三、伪代码

图源于:百度飞桨AlStudio

参考: [1] 王琦.强化学习教程[M] [2] https://blog.csdn.net/zhm2229/article/details/99351831

本文链接地址:https://www.jiuchutong.com/zhishi/299577.html 转载请保留说明!

上一篇:JSONP数据劫持漏洞(json解析漏洞)

下一篇:Vue3【Vue路由概念、项目引入路由、集成Vue路由 、编程式导航、带参数的动态路由匹配 、嵌套路由、重定向和别名、命名视图、不同的历史模式​】(十)-全面详解(学习总结---从入门到深化)(vue路由的理解)

  • iqoo怎么关闭5G网络(iqoo7如何关闭5g网络)

    iqoo怎么关闭5G网络(iqoo7如何关闭5g网络)

  • 红米k40怎么设置背部轻敲(红米k40怎么设置流量显示)

    红米k40怎么设置背部轻敲(红米k40怎么设置流量显示)

  • 苹果下载如何设置要密码(苹果下载如何设置面容识别)

    苹果下载如何设置要密码(苹果下载如何设置面容识别)

  • 抖音mcn机构能退出吗(抖音mcn机构退出申诉)

    抖音mcn机构能退出吗(抖音mcn机构退出申诉)

  • 电脑系统崩溃无法开机(电脑系统崩溃无法进入桌面)

    电脑系统崩溃无法开机(电脑系统崩溃无法进入桌面)

  • 有了共享单车的确非常方便,在一些距离很近的地方就不用坐公车(有共享单车的小说)

    有了共享单车的确非常方便,在一些距离很近的地方就不用坐公车(有共享单车的小说)

  • 抖音买热门别人会知道吗(抖音掏钱买的上热门,别人能知道吗)

    抖音买热门别人会知道吗(抖音掏钱买的上热门,别人能知道吗)

  • vulkan是什么(vulkan是什么意思)

    vulkan是什么(vulkan是什么意思)

  • 如何恢复淘宝浏览足迹(怎么恢复淘宝浏览记录)

    如何恢复淘宝浏览足迹(怎么恢复淘宝浏览记录)

  • 斐讯路由器已连接不可上网(斐讯路由器已连接设备)

    斐讯路由器已连接不可上网(斐讯路由器已连接设备)

  • 一到晚上wifi就特别卡是什么原因(一到晚上wifi就无法上网)

    一到晚上wifi就特别卡是什么原因(一到晚上wifi就无法上网)

  • 华为手机hd关闭好不好(华为手机hd关闭代码)

    华为手机hd关闭好不好(华为手机hd关闭代码)

  • 用微信登录抖音无法授权怎么办(怎么用微信登录抖音)

    用微信登录抖音无法授权怎么办(怎么用微信登录抖音)

  • ctrl加d是什么快捷键(ctrl加什么大全)

    ctrl加d是什么快捷键(ctrl加什么大全)

  • 如何检查微信好友有没有删除或拉黑(如何检查微信好友删除)

    如何检查微信好友有没有删除或拉黑(如何检查微信好友删除)

  • 手机突然自动重启怎么回事(手机突然自动重启然后打不开)

    手机突然自动重启怎么回事(手机突然自动重启然后打不开)

  • 手机安装软件很慢怎么办(手机安装软件很卡怎么办)

    手机安装软件很慢怎么办(手机安装软件很卡怎么办)

  • 苹果11未接来电1去不掉(苹果11未接来电不显示)

    苹果11未接来电1去不掉(苹果11未接来电不显示)

  • 荣耀20有面部解锁么(荣耀20有没有人脸识别解锁)

    荣耀20有面部解锁么(荣耀20有没有人脸识别解锁)

  • 手机号怎么保存到卡上(手机号怎么保存到手机卡上)

    手机号怎么保存到卡上(手机号怎么保存到手机卡上)

  • vivoz31手机怎么设置返回键(vivoz31手机怎么样)

    vivoz31手机怎么设置返回键(vivoz31手机怎么样)

  • vivox23是不是曲面屏(vivox21是曲屏吗)

    vivox23是不是曲面屏(vivox21是曲屏吗)

  • 悦跑圈如何连接手环(悦跑圈如何连接小米手环)

    悦跑圈如何连接手环(悦跑圈如何连接小米手环)

  • 白金汉宫和维多利亚女王纪念碑,伦敦 (© CTC Creative/Offset)(白金汉宫维多利亚女王雕像寓意)

    白金汉宫和维多利亚女王纪念碑,伦敦 (© CTC Creative/Offset)(白金汉宫维多利亚女王雕像寓意)

  • 子公司自购买日开始持续计算的净资产包括商誉吗
  • 用友t3软件的系统内没有利润表模块
  • 库存商品余额在借方
  • 一般计税预缴增值税3%怎么办
  • 待转销项税额明细科目核算一般纳税人
  • 火车票增值税申报表怎么填
  • 收到退税如何记账
  • 房企与个人订立购房合同是否贴花?
  • 周转材料摊销借贷方向
  • 税前利润总额的计算公式
  • 未认证的进项也就是库存
  • 税交多了退税走到哪一流程了问谁
  • 新公司第一个月报税怎么弄
  • 行政单位要纳税吗
  • 大病医疗保险为什么贵
  • 公司纳税人是什么意思是不是法人
  • 企业筹办期间,发生亏损,应该计算为亏损年度
  • 建筑业预征缴纳税款
  • 营改增后房地产开发税费一览表
  • 增值税报表上填写什么
  • 快速查看财务费用借贷有误的方法
  • 公司自有房屋出租 营业范围
  • 计提固定资产折旧
  • 建筑单位领用材料分录
  • 偶然所得怎么缴纳个人所得税免税
  • 处置固定资产简易计税怎么申报
  • 如何保护电子邮件账户不被黑客攻击
  • php实现上传图片功能
  • php版本升级
  • system占用cpu过高怎么解决
  • linux安装方式
  • 2020工资计税基数怎么算
  • 单位房子可以卖吗
  • PHP:stream_get_transports()的用法_Stream函数
  • 建筑公司预收账款一般是哪些
  • php的!
  • redis php实例
  • RocketMQ-02
  • egi脑电数据处理
  • jquery 元素
  • php 路由实现
  • php数组排列组合算法
  • php常用加密方式
  • linux vimdiff命令
  • 施工单位代建收费合法吗
  • 将织梦dedecms转换到wordpress
  • mongodb中主键的默认格式是哪个?
  • dedecms插件
  • 以前年度租赁收入如何处理
  • 购买图书的会计账务处理
  • 出口运费怎么入账
  • sql server 2008 安装文件
  • sql dbo
  • 房产租赁增值税率是5%还是9%
  • 初次购买金税盘怎么做账
  • 买车进项税
  • 公司聘请专家工资怎么算
  • 纳税人在工作
  • 个人独资企业与一人公司的区别与联系
  • 税金及附加没有设置二级科目,有啥影响吗
  • 个体工商怎么申报
  • 速动比率多少合适 视频
  • insert into tbl() select * from tb2中加入多个条件
  • centos cmake安装
  • 在Linux环境下mysql的root密码忘记解决方法(三种)
  • windows server 2008下一些设置技巧及优化经验总结
  • rhel6.5安装教程
  • linux文本处理实验报告
  • win8设置关机键
  • win10系统设置锁屏密码
  • linux保存配置文件
  • 方块滚动代码怎么写
  • 安卓开发依赖文件添加在哪
  • window运行怎么打开
  • python特性和属性
  • 国家税务总局河北地税局
  • 个人所得税税单去哪里打印
  • 惠州市房产交易税费征收标准
  • 电力企业所得税按期
  • 地税收税标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设