与 逻辑回归和神经网络相比,SVM在学习复杂的非线性方程时提供了一种更为清晰,更加强大的方式。
12.1 Optimization objective
如同之前介绍算法的步骤我们先讲优化目标,从逻辑回归讲起。
左图:
如果y=1,这时我们需要设置,即;(之前是设置一个阈值如时即就可以)
如果y=0,这时我们需要设置,即.
右图:
我们画出线段来近似原本逻辑回归的cost function,分为y=1/0两种情况。
SVM的构造,将之前最小化目标函数中的cost替代成新的,这里由于习惯我们将1/m去掉,并且将λ提前。
12.2 Large Margin Intuition
逻辑回归中我们的就可以进行分类,但SVM的要求更高,才行。这相当于有一个分离的间距,适用于距离较大的分类。
在C特别大的情况下,我们要尽力使得第一项为0,即要满足以下条件,这时原问题转化为蓝色字体的优化问题。
正如图所示,SVM在分离样本时尽量与样本保持最大间距,这也使得SVM有较好的鲁棒性,而不是像红线和绿线一样离样本很近。SVM也被称作大间距分类器。这其实就是求解上一个优化问题的结果,下一节将解释求解优化问题是如何得到这个图的。
严格地说 只有C非常大时才能得到SVM,但在上图把黑线变成红线分类显然不太明智,只是取C不是非常大最终得到这条黑线是比较好的。这就是正则化参数设置的问题,同λ一样。
12.3 Mathematics Behind Large Margin Classification
原优化问题转换成新的投影优化问题,我们计算,右图左边分类下明显θ值要很大,而右边θ值可以小,这就是为什么SVM得到右边分类的原因。
12.4 Kernels I
高斯核函数
我们要完成上面的非线性分类,我们的模型可能是的形式。
我们引入一个新的记号,f来表示新的特征得到
其中,f表示x与给定标记l的近似程度。(给定标记?如何给定?下节)
对于给定蓝点,离l1较进离l2 l3较远,所以f1=1,f2=f3=0,依此我们可以画出红色边界,界内预测y=1,界外预测y=0.
12.5 Kernels II
一般取原样本为标记,含核函数的SVM的代价函数可以写成右图。训练时可以发现最后一项改为效果比较好。
SVM参数的影响:
12.6 Using An SVM
SVM有成熟的软件库可以使用,当我们使用SVM时需要确定参数C和核函数,参数C产生的影响上节已进行讨论。不使用核函数时我们称其为线性SVM。在非线性分类时有各种对应的核函数。如下:
Logistic regression和SVM的选择:
当特征数目相对于样本数很大时,我们使用逻辑回归或者线性SVM;