一个比较好的学习资源:
http://www.aibbt.com/a/21005.html
看完了优达学城的机器学习基础的课程,发现没有讲解具体怎么实现学习曲线和复杂度曲线的,这里还是需要自己去网上查一下。
http://www.aibbt.com/a/21443.html
原来C参数是这样来的!松弛变量。
虽然我们不想深挖SVM背后的数学概念,但还是有必要简短介绍一下松弛变量(slack variable)

松弛变量值为正,添加到线性限制条件即可:

新的目标函数变成了:

使用变量C,我们可以控制错分类的惩罚量。和逻辑斯蒂回归不同,这里C越大,对于错分类的惩罚越大。可以通过C控制间隔的宽度,在bias-variance之间找到某种平衡:

哇,这个资源太好了!很具体哦
注意看右上角子图到右下角子图的转变,高维空间中的线性决策界实际上是低维空间的非线性决策界,这个非线性决策界是线性分类器找不到的,而核方法找到了:

使用核技巧在高维空间找到可分超平面
使用SVM解决非线性问题,我们通过映射函数

上面的想法很不错,但是如何构建新特征是非常困难的,尤其是数据本身就是高维数据时。因此,我们就要介绍核技巧了。由于我们不会过多涉及在训练SVM时如何求解二次规划问题,你只需要知道用



常用的一个核函数是Radial Basis Function kernel(RBF核),也称为高斯核:

通常简写为:

此处,

通俗地讲,核(kernel)可以被解释为两个样本之间的相似形函数。高斯核中e的指数范围<=0,因此高斯核值域范围

有了核函数的概念,我们就动手训练一个核SVM,看看是否能够对线性不可分数据集正确分类:

结果如下,可以发现核SVM在XOR数据集上表现相当不错:

其中参数gamma可以被理解为高斯球面的阶段参数,如果我们增大gamma值,会产生更加柔软的决策界。为了更好地理解gamma参数,我们在Iris数据集上应用RBF核SVM:

我们选择的gamma值相对比较小,所以决策界比较soft:

现在我们增大gamma值,然后观察决策界:


虽然gamma值较大的模型对训练集分类效果很大,但其泛化能力一般很差,所以选择适当的gamma值有助于避免过拟合。
来源:https://www.cnblogs.com/JasonPeng1/p/12110133.html