马尔可夫决策过程和贝尔曼方程
马尔可夫决策过程(MDP)简介
下一个状态St+1S_{t+1}St+1是从概率分布P中得到的,该概率分布P取决于整个历史,因此我们需要考虑从s0s_0s0开始到t时刻的状态。马尔可夫是具有马尔可夫性质的随机过程
- 定义
P[St+1∣St]=P[St+1∣S1,...,St]\Bbb{P}[S_{t+1}|S_t]=\Bbb{P}[S_{t+1}|S_1,...,S_t] P[St+1∣St]=P[St+1∣S1,...,St]
“The future is independent of the past given the present”
也就是说,未来只与现在有关,与过去无关,根据现在可以推衍未来(过去无可挽回,未来可以知晓)。如此问题就简化了,得到St+1S_{t+1}St+1,只需要知道StS_{t}St
- 性质
- 状态从历史(history)中捕获了所有相关信息S=f(H)S=f(H)S=f(H)
- 当状态已知的时候,可以抛开历史不管
- 也就是说,当前状态是未来的充分统计量
举例:马尔可夫性质意味着t时刻的状态(和动作)包含了足够的信息来完全确定t+1时刻的下一个状态转移概率。斐波那契序列,可以用动态规划的方式让式子st+1=st−1+sts_{t+1}=s_{t-1}+s_{t}st+1=st−1+st成立。
- MDP五元组
- SSS是状态的集合
- AAA是动作的集合
- PsaP_{sa}Psa是状态转移函数
- γ∈[0,1]\gamma \in [0,1]γ∈[0,1]是对未来奖励的折扣因子
- RRR是奖励,有时候仅仅与状态有关系
动态过程
如上图所示,MDP的动态过程如下:
- 从状态s0s_0s0开始
- 智能体(Agent)选择一个动作a0∈Aa_0\in Aa0∈A
- 智能体获得奖励R(s0,a0)R(s_0,a_0)R(s0,a0)
- MDP随机转移到下一个状态s1s_1s1~ Ps0a0P_{s_0a_0}Ps0a0
上述过程会不断循环执行,直至终止状态StS_tSt出现
贝尔曼方程
贝尔曼方程
贝尔曼方程是对价值函数的一个简化,可将价值函数分解为及时奖励和衰减后的未来奖励之和
V(s)=Eπ[Gt∣St=s]=Eπ[Rt+1+γRt+2+γ2Rt+3+...∣St=s]=Eπ[Rt+1+γ(Rt+2+γRt+3+...)∣St=s]=Eπ[Rt+1+γV(s)∣St=s]V(s)=\Bbb{E}_\pi[G_{t}|S_t=s]{\kern 135pt}\\ =\Bbb{E}_\pi[R_{t+1}+\gamma R_{t+2}+\gamma ^2R_{t+3}+...|S_t=s]{\kern 4pt}\\ =\Bbb{E}_\pi[R_{t+1}+\gamma (R_{t+2}+\gamma R_{t+3}+...)|S_t=s]{\kern 0pt}\\ =\Bbb{E}_\pi[R_{t+1}+\gamma V(s)|S_t=s]{\kern 65pt} V(s)=Eπ[Gt∣St=s]=Eπ[Rt+1+γRt+2+γ2Rt+3+...∣St=s]=Eπ[Rt+1+γ(Rt+2+γRt+3+...)∣St=s]=Eπ[Rt+1+γV(s)∣St=s]
同理,动作价值函数可以表示为:
Q(s)=E[Rt+1+γV(s)∣St=s,At=a]=E[Rt+1+γEa∼πQ(St+1,a)∣St=s,At=a]Q(s)=\Bbb{E}[R_{t+1}+\gamma V(s)|S_t=s,A_t=a]{\kern 64pt}\\ =\Bbb{E}[R_{t+1}+\gamma \Bbb{E}_{a\sim\pi}Q(S_{t+1,a})|S_t=s,A_t=a]{\kern 0pt} Q(s)=E[Rt+1+γV(s)∣St=s,At=a]=E[Rt+1+γEa∼πQ(St+1,a)∣St=s,At=a]
贝尔曼期望方程
PsaP_{sa}Psa是状态转移概率,有其它的写法Psπ(s)P_{s\pi(s)}Psπ(s)、Pss′aP_{ss'}^aPss′a,表示在当前的状态s,经过动作a后,转移到其它状态的概率分布。
Vπ(s)=Eπ[Rt+1+γVπ(s)∣St=s]=R(s)+γ∑s′∈SPss′aVπ(s′)V_\pi(s)=\Bbb{E}_\pi[R_{t+1}+\gamma V_\pi(s)|S_t=s]{\kern 18pt}\\ =R(s)+\gamma \sum_{s'\in S}P_{ss'}^aV_\pi(s'){\kern 0pt} Vπ(s)=Eπ[Rt+1+γVπ(s)∣St=s]=R(s)+γs′∈S∑Pss′aVπ(s′)
同理
Qπ(s)=R(s,a)+γ∑s′∈SPss′a∑a′∈Aπ(a′∣s′)Qπ(s′,a′)Q_\pi(s)=R(s,a)+\gamma \sum_{s'\in S}P_{ss'}^a\sum_{a'\in A}\pi(a'|s')Q_\pi(s',a'){\kern 0pt} Qπ(s)=R(s,a)+γs′∈S∑Pss′aa′∈A∑π(a′∣s′)Qπ(s′,a′)
贝尔曼最优方程
对状态
马尔可夫决策过程和贝尔曼方程相关推荐
- 二、马尔可夫决策过程与贝尔曼方程
这里写目录标题 1 马尔可夫性质 2 马尔可夫过程 3 马尔可夫奖励过程(Markov reward process, MRP) 3.1 MRP的贝尔曼方程 3.2 MRP的贝尔曼方程求解方法 3.3 ...
- 强化学习: 贝尔曼方程与马尔可夫决策过程
强化学习: 贝尔曼方程与马尔可夫决策过程 一.简介 贝尔曼方程和马尔可夫决策过程是强化学习非常重要的两个概念,大部分强化学习算法都是围绕这两个概念进行操作.尤其是贝尔曼方程,对以后理解蒙特卡洛搜索.时 ...
- 【学习笔记】传说中的马尔可夫决策过程(MDP)和贝尔曼方程(Bellman Equation)
最近读了几篇paper,都着重涉及到了强化学习,都点到了马尔可夫决策过程(Markov Decision Process) 和贝尔曼方程或者叫贝尔曼等式(Bellman Equation),捧着似懂非 ...
- DeepMind 的马尔可夫决策过程(MDP)课堂笔记
DeepMind Teaching by David Silver 视频课程链接(Youtube资源,需梯子):https://youtu.be/lfHX2hHRMVQ 文章目录 DeepMind T ...
- 马尔可夫决策过程 Markov decision process MDP, 连续时间Markov chain, CMDP(全)
引言 在概率论及统计学中,马尔可夫过程(英语:Markov process)是一个具备了马尔可夫性质的随机过程,因为俄国数学家安德雷·马尔可夫得名.马尔可夫过程是不具备记忆特质的(memoryless ...
- (二)马尔可夫决策过程
从第一章中了解到强化学习中,智能体通过和环境进行交互获得信息.这个交互过程可以通过马尔可夫决策过程来表示,所以了解一下什么是MDP至关重要. 不过在了解马尔可夫决策过程之前,先要一些预备知识, ...
- 马尔可夫决策过程(MDP)
目录 智能体与环境 马尔科夫决策过程 智能体与环境 强化学习问题不同于传统机器学习问题,它是一种在交互的过程中学习并实现目标的问题.这里把具有学习能力和决策能力的程序或系统称之为Agent(代理,智能 ...
- 系统学习机器学习之增强学习(五)--马尔可夫决策过程策略TD求解(SARSA)
转自:https://www.cnblogs.com/pinard/p/9529828.html 1.时间差分法(temporal difference) 蒙特卡洛方法,需要所有的采样序列都是经历完整 ...
- 强化学习蘑菇书Easy RL第二、三章学习(马尔可夫决策过程、表格型方法)
马尔可夫决策过程概述 Markov Process(MP)通常来说是未来状态的条件概率分布仅依赖于当前的状态.在离散随机过程里,我们需要把随机变量所有可能取值的集合放到一个状态空间里,在强化学习里,我 ...
最新文章
- ​对标GPT-3、AlphaFold,智源研究院发布超大规模智能模型系统“悟道1.0”
- 原创数据结构算法Flash动画演示课件-Action Script(AS)脚本实现
- 读书笔记之:C/C++程序员实用大全—C/C++最佳编程指南
- unix 存储空间不足 无法处理此命令_大数据分析命令行使用教程
- 【Android 逆向】修改 Android 系统文件 ( Android 逆向中需要经常修改的文件和目录 | 在 root 后的设备中获取 / 目录的 rw 权限后注意事项 )
- Kubernetes中的nodePort,targetPort,port的区别和意义
- 工业用微型计算机(28)-dos和bios功能调用(2)-int 21h
- 头像星球html,HTML5 Canvas 星球大战黑武士头像
- 企业实战_16_MyCat全局自增ID
- php如何统计数组的个数,如何用php统计数组元素的个数(附代码)
- Anbox之push_locked与pop_locked(十三)
- Android中添加手心默认输入法,并能卸载
- windows pip install 报错
- windows phone8.1开发书籍,教程,资源汇总
- 阿里云有奖调查结果公布,赠送10个阿里巴巴logo胸针
- java-计算球体积
- Python自动化之Excel去除相同数据
- mac命令行挂载群晖nas
- 【面试题】从123456中取出三个数,取出三个不同数的概率是多少?
- Java:IO流的概念、作用、分类
热门文章
- nuc7 android tv,NUC7PJYH HDMI在特定显示屏上出现问题
- 手把手教你给女朋友编写一个公众号定时推送(java版本)
- SAP 采购订单入库——移动类型
- 无盘服务器文件管理,云图管家文档图纸管理软件
- 计算机蓝屏无法启动代码50,教您电脑蓝屏代码 0x00000050 如何快速修复
- [Flink 日记]Exceeded checkpoint tolerable failure threshold.
- 让IE支持placeholder属性
- java for循环 等待_在forEach循环中使用异步/等待
- 2013中国企业500强榜单出炉
- java 3D学习笔记