【机器学习】带你轻松理解什么是强化学习中的状态动作函数 ?
系列文章目录
第十八章 Python 机器学习入门之强化学习
目录
系列文章目录
前言
一、状态动作函数的定义
二、直观理解
三、将状态动作函数与回报和策略联系起来
总结
前言
强化学习中的状态动作函数Q(s,a)是一个非常重要的概念,再后面的贝尔曼方程中有所应用。本文主要来阐述一下什么是状态动作函数Q。
一、状态动作函数的定义
State-action value function definition
状态动作函数是一个通常用大写字母 Q 表示的函数,它是你可能处于的状态以及你可能选择在该状态中采取的行动的函数,将给出一个等于回报的数字。
定义:如果你从某个状态 S 开始,并只采取行动 A 一次, 在采取行动 A 一次之后,你就会表现得最佳。
因此,在那之后,你采取的任何行动都会导致最高的回报。
二、直观理解
如果你从某个状态 S 开始,并只采取行动 A 一次, 在采取行动 A 一次之后,你就会表现得最佳。
上面这个定义看起来有些奇怪,我们怎么知道什么是最佳行为?
我们不要急,先来看一下之前的例子,来帮助理解。
之前我们学了一个非常好的策略,即从第2,3,4阶段向左走,从第5阶段向右走。事实证明,当折扣因子gamma γ 为0.5 时,这就是火星探测器应用的最优策略,
Q(s, a ) 将等于总回报,如果你从说采取行动 A 开始,然后在此之后表现最佳。意思就是根据这个策略采取行动,我们会得到最高的回报。
是不是还是不太懂?没关系,我们来举例说一说!
如果我们在状态2 继续采取行动,向右运动,我们会进入状态 3 ,如果想要表现最佳,继续向右最后得到回报没有向左运动得到的回报高,所以这时候我们向左运行,最后到达终端状态1,得到的回报是12.5.(这里的折扣因子是0.5),注意,这并不是最优的策略。这样运动的前提是,它采取的第一个动作是向右。状态动作函数Q 的值就是12.5.
我们接着看第二个例子,如果我们在状态2 继续采取行动,向左运动,我们会进入状态 1,如果想要表现最佳,继续向左最后得到回报比向右运动得到的回报高,所以这时候我们向左运行,最后到达终端状态1,得到的回报是50. 状态动作函数Q 的值就是50.
我们接着看第三个例子,如果我们在状态4 继续采取行动,向左运动,我们会进入状态3,如果想要表现最佳,继续向左最后得到回报比向右运动得到的回报高,所以这时候我们向左运行,最后到达终端状态1,得到的回报是12.5.状态动作函数Q 的值就是12.5.
怎么样,听完三个例子,上面有点豁然开朗的感觉?
三、将状态动作函数与回报和策略联系起来
如果我们继续这样做,我们会得到所有的对于不同状态、不同动作的状态价值函数Q 的值。
因为状态动作函数用Q 表示,所以也被叫做Q 函数,它告诉我们什么是我们的回报或真正的价值是什么?它有什么用?只需采取行动A 和 ST S(在哪个状态),然后在此之后做到表现最佳。
一旦我们可以计算Q 函数,这也将为我们提供一种选择动作的方法。
如图,上面是策略Pi 和回报R,下面是Q( s, a) 的值,
结果对比,不难发现,任何状态 S 的最佳可能回报是Q(s, a) 的最大值, 比如说在状态4,向左行动,得到的回报是12.5,向右得到的是10,12.5大,所以向左走是该状态的最佳可能返回。或者说,我们希望从状态4获得的最高回报是12.5.。
反过来说,如果我们想得到的最高回报是12.5而不是10,那么我们就一个采取行动A,向左行动,这为我们提供了更大的Q 值。所以最好的动作状态是动作A,这实际上也最大化了Q(s, a) 。
计算Q(s, a) 是后面会构建的强化学习算法的重要组成部分。
也就是说,如果我们对于每个状态和每个动作,有一种计算Q(s, a )的方法,当我们处于某种状态时,我们要做的就是查看不同的动作 A, 并选择最好的动作 A, 这也会使得Q(s, a) 最大化,所以Pi(S) 只能选择动作A,这给了Q(s, a)的最大值,这将是一个很好的行动,
总结
如果我们在每个状态和每个动作中都可以计算Q(s, a) ,这就为我们提供了一种计算状态 S 的自动策略Pi的好方法。后面我们会提到。
【机器学习】带你轻松理解什么是强化学习中的状态动作函数 ?相关推荐
- (深入理解)强化学习中Model-based和Model-free的区别是什么
文章目录 RL的形式化 RL求解算法 model-based:知己知彼,百战百胜 Model-free:两耳不闻窗外事,一心只读圣贤书 总结 RL的形式化 首先我们定义强化学习中的马尔可夫决策过程MD ...
- 机器学习、监督学习、非监督学习、强化学习、深度学习、迁移学习
机器学习.监督学习.非监督学习.强化学习.深度学习.迁移学习 机器学习(machine learning) 监督学习(supervised learning) 非监督学习(unsupervised l ...
- 《百面机器学习》读书笔记(十一)-强化学习
全部笔记的汇总贴:<百面机器学习>-读书笔记汇总 强化学习近年来在机器学习领域越来越火,也受到了越来越多人的关注.强化学习是一个20世纪80年代兴起的,受行为心理学启发而来的一个机器学习领 ...
- 强化学习中的episode如何理解和翻译?
1. episode的感性理解 强化学习中,episode是个重要的术语.那么episode应该如何理解呢? An episode is one complete play of the agent ...
- 八千字长文深度解读,迁移学习在强化学习中的应用及最新进展
点击我爱计算机视觉标星,更快获取CVML新技术 本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载. 机器之心原创 作者:Luo Sainan 编辑:H4O 迁移学习通 ...
- 《强化学习周刊》第26期:UCL UC Berkeley发表深度强化学习中的泛化研究综述、JHU推出基于强化学习的人工决策模型...
No.26 智源社区 强化学习组 强 化 学 习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注.为帮助研究与工程人员了解该领域的相关进展和 ...
- labview叠加白噪声_强化学习中Ornstein-Uhlenbeck噪声是鸡肋吗?
欢迎转载,转载请注明出处--知乎专栏"机器学习与控制论". 读过DDPG论文[1]的同学几乎都会有一个问题,论文中使用Ornstein-Uhlenbeck噪声用于探索,比较难理解, ...
- 强化学习中的基础概念和术语——spinning up文档翻译
Key Concepts and Terminology 以下内容翻译自open ai 的spinning up文档,同时加入了一些自己的理解.原始内容来自spinningup 文章目录 Key Co ...
- 初探强化学习(10)强化学习中的一些术语(non-stationray,sample efficiency,planning和Learnin,Reward,off-policy和on-policy )
1. 关于stationray 参考博客. Stationary or not 根据环境是否稳定.可以将强化学习问题分为stationary.non-stationary. 1.1 stationar ...
最新文章
- 编译型语言和解释型语言(转载)
- JSP 异常处理如何处理?
- 减免租金?也要体谅业主难处哟
- linux下运行js挖矿,利用 JavaScript 代码挖矿
- 14.基于Hadoop的数据仓库Hive第1部分
- Kubernetes存储之Secret
- mycat 资料汇总
- YBTOJ:彩球抽取(期望)
- C++中的std::lock_guard和std::unique_lock
- IO流(二)__BufferedReader和BufferedWriter
- Cadence Orcad Capture导出网表的方法图文教程及视频演示
- readelf 显示文件完整段表
- wps在线预览接口_Office在线预览及PDF在线预览的实现方式大集合
- 网站推广优化教程100条(完整版)-
- RSAT(Regulatory Sequence Analysis Tools)详解
- 月入3000万 估值一亿美金的微信公众号
- SAP 物料号系统内部编码导入BAPI报错(E M_ 17)
- iphone6 因为充电线电压不稳,产生的错乱现象
- 33.Region的概念及配置多region
- ELADMIN学习第一次
热门文章
- python中异或是什么意思_python中 “与,或,异或”
- 【饥荒mod制作吧第三篇】本吧友情贴吧传送门
- DQL:内连接查询与外连接查询
- EasyExcel导入导出excel 复杂表头 表头校验 数据校验
- c语言rand以及srand用法
- C语言rand()函数重置种子问题
- 华为p30还是安卓系统还是鸿蒙系统,华为p30是安卓系统吗
- Unsupervised Real-world Image Super Resolution via Domain-distance Aware Training
- php反编译opcode,从HGAME的pyc逆向来看手撸opcode
- vue计算属性computed和侦听属性watch的用法和区别