位置: 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路由的理解)

  • 小米盒子遥控器怎么配对(小米盒子遥控器失灵手动修复教程)

    小米盒子遥控器怎么配对(小米盒子遥控器失灵手动修复教程)

  • 快手怎么充值(快手怎么充值推广)

    快手怎么充值(快手怎么充值推广)

  • 手机上淘宝怎么寄快递上门取件(手机上淘宝怎么退保证金)

    手机上淘宝怎么寄快递上门取件(手机上淘宝怎么退保证金)

  • 怎么让亲属卡不优先扣款(怎么让亲属卡不扣除零钱通的钱)

    怎么让亲属卡不优先扣款(怎么让亲属卡不扣除零钱通的钱)

  • 微信怎么切换听筒(微信怎么切换听筒和外放)

    微信怎么切换听筒(微信怎么切换听筒和外放)

  • 苹果手机屏幕雾蒙蒙的(苹果手机屏幕雾蒙蒙的还有竖条)

    苹果手机屏幕雾蒙蒙的(苹果手机屏幕雾蒙蒙的还有竖条)

  • oppo手机开不机怎么办(OPPO手机开不机怎么回事)

    oppo手机开不机怎么办(OPPO手机开不机怎么回事)

  • bootcamp可以删除吗(bootcamp可以删除吗 windows)

    bootcamp可以删除吗(bootcamp可以删除吗 windows)

  • 轻颜相机怎么录5分钟长视频(轻颜相机怎么录音频)

    轻颜相机怎么录5分钟长视频(轻颜相机怎么录音频)

  • 为了账号安全微信号不能登录网页微信(为了账号安全微信被冻结)

    为了账号安全微信号不能登录网页微信(为了账号安全微信被冻结)

  • 怎么查看朋友圈访客(怎么查看朋友圈点赞历史)

    怎么查看朋友圈访客(怎么查看朋友圈点赞历史)

  • z390和z370主板区别(z390和z370主板哪个好)

    z390和z370主板区别(z390和z370主板哪个好)

  • 小米8为什么截长屏点不了(小米为什么截长屏点不了)

    小米8为什么截长屏点不了(小米为什么截长屏点不了)

  • 拼多多上面怎样查旺旺号(拼多多上面怎样申请换货)

    拼多多上面怎样查旺旺号(拼多多上面怎样申请换货)

  • 荣耀9x支持人脸解锁吗(荣耀9x支持人脸识别吗)

    荣耀9x支持人脸解锁吗(荣耀9x支持人脸识别吗)

  • 抖音极速版能拍视频吗(抖音极速版能拍视频吗怎么拍)

    抖音极速版能拍视频吗(抖音极速版能拍视频吗怎么拍)

  • ios13啥时候可以更新(ios13什么时候出正式版)

    ios13啥时候可以更新(ios13什么时候出正式版)

  • 通过手机号能找到人吗(通过手机号能找到抖音用户吗)

    通过手机号能找到人吗(通过手机号能找到抖音用户吗)

  • ios迅雷下载的电影在哪(ios迅雷下载的电影)

    ios迅雷下载的电影在哪(ios迅雷下载的电影)

  • mt132ch/a什么版本(mt132ch/a和mt122ch/a区别)

    mt132ch/a什么版本(mt132ch/a和mt122ch/a区别)

  • 当当网如何取消订单(怎么取消当当网自动续费)

    当当网如何取消订单(怎么取消当当网自动续费)

  • 8p录屏在哪(8p录屏在哪设置出来)

    8p录屏在哪(8p录屏在哪设置出来)

  • win10护眼模式在哪里? win10护眼模式的使用方法(win10护眼模式在哪)

    win10护眼模式在哪里? win10护眼模式的使用方法(win10护眼模式在哪)

  • TransUnet官方代码测试自己的数据集(已训练完毕)(transit code)

    TransUnet官方代码测试自己的数据集(已训练完毕)(transit code)

  • React组件的生命周期函数(react组件constructor)

    React组件的生命周期函数(react组件constructor)

  • 个体户开增值税怎么开
  • 企业所得税研发费用加计扣除条件
  • 烟叶税计入什么
  • 股权转让的相关文件有哪些
  • 员工交个人所得税对公司有什么影响
  • 小规模企业税收优惠政策2023
  • 房地产印章图片
  • 企业增值税免税需要备案吗
  • 设备转产需要停止折旧吗
  • 如何查看发票是否被抵扣
  • 注销了出口退税怎么办
  • 个人所得税交税怎么交的
  • 暂估入账的原材料有成本差异吗
  • 收回以前年度的应收账款,怎么进行账务处理?
  • 建筑行业劳务费会计分录
  • 质量扣款可以放到费用吗
  • 金三系统客户端插件在哪下载以及安装流程是怎样的?
  • 甲供工程会计分录
  • 发票联丢失怎么做账
  • 需要缴纳消费税的委托加工存货,由受托方
  • win10打开游戏老是提示
  • 账面价值,账面净值,账面余额
  • 企业对外股权投资涉及税收
  • linux shell语句
  • 企业购入旧设备怎么入账
  • 别人说你坏话怎么发朋友圈说说
  • 制造业成本核算明细表
  • javascript移动鼠标
  • 建筑行业施工规范有哪些
  • React18的useEffect会执行两次
  • php实现留言板功能怎么用
  • php中函数定义没有返回值类型
  • 支付境外培训费代扣啥税
  • yolo v5详解
  • 写一个简单的php程序代码
  • 网站为什么需要备案
  • 天然气零售企业
  • 公司账户的资金有利息吗
  • 以旧换新方式销售金银首饰的消费税处理
  • 所有者权益类的借贷方向是什么
  • 扶贫资金入股问题
  • 增值税发票超过3个月可以作废吗
  • 临时工工资会计科目怎么录
  • micro start
  • mysql 扩展
  • SQLServer2005 Output子句获取刚插入的ID值
  • 4s店开的维修发票怎么开
  • linux 自启
  • 无追索权保理的例外
  • 公司的现金收入存到个人账户在转到公司指定的私人账户
  • 银行汇票转入银行分录
  • 商业承兑汇票如何承兑?
  • 购买用品开专票怎么入账
  • 新开公司费用
  • 销售货物海运费会计分录
  • 登记总分类账的依据有
  • 资产负债率多少属正常范围
  • win10创建家庭
  • linux top命令详解内存过高查询
  • win10系统如何删除账户
  • windows log在哪里
  • win10系统怎么关闭病毒防护
  • mac新版系统
  • 红帽企业版更新了吗
  • centos安装软件教程
  • mcshield.exe是什么进程
  • win7旗舰版系统激活密钥
  • 详解linux中systemd命令的运行级别与其常见应用
  • windows执行bat脚本
  • linux shell函数
  • js中的三种弹出消息提醒的命令
  • jquery自动加载的方法
  • 收藏一些不常用的图片
  • jquery添加自定义属性
  • 甘肃税务局电子税务局app
  • 非房地产企业土地增值税
  • 2021辽宁粮食直补
  • 江苏契税补贴怎么领取
  • 要深化税收制度改革健全
  • 电子税务局密钥不一致
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设