异策略与重要性采样
因为异策略中的行动策略和目标策略不一样,也就是说行动策略产生的数据分布与目标策略的数据分布存在偏差,即即行动策略的轨迹概率分布和改善策略的轨迹概率分布不一样,因此在使用数据进行目标策略评估的时候需要考虑该影响,常用的方法是重要性采样。(重要性采样的原理见文末图片)
重要性采样评估目标策略的值函数
在目标策略下,一次实验的概率为:
Pr(St,At,St+1,...ST)=∏T−1k=tπ(Ak|Sk)p(Sk+1|St,At)
在行动策略下,该实验出现的概率为:
Pr(St,At,St+1,...ST)=∏T−1k=tμ(Ak|Sk)p(Sk+1|St,At)
因为很难获得明确的目标策略π的概率分布,因此使用一个替代分布进行估计,对应为行动策略分布μ。因此重要性权重为:
ρTt=∏T−1k=tπ(Ak|Sk)p(Sk+1|St,At)∏T−1k=tμ(Ak|Sk)p(Sk+1|St,At)=∏T−1k=tπ(Ak|Sk)μ(Ak|Sk)
普通重要性采样的值函数估计为:
V(s)=∑t∈T(s)ρT(t)tGt|T(s)|
将上式编程递推的方式:
令wn=ρT(n)n,|T(s)|=n,那么值函数为
V(n)=∑n−1k=1wnGnn
递推公式很容易获得为:
V(n+1)=V(n)+wnGn−V(n)n
加权重要性采样的值函数为:
V(s)=∑t∈T(s)ρT(t)tGt∑t∈T(s)ρT(t)t
令wn=ρT(n)n,cn=∑t∈T(s)ρT(t)t=cn−1+wn,那么值函数为
V(n)=∑n−1k=1wnGncn
递推公式很容易获得为:
V(n+1)=V(n)+wncn(Gn−V(n))
代码实现【强化学习笔记】4.4 无模型的强化学习方法-蒙特卡罗算法与重要性采样代码实现
重要性采样(转载https://blog.****.net/minenki/article/details/8917520)







参考书籍:
- 深入浅出强化学习原理入门