拉格朗日对偶性(Lagrange Duality)
在有约束的最优化问题中,为了便于求解、我们常常会利用它来将比较原始问题转化为更好解决的对偶问题。
对于特定的问题,原始算法的对偶形式也常常会有一些共性存在。比如对于感知机和后文会介绍的支持向量机来说,它们的对偶算法都会将模型的参数表示为样本点的某种线性组合、并把问题转化为求解线性组合中的各个系数
虽说感知机算法的原始形式已经非常简单,但是通过将它转化为对偶形式、我们可以比较清晰地感受到转化的过程,这有助于理解和记忆后文介绍的、较为复杂的支持向量机的对偶形式
考虑到原始算法的核心步骤为:
其中、是当前被误分类的样本点的集合;可以看见、参数的更新是完全基于样本点的。
考虑到我们要将参数表示为样本点的线性组合,一个自然的想法就是记录下在核心步骤中、各个样本点分别被利用了多少次、然后利用这个次数来将表示出来。
比如说,若设样本点共在上述核心步骤中被利用了次、那么就有(假设初始化参数时:
如果进一步设,则有:
此即感知机模型的对偶形式。
需要指出的是,在对偶形式中、样本点里面的仅以内积的形式出现;这是一个非常重要且深刻的性质,利用它和后文将进行介绍核技巧、能够将许多算法从线性算法“升级”成为非线性算法
注意到对偶形式的训练过程常常会重复用到大量的、样本点之间的内积,我们通常会提前将样本点两两之间的内积计算出来并存储在一个矩阵中;这个矩阵就是著名的 Gram 矩阵、其数学定义即为:
从而在训练过程中如果要用到相应的内积、只需从 Gram 矩阵中提取即可,这样在大多数情况下都能大大提高效率。