强化学习——值函数与Bellman方程
来源:互联网 发布:萍乡网络小额贷款公司 编辑:程序博客网 时间:2024/06/05 07:18
在强化学习中,agent和环境之间进行一系列交互:在每个时刻
agent的目标是最大化累积奖励。
1 MDP
马尔可夫决策过程(Markov Decision Process, MDP)是对环境的建模。
MDP是一个五元组
<S,A,P,R,γ> ,其中
-S 是一个有限状态集
-A 是一个有限动作集
-P 是一个状态转移概率矩阵,Pass′=P[St+1=s′|St=s,At=a]
-R 是一个奖励函数,Ras=E[Rt+1|St=s,At=a]
-γ 是一个折扣因子γ∈[0,1] .策略
π 是agent的行为函数:
π(a|s)=P[At=a|St=s]
注意,策略只和状态相关,和时间无关(静态的)。
2 值函数与Bellman期望方程
2.1 值函数
值函数是对未来奖励的一个预测。
回报(return)
回报Gt 是从时刻t 开始的总折扣奖励:
Gt=Rt+1+γRt+2+⋯=∑k=1∞γkRt+k+1 状态值函数
状态值函数vπ(s) 是从状态s 出发,按照策略π 采取行为得到的期望回报:
vπ(s)=Eπ[Gt|St=s]
状态值函数可以用来评价状态的好坏。
根据定义可以得到:
行为值函数
行为值函数qπ(s,a) 是从状态s 出发,采取行为a 后,然后按照策略π 采取行为得到的期望回报:
qπ(s,a)=Eπ[Gt|St=s,At=a]
根据定义可以得到:
2.2 Bellman期望方程
Bellman期望方程其实就是
vπ(s) 与qπ(s,a) 之间的关系
vπ(s) 自身的递推关系
把公式(2)代入(1)中得到:
qπ(s,a) 自身的递推关系
把公式(1)代入(2)中得到:
3 最优值函数与Bellman最优方程
3.1 最优值函数
最优状态值函数
最优值函数v∗(s) 是在所有策略上的最大值函数:
v∗(s)=maxπvπ(s) 最优行为值函数
最优行为值函数q∗(s,a) 是在所有策略上的最大行为值函数:
q∗(s,a)=maxπqπ(s,a)
当最优值函数已知时,可以认为MDP已被解决。
3.2 Bellman最优方程
Bellman最优方程其实就是
v∗(s) 与q∗(s,a) 之间的关系
问题:(5.3)为什么成立?
∑a∈Aπ(a|s)qπ(s,a)≤maxaqπ(s,a)maxπ∑a∈Aπ(a|s)qπ(s,a)≤maxπmaxaqπ(s,a)maxπ∑a∈Aπ(a|s)qπ(s,a)≤maxaq∗(s,a)
只能证明出≤ ,怎么证明= 呢?
同样,怎么证明公式(6.3)呢?
v∗(s) 自身的递推关系
把公式(6)代入(5)中得到:
q∗(s,a) 自身的递推关系
把公式(5)代入公式(6)得到:
4 最优策略
定义策略之间的偏序关系
π≥π′ if vπ(s)≥vπ′(s), ∀s
那么有如下定理成立:
对任意MDP:
- 存在最优策略
π∗ ,满足π∗≥π,∀π - 所有最优策略的状态值函数都等于最优状态值函数
vπ∗(s)=v∗(s) - 所有的最优策略的行为值函数都等于最优行为值函数
qπ∗(s,a)=q∗(s,a)
思考这样一个问题:如果某个状态
这种情况下是不存在最优策略的。
但是对于有限MDP,并且值函数有界时,上述情况并不存在,即至少有一个最优策略。
- 强化学习——值函数与Bellman方程
- Python学习笔记——函数式方程
- 一文读懂AlphaGo背后的强化学习:它的背景知识与贝尔曼方程的原理
- 深度学习与强化学习
- Javascript强化教程——什么是函数?
- JavaScript强化教程——函数参数
- php强化练习(2)——函数
- 深度强化学习——DQN
- 深度强化学习——Dueling-DDQN
- 深度强化学习——A3C
- 强化学习——A3C,GA3C
- 深度强化学习——DQN
- 强化学习入门 第五讲 值函数逼近
- 强化学习入门 第五讲 值函数逼近
- 强化学习学习笔记——介绍强化学习(reinforcement learning)
- 强化学习笔记01,02——强化学习问题和Multi-arm Bandits
- MATLAB程序设计教程(7)——MATLAB解方程与函数极值
- 《强化学习》学习笔记整理与提炼
- 前端必学内容:webpack3 1-24节学习参考,持续更新中……
- java实现在线支付-支付宝
- vmware vCenter(2)
- 新华三这艘大船立志两年内领航中国安全市场
- typeof,instanceof,Object.prototype.toString来判断数据类型
- 强化学习——值函数与Bellman方程
- leetcode 591. Tag Validator 解析HTML + 正则表达式
- Echarts图标使用实例(柱状图与饼图)
- QComboBox实现复选框功能
- APP冷启动短暂白屏,附加Image全屏显示
- synchronized和ReentrantLock区别浅析
- 越来越多的黑客偏爱电子邮件网络钓鱼攻击
- 【c#】.NET中验证处理
- vue 禁止浏览器后退