我们之前已经注意到自动相关性检测的过程使得参数的一个子集趋于零。我们现在更加详细地考察相关向量机的稀疏性的原理。在这个过程中,我们会得到一个与之前的直接方法相比更快的最优化超参数的方法。
关于贝叶斯线性模型的稀疏性的来源,在进行数学的分析之前,我们首先给出一些非形式化的观点。考虑一个数据集,这个数据集由个观测和组成。我们有一个基函数为,超参数为的模型,以及一个精度为的各向同性的噪声。根据式(7.85),边缘似然函数为,其中协方差矩阵的形式为
其中表示维向量,类似地。注意,这是上的一个零均值的高斯过程模型,协方差为。给定的一个特定的观测,我们的目标是通过最大化边缘似然函数的方法找到。从图7.10中,我们看到,如果的方向与训练数据向量之间没有很好的对齐的话,那么对应的超参数会趋于,基向量会被从模型中剪枝掉。
图 7.10 贝叶斯线性回归模型的稀疏性的原理说明。图中给出了目标值的一组训练向量,形式为,用叉号表示,模型有一个基向量,它与目标数据向量的对齐效果很差。左图中,我们看到一个只有各向同性的噪声的模型,因此,对应于,被设置为概率最高的值。右图中,我们看到了同样的模型,但是的值变成了有限值。在两种情况下,红色椭圆都对应于单位马氏距离,对于两幅图的取值相同,而绿色虚线圆表示由项产生的噪声的贡献。我们看到的任意有限值减小了观测数据的概率,因此对于概率最高的解,基向量被移除。
这种现象出现的原因是的任意有限值总会给数据一个较低的概率,因此就减小了的值,假设被设置为最优值。 我们看到的任意有限值会使得分布在远离数据的方向被拉长,从而增加了远离观测数据的区域的概率质量,因此就减小了目标数据向量本身的概率密度的值。对于更一般的个基向量的情形,也有类似的直观含义,即如果垂直的基向量与数据向量没有很好地对齐,那么它很可能被从模型中剪枝掉。
我们现在从一个更加数学的角度,对于涉及到个基函数的一般情形,考察稀疏性的原理。为了进行这个分析,我们首先注意到,在式(7.87)给出的参数的重新估计的结果中,右侧的项本身也是的函数。于是这些结果表示隐式解,需要用迭代的方式求出,即使对于所有的的都固定时,确定单一的也需要迭代。
这给出了解决RVM的最优化问题的一个不同的方法,其中我们显式地写出边缘似然函数(7.85)中所有对特定的的依赖关系,然后显式地确定驻点(Faul and Tipping, 2002; Tipping and Faul, 2003)。为了完成这一点,我们首先写出由式(7.86)定义的矩阵中来自的贡献,即:
其中表示矩阵的第列,即维向量,元素为。这与不同,它表示的是的第行。矩阵表示将基函数i的贡献删除之后的矩阵C。使用矩阵恒等式(C.7)和 (C.15),矩阵C 的行列式和逆矩阵可以写成
使用这些结果,我们可以将对数边缘似然函数(7.85)写成下面的形式。
其中是省略了基函数的对数边缘似然函数,被定义为
包含了所有依赖于的项。这里我们引入了两个量
这里被称为稀疏度(sparsity),被称为的质量(quality),并且正如我们将要看到的那样,的值相对于的值较大意味着基函数更可能被模型剪枝掉。“稀疏度”度量了基函数与模型中其他基函数重叠的程度,“质量”度量了基向量与误差向量之间的对齐程度,其中误差向量是训练值与会导致从模型中被删除掉的预测向量之间的差值(Tipping and Faul, 2003)。
在边缘似然函数关于的驻点处,导数
等于0。有两种可能形式的解。回忆一下,我们看到如果,那么提供了一个解。相反,如果,我们可以解出,得
图7.11给出了这两个解。
图 7.11 对数边缘似然与的图像。左图中,单一的最大值出现在有限的处,此时且(从而)。右图中,最大值位于的位置,此时且(从而)。
我们看到质量项和稀疏度项的相对大小确定了一个特定的基向量是否会被模型剪枝掉。一个更加复杂的分析(Faul and Tipping, 2002)基于边缘似然函数的二阶导数,确保了这些解确实是的唯一最大值。
注意,在给定其他超参数的值的情况下,这种方法产生了的一个解析解。结合对于RVM中稀疏性来源的分析,上述分析也产生了一个高速最优化超参数的实用算法。这种算法使用固定的候选基向量集合,然后在集合上循环,确定每个向量是否应该被包含在模型中。最终的顺序稀疏贝叶斯学习算法描述如下。
- 如果求解回归问题,初始化。
- 使用一个基函数进行初始化,用式(7.101)确定超参数,其余的的超参数被初始化为无穷大,从而只有被包含在模型中。
- 对于所有基函数,计算,以及和。
- 选择一个候选的基函数。
- 如果且,从而基向量已经被包含在了模型中,那么使用式(7.101)更新 。
- 如果且,那么将添加到模型中,使用式(7.101)计算。
- 如果且,那么从模型中删除基函数,令。
- 如果求解回归问题,更新。
- 如果收敛,则算法终止,否则回到第3步。
注意,如果且,那么基函数已经从模型中被去除掉了,不需要采取动作。
在实际应用中,比较方便的做法是计算
这两个个量。这样,质量和稀疏性变量可以表示为
注意,当时,我们有以及。使用式(C.7),我们有
其中只涉及到对应于有限的超参数的基向量。在每个阶段,需要的计算量为,其中是模型中激活的基向量的数量,通常比训练模式的数量要小得多。