统计学习方法(二):感知机学习方法的对偶形式
介绍
李航博士的书上写得其实有些绕,看了知乎上的讲解才懂,本文用以记录自己的理解过程.
策略
我们知道,在感知机的原始形式中,\(w\)和\(b\)通过以下形式更新:
\[w \leftarrow w+\eta y_{i} x_{i}
\]
\[b \leftarrow b + \eta y_i
\]
假设点\((x_i, y_i)\)在学习过程中被使用了\(n_i\)次(也即被分类错误了\(i\)次),那么最后学习到的\(w, b\)可以表示为:
\[w = \sum_{i = 1}^{N} n_i \eta y_i x_i
\]
\[b = \sum_{i = 1}^{N} n_i \eta y_i
\]
显然,当\(n_i\)越大,表示这个点被分类错误的次数越多,说明这个点位于超平面附近.
把上述两式带入到原始形式:$f(x)=sign(w \cdot x + b) $ 中,得到:
\[f(x)=sign(\sum_{i = 1}^{N} n_i \eta y_i x_i \cdot x + \sum_{i = 1}^{N} n_i \eta y_i)
\]
现在所要学习的参数就不再是\(w\)和\(b\)了,而是\(n_i\).
算法
相应的,算法部分被改写为:
(1)$$令\forall n_i = 0; $$
(2)$$在训练集中选取数据(x_i, y_i); $$
(3)$$ 如果 y_i \left (\sum_{j=1}^{N} n_j \eta y_j x_j \cdot x_i + \sum_{j=1}^{N} n_j \eta y_i \right) \leqslant 0: $$
\[n_i \leftarrow n_i + 1;
\]
(4)$$转至(2)直到没有误分类的数据点.$$
总结
观察算法中的不等式的左半部分,$x_j \cdot x_i $即训练集中的所有数据点的特征向量与当前选中数据点的特征向量内积,在训练时可以预先算出,存储于Gram矩阵,加快运算速度,这就是感知机对偶形式的意义所在。