线性近似
最常使用的函数近似就是线性近似和人工神经网络。本节介绍线性近似。线性近似是用许多特征向量的线性组合来近似价值函数。特征向量则依赖于输入(即状态或状态动作对)。以动作价值近似为例,我们可以为每个状态动作对定义多个不同的特征 x ( s , a ) = ( x j ( s , a ) : j ∈ J ) x(s,a)=(x_j(s,a):j∈\mathcal{J} ) x(s,a)=(xj(s,a):j∈J),进而定义近似函数为这些特征的线性组合,即
对于状态函数也有类似的近似方法:
精确查找表与线性近似的关系
对于动作价值而言,可以认为有 ∣ S ∣ × ∣ A ∣ |S|×|A| ∣S∣×∣A∣个特征向量,每个向量的形式为
即在某个的状态动作对处为1,其他都为0。这样,所有向量的线性组合就是整个动作价值函数,线性组合系数的值就是动作价值函数的值。
线性最小二乘策略评估
在使用线性近似的情况下,不仅可以使用基于随机梯度下降的策略评估方法,还可以使用线性最小二乘来进行策略评估。线性最小二乘是一种批处理(batch)方法,它每次针对多个经验样本,试图找到在整个样本集上最优的估计。
将线性最小二乘用于回合更新,可以得到线性最小二乘回合更新(Linear Least Square Monte Carlo,Linear LSMC)。线性最小二乘回合更新试图最小化
在线性近似的情形下,其梯度为
将待求的权重 w L S M C w_{LSMC} wLSMC代入上式并令其等于零,则有
求解该线性方程组得:
这样就得到了线性最小二乘回合更新的计算式。在实际使用时,直接使用上式更新权重,就实现了线性最小二乘回合更新。
将线性最小二乘用于时序差分,可以得到线性最小二乘时序差分更新(Linear Least Square Temporal Difference,Linear LSTD)。对于单步时序差分的情况,线性最小二乘时序差分试图最小化
其中 U t = R t + 1 + γ q ( S t + 1 , A t + 1 ;