强化学习教程: 05-Model-Free Control, Sarsa, Sarsa(λ)和Q-learning
欢迎转载,作者:Ling,注明出处:强化学习教程: 05-Model-Free Control, Sarsa, Sarsa(λ)和Q-learning
本章主要介绍:
- MC control
- Sarsa
- Sarsa(λ)
- Q-learning
策略迭代:
1)策略评估:根据策略和模型,更新V
2)策略提升:贪心法选择策略,更新策略
对上图进行改进
1)策略评估:没有模型,根据MC策略评估,更新V
2)策略提升:贪心法选择策略,更新策略
存在的问题
1)虽然策略评估部分没有用到模型的信息,P和R,但是策略提升的时候需要用到:
解决方案: 用q替代v
2)贪婪策略问题,由于模型不可知,我们通过抽样得到的结论不能保证策略优劣,所以需要加入探索,也就是一定概率不采用最优策略,这样可以保证万一抽样不全面导致估算错误,我们还有机会尝试别的策略
解决方案:epsilon-greedy
epsilon-greedy 算法很简单,epsilon是0-1之间的数,有epsilon的概率我们选择随机探索,1-epsilon的概率我们采取贪婪策略。
改进后
蒙特卡洛策略迭代:
存在问题:
q值太多,我们一般不需要每次评估所有q
改进后:
GLIE 蒙特卡洛策略迭代
当蒙特卡洛策略迭代满足GLIE性质的时候,我们称它是GLIE 蒙特卡洛策略迭代。
- GLIE 蒙特卡洛策略迭代可以收敛到最优的Q和π
GLIE性质
- 每个状态被访问无数次
- 策略向贪婪收敛,也就是最后变成一个固定的策略
改进:ε改成和经验片段k,负相关,这样随着时间的进行,epsilon趋向于0, epsilon-greedy也就趋向于greedy
GLIE 蒙特卡洛策略迭代:
对比之前第四章,只是v换成了q,n是基于s和a,同时因为不仅要评估,还要control,所以对策略也需要更新
Sarsa:
定义:
MC策略评估换成TD评估,这样的策略迭代就是Sarsa,其他和MC策略迭代一样
名称由来:看图
算法:
因为是TD,所以是每步更新
Sarsa的收敛性:
Sarsa收敛到最优Q是有两个条件的,但是实际中,我们并不考虑,他总能收敛到接近最优
Sarsa(λ):
定义:
将策略评估换成TD(λ)即可,请对比第四章
n-step
Forward view:
Eligibility traces:
Backward view:
算法:
Q-learning
和Sarsa比,就是将策略迭代换成了Value迭代
q更新方式为:所以也叫SarsaMAX
图示:
注意:
Qlearning是可以收敛到最优Q的,不像Sarsa需要一定条件
算法:
总结:
1)
2)
留言