:::info
前面假设价值函数可以表示为一个表格,但只对小的、离散的问题有用。对于较大状态空间的问题则需要进行近似动态规划。一种近似解的方法是价值函数近似。
本节将讨论价值函数近似的不同方法,以及如何结合动态规划来得出近似最优的策略。
- 局部近似技术基于已知值的附近状态的值来近似值函数,包括最近邻、核平滑、线性插值和单纯形插值。
- 全局近似技术包括线性回归和神经网络回归。
:::
1. 参数表示 Parametric Representations
用来表示价值函数的参数表示Parametric Representations,其中
是参数的向量,后面会介绍许多表示
的方法。
可以根据价值函数近似来提取动作:,在连续状态空间中,求和被积分代替,积分可以用转移模型样本代替。
另一种计算方法是近似动作价值函数来提取动作:
?
参数表示分为两类:
- 局部近似方法:其中
对应于
中状态的值。为了计算任意状态
的
,取
中存储存储的值的加权和。
- 全局近似方法:其中
与
中状态的值不直接对应。
局部近似和许多全局近似都可以看作是线性函数近似,但在如何定义向量函数
方面有所不同。
决定了如何对
中状态的效用进行加权,以估计状态
的效用。在许多全局近似方法中,
被视为一组基函数,通过线性组合以获得任意
的近似。
也可以使用线性函数来近似动作价值函数,参数向量
由
个分量组成,每个分量对应一个状态-动作价值,
向量用于指定这些状态-动作价值如何加权,以获得效用估计。
2. 近邻 Nearest Neighbor
近邻 Nearest Neighbor:一种简单的局部近似方法,使用状态的最近邻居
的状态值。
表示两种状态
和
之间的距离。
近似价值函数是,其中
k近邻 k-Nearest Neighbor:k个近邻的平均值。不同的k值可以导致更好的近似。
3. 核平滑 Kernel Smoothing
核平滑 Kernel Smoothing:另一种局部近似的方法。其中中的状态的效用在整个状态空间内被平滑。
核函数kernel function:将状态
和
联系起来。
核平滑方法将中状态相关的效用加权在一起,得到线性近似:
,其中
定义核函数的方法有很多:
- 简单地定义为状态间距离的倒数:
,其中
是一个很小的正常数,以避免除以零。
- 另一种常见的是高斯核:
,其中
控制的是平滑度。
4. 线性插值 Linear Interpolation
线性插值 Linear Interpolation:是另一种常见的局部近似方法。
- 一维的情况下,状态
在状态
和
之间的近似值为:
,其中
- 在二维情况下,称为双线性插值bilinear interpolation,在四个顶点之间进行插值,通过单线性插值完成。假设四个顶点坐标
、
、
、
,则插值为:
- 在d维中,称为多线性插值Multilinear interpolation,也是通过每个轴的线性插值来实现的。
5. 单纯形插值 simplex interpolation
单纯性插值simplex interpolation:多线性插值在高维的情况下是无效的,而单纯形插值只考虑给定状态领域内的个点,以生成与已知样本点匹配的连续曲面。
?6. 线性回归 Linear Regression
线性回归 Linear Regression:一种简单的全局近似方法,其中,是基函数(basis functions)的线性组合,也被称为特征features。
基函数 basis functions:是状态的非线性函数,并组合成向量函数
或
。基函数的选择需要适当。
于是全局近似为:,该式子对于基函数是线性的,但对于底层的状态变量可能是非线性的。
拟合线性模型需要确定向量,使得在
状态下预测的平方误差最小,用
表示与这些状态相关的效用,则需要找到
使得最小化:
于是,使平方误差最小的,其中
是矩阵
的Moore-Penrose pseudoinverse,即
7. 神经网络回归 Neural Network Regression
神经网络回归 Neural Network Regression:不必按照线性回归的要求构造一组适当的基函数,而是使用神经网络来表示价值函数。
神经网络neural network:输入是状态变量,输出是效用估计。
参数为神经网络中的权值。通过优化权值,可以实现特定的目标。
通常使用梯度下降来调整价值函数的参数近似。