当我们在已知参数的情况下,如何用带有核函数的支持向量机(SVM)去训练假设函数呢?
首先我们将样本做为标记:
对于每一个 x,都要计算出它的特征 f,f 为一个向量:
如果下式成立,就可以预测 y 等于 1,也就是为正样本:
但是如何选取参数呢?我们最小化下面这个函数的时候,就可以得到参数向量:
现在还有两个系数没有选择,C 和 σ^2 。C 相当于 1/λ,之前我们学过,λ 的变化会影响高偏差或高方差。因此按照 1/λ 对高偏差或高方差的影响表现选取即可。
现在我们用数据实际观察一下 C 对 SVM 的影响。当 C 很小时,对于下列数据的决策边界如下:
如果将 C 换成 100,我们再来看此时的决策边界:
现在你对 C 是不是有一个直观的认识了呢?
σ^2 很大时,图像为:
特征 f 变化平滑,因此表现为高偏差,低方差。σ^2 很小时,图像为:
特征 f 变化激烈,因此表现为高方差,低偏差。
这样,一个完整的利用核函数的支持向量机算法就算是完成了。
如何选择使用逻辑回归或者SVM
如果特征的数量远大于样本数,就要用逻辑回归或者线性核函数(不带核函数的SVM)。
如果特征的数量比较小,而样本的数目正好合适,就用高斯核函数。
如果特征的数量比较小,而样本的数目非常大,就要用逻辑回归或者线性核函数(不带核函数的SVM)。
ps. 本篇文章是根据吴恩达机器学习课程整理的学习笔记。如果想要一起学习机器学习,可以关注微信公众号「SuperFeng」,期待与你的相遇。