在基础篇里我们已经介绍了,当我们得到一个最优值函数的时候,直接在每个状态下取使 q(s,a) q ( s , a ) 值最大的action就能得到一个最优的策略,于是一个求解最优策略的问题可以完完全全等效于一个寻找最优值函数的问题。
本节就来探究寻找最优值函数的方法,它的基本思想是不直接采取行动,而是评价一个行为的好坏进而改善策略
一、基于蒙特卡洛方法的理论
回忆状态-行为值函数:
qπ(s,a)=Eπ[∑k=0∞γkRt+k+1|St=s,At=a](32) (32) q π ( s , a ) = E π [ ∑ k = 0 ∞ γ k R t + k + 1 | S t = s , A t = a ]
以及
v(s)=E[Rt+1+γv(St+1)|St=s](33) (33) v ( s ) = E [ R t + 1 + γ v ( S t + 1 ) | S t = s ]
注意到两者都是数学期望,于是在无模型的时候我们可以利用蒙特卡洛这种非常自然的想法估计状态值函数和状态行为值函数。具体来说就是,我们固定住策略 π π ,我们利用这个固定的 π π 与环境交互,从而得到一系列的回报,拿这些回报的均值作为期望的估计。
注意到一个有趣的事实,当我们估计到一个“好”的 q q 函数时,我们可以利用这个Q function来改善当前的策略,具体来说,我们可以构造一个新的策略 ,容易证明这个策略要比之前的策略效果好,由此我们可以得到不断改进策略的一般方法:
拿当前策略去与环境交互,交互得到的信息用来估计q值,在利用估计的q值去更新策略,以此循环,我们将得到一个不断改善的策略序列。
蒙特卡洛方法根据探索策略和评估策略是否为同一个策略可以分为on-policy和off-policy
on-policy
同策略是指与环境交互的策略和评估的策略是同一个策略。比如,要产生数据的策略和需要评价的策略都是 ϵ ϵ -贪心策略
off-policy
异策略是指与环境交互的策略和评估的策略不是同一个策略
在基于策略的强化学习算法里也会有同样的on&off policy 算法
重要性采样
下面再来看一下基于重要性采样的蒙特卡洛算法的理论:
假设某个随机变量X的概率分布为 p(x) p ( x )
那么有: