[强化学习-4] 蒙特卡洛和时序差分法-控制

版权声明:本文为博主原创文章,如若转载,请注明出处! https://blog.csdn.net/u013010889/article/details/82251674

前奏

上一篇博客利用model free的蒙特卡洛和时序差分法对状态值函数进行估计,但是当我们在状态值函数的基础上做策略提升时,还是需要环境的,那我们还不如干脆在Q(s, a)的基础上直接控制策略。

  • v(s)为基础,只有知道了给定动作后,各个状态的转移概率,才能知道哪个动作好
  • q(s, a)为基础,直接就贪心了
    这里写图片描述

贪心时采用的是ε-greedy,即以1-ε的概率选取是Q(s, a)最大的动作,以ε的概率选择随机的动作进行探索

蒙特卡洛法

和之前用蒙特卡洛法估计状态值函数一样,这里采样很多episode后得到Q(s, a),然后用ε-greedy进行策略提升
这里写图片描述

时序差分法

Sarsa: On-policy TD Control

方法名字的由来
这里写图片描述
这里写图片描述

Q-learning: Off-policy TD Control

这里写图片描述

On-policy和Off-policy的区别

on-policy 与 off-policy的本质区别在于:更新Q值时所使用的方法是沿用既定的策略(on-policy)还是使用新策略(off-policy)
而Sarsa和Q-learning就类似于讲DP时的策略迭代和值迭代,Sarsa在更新Q值时策略一直不变就像策略迭代更新V值时策略一直不变,只有V值稳定后才进行策略提升改变策略;Q-learning在更新Q值时就进行了贪心改变了既定的策略就像值迭代时直接选取使其估值最大的动作来更新它的估值。
Sarsa只是on-policy的一种,Q-learning也只是off-policy的一种
这里写图片描述


-强化学习中on-policy 与off-policy有什么区别?

猜你喜欢

转载自blog.csdn.net/u013010889/article/details/82251674
今日推荐