reinforcement learning,增强学习:Policy Evaluation,Policy Iteration,Value Iteration,Dynamic Programming f
来源:互联网 发布:中宣部知乎 编辑:程序博客网 时间:2024/06/04 18:01
首先回忆上一次的内容:
Bellman Expectation Equation:
【计算时常用】
【计算时常用】
【计算时常用】
Bellman Optimality Equation:
为什么DP能够解决MDP问题:
Policy Evaluation:
1)要解决的问题:
也就是说,要评价一个policy π的在每个状态的最优值Vπ。通常也成为prediction任务。这种任务因为policy π给出了,典型的DP可解决任务。
2)解决方案:
iterative application of Bellman expectation equation即可得到最终的Vπ。
3)一个例子(能计算对表格中的数字,表示明白了基本原理):
比如上面的-1.7的计算如下:0.25*[(-1)+(-1)]*3+0.25*[(-1)+0]=-1.75。
比如下面的-2.4的计算如下:0.25*[(-1)+(-2)]*2+0.25*[(-1)+0]+0.25*[(-1)+(-1.7)]=-2.425。
Policy Iteration
1)要解决的问题:
也就是说,没有给出特定的policy π,只给出MDP,希望找到针对该MDP的最优policy π*;同时给出π*在每个状态的最优值Vπ*。
从上面的描述可以看出,Policy Evaluation是policy iteration的一个子问题。
2)解决方案:
先任意给出一个最简单的policy(比如上面的random policy),然后对该policy进行evaluation(这个步骤需要循环很多轮),再进行policy improvement(比如上面的第二列,greedy policy)。
然后迭代上面的过程,即iterate policy evaluation / policy improvement。
(policy evaluation需要很多轮才能稳定,如果仅仅进行policy evaluation,则一定要等Vπ稳定;但在这里,可能只需要进行几步,比如上面的第二列,evaluation循环到K=3之后做policy improvement,就可以得到最优policy π*。但在实际中往往不知道evaluation应该循环几轮,这样可以先循环5轮或者10轮的evaluation,然后再进行policy improvement,之后对改进后的policy再进行5轮或者10轮的evaluation,然后再进行policy improvement!)
3)例子:
上面的第二列。
Value Iteration
1)要解决的问题:
和policy iteration一样,只给出MDP,希望找到针对该MDP的最优policy π*;同时给出π*在每个状态的最优值Vπ*。
2)解决方案:
可以按照policy iteration的方法,但在policy evaluation阶段仅仅循环一轮,之后马上进行policy improvement【这个方案就是value iteration】。
利用optimal policy具有的偏序关系:
这样,只要我们知道the solution to sub-problems v∗(s') ,v∗(s) 的解就可以通过进行one-step look-ahead来获得:
The idea of value iteration is to apply these updates iteratively:
3)好处:
更直观:Intuition: start with final rewards and work backwards
Still works with loopy, stochastic MDPs
Unlike policy iteration, there is no explicit policy (Intermediate value functions may not correspond to any policy )
4)坏处:由于 start with final rewards and work backwards,并且每次只能look-ahead one step,所以直观上,循环轮数会非常大才能收敛到最优策略!
4)例子:
最后给出synchronous Dynamic Programming Algorithms 的总结:
Extensions to Dynamic Programming
1)Asynchronous Dynamic Programming
In-place dynamic programming
Prioritised sweeping
Real-time dynamic programming
2)sample backups
DP uses full-width backups, DP is effective for medium-sized problems(millions of states)
Every successor state and action is considered
Using knowledge of the MDP transitions and reward function
Using sample rewards and sample transitions <S, A, R, S'>:
Advantages:
Model-free: no advance knowledge of MDP required
Breaks the curse of dimensionality through sampling
Cost of backup is constant, independent of n= |S|
3)Approximate Dynamic Programming
注意,上面所有方法的收敛性都已经有了证明,这里不给出。
How do we know that value iteration converges to v∗?
Or that iterative policy evaluation converges to vπ?
And therefore that policy iteration converges to v∗?
Is the solution unique?
How fast do these algorithms converge?
These questions are resolved by contraction mapping theorem
- reinforcement learning,增强学习:Policy Evaluation,Policy Iteration,Value Iteration,Dynamic Programming f
- 增强学习Reinforcement Learning经典算法梳理1:policy and value iteration
- CS234 value iteration/policy iteration
- reinforcement learning,增强学习:Policy Gradient
- 机器学习之Policy Iteration算法解析
- reinforcement learning & value iteration discussion方面的奠基性文章
- reinforcement learning,增强学习:Value Function Approximation
- Policy Gradient Methods in Reinforcement Learning
- 增强学习 (reinforcement learning)
- 增强学习(Reinforcement Learning)
- Policy Gradient Methods for Reinforcement Learning with Function Approximation
- 《reinforcement learning:an introduction》第十三章《Policy Gradient Methods》总结
- 增强学习(Reinforcement Learning)
- 增强学习 reinforcement learning,MDP
- 增强学习(Reinforcement Learning)
- 增强学习(Reinforcement Learning)
- 增强学习中的on-policy和off-policy的区别
- 增强学习中的on-policy和off-policy的区别
- iOS10推送项目配置
- 监控线上服务器运行情况脚本
- unsigned类型需要注意的事项
- C++“准”标准库Boost学习指南(9):Boost.Bind
- combobox下拉框级联并且每一个框默认选择第一个值使用onLoadSuccess——easyUI
- reinforcement learning,增强学习:Policy Evaluation,Policy Iteration,Value Iteration,Dynamic Programming f
- 搭建Struts2开发环境
- “九头虫”病毒技术分析报告
- PowerDesigner v16.5
- java中String、StringBuffer、StringBuilder的区别
- 未解决的问题记录——关于easyui中datagrid的冻结列右侧冻结
- Provisional headers are shown
- 设置banner图片居中且有背景
- php解决ajax无法跨域的问题