大纲
上节课我们主要介绍了SVM的对偶形式,即dual SVM。Dual SVM也是一个二次规划问题,可以用QP来进行求解。之所以要推导SVM的对偶形式是因为:首先,它展示了SVM的几何意义;然后,从计算上,求解过程“好像”与所在维度
Kernel Trick
1 Dual SVM Revisited
我们在计算
1.进行特征转换计算
ϕ(xn) ,ϕ(xm) 2然后计算
ϕ(xn) 与ϕ(xm) 的内积
这种先转换再计算内积的方式,必然会引入
2 Fast Inner Product for Φ2
让我们来看一个二阶多项式转换的例子
我们可以发现,我们可以通过一定形式的转换,把计算复杂度从
3 Kernel: Transform + Inner Product
我们把合并特征转换和计算内积这两个步骤的操作叫做Kernel Function,用大写字母K表示。比如上面这个二阶多项式的例子
有了Kernel Function之后,我们看它是如何在SVM中发挥作用的
qn,m=ynymzTnzm=ynymK(xn,xm) ,我们可以通过计算K(xn,xm) ,降低复杂度。b=ys−wTzs=ys−(∑Nn=1αnynzn)Tzs=ys−∑Nn=1αnyn(K(xn,xs)) ,这样b的计算复杂度就与d̂ 无关了gsvm=sign(wTϕ(x)+b)=sign(∑Nn=1αnyn(K(xn,x))+b) ,这样我们的所求的函数就与d̂ 无关了
核技巧就是利用kernel function来避免计算过程中受d̂ 的影响,从而提高运算速度。
4 Kernel SVM with QP
通过引入Kernel function,我们可以把SVM算法改造成以下形式,并进行时间复杂度分析
Kernel SVM通过SV来得到最佳分类面,并且通过Kernel function来避免计算过程中受到
Polynomial Kernel
1 General Poly-2 Kernel
比较一下,第一种
2 Poly-2 Kernels in Action
不同的核对应不同的SVs和maigin.从而最佳分离超平面也不同
3 General Polynomial Kernel
更为一般的,我们可以导出Q次多项式的核函数
使用高阶的多项式
可以尽可能的将数据点分开,因为有最大margin的保证,减少过拟合的风险
因为使用了核技巧,所以可以大大减少计算量
4 Special Case: Linear Kernel
实践中,我们可以先尝试liner kernel.然后慢慢的增加复杂度
Gaussian Kernel
1 Kernel of Infinite Dimensional Transform
接下来我们可以考虑一种将特征映射到无限维,而不会带来多余的计算量的核函数
根据上面的公式推导,我们可以看到,通过高斯核函数,我们确实把特征映射到了无限维
2 Hypothesis of Gaussian SVM
通过上式可以看出,
3 Gaussian SVM in Action
从图中可以看出,当
Comparison of Kernels
1 Linear Kernel
Linear Kernel的优点是计算简单、快速,可以直接使用QP快速得到参数值,而且从视觉上分类效果非常直观,便于理解;缺点是如果数据不是线性可分的情况,Linear Kernel就不能使用了。
2 Polynomial Kernel
olynomial Kernel的优点是阶数Q可以灵活设置,相比linear kernel限制更少,更贴近实际样本分布;缺点是当Q很大时,K的数值范围波动很大,而且参数个数较多,难以选择合适的值。
3 Gaussian Kernel
Gaussian Kernel的优点是边界更加复杂多样,能最准确地区分数据样本,数值计算K值波动较小,而且只有一个参数,容易选择;缺点是由于特征转换到无限维度中,w没有求解出来,计算速度要低于linear kernel,而且可能会发生过拟合。