机器学习技法 笔记三 Kernel Support Vector Machine

本文探讨了Kernel SVM的概念,通过结合转换和内积来减少计算量。介绍了二次式Kernel函数以及如何通过调整参数γ改变其几何意义。还提到了高斯Kernel(RBF),并指出不同Kernel的优缺点,如线性Kernel的安全性和速度,多项式Kernel的灵活性,以及高斯Kernel的复杂边界构建能力。最后讨论了Kernel选择对过拟合的影响以及对噪声的敏感性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//想买mac pro,大陆价格贵得很,在找港台或者美帝的小伙伴代购。囧囧=。=以后不能玩烧显卡的游戏了,谁有mac的待机时间太吸引人了。

上一次我们学习了对偶形式,对偶形式的解决其实也是一个二次规划的问题,而且这个二次规划问题好像是和我们所在的空间没有关系。

但是实际上,是隐藏在了矩阵计算中。这就是我们的瓶颈所在。

在矩阵计算中,每一项都有zz‘相乘,因为z是x在z空间的转换,所以可以写成zz’=f(x)f(x'),因为有的符号这个页面编辑不太方面,相应换一下,能看懂就行=。=

按照我们正常的思路就是先做完转换再去做内积,显然这是一个很费力气的过程。我们现在考虑能不能把这两个步骤合起来,来减少我们的运算量

下面来看这样一个例子:

f2(x)=(1,x1,x2,...,xd,x1*x1.x1*x2,...,x1*xd,x2*x1,x2*x2,...,x2*xd,...xd*xd)其实就是一个二次式

那么按照普通的思路


这个计算过程还是比较容易理解吧=。=

我们观察这个式子,显然最后面那一堆可以看成是中间那一堆的平方嘛


显然我们最后可以只通过计算xx就能算出结论,不需要转换到Z空间。

我们就把上面这个转换和内积合在一起的计算机称为kernel function

那自然在我们刚才二次规划问题中,计算的时候,也可以采用这样的思想

q=yyzz=yyk(x,x),其中k代表了kernel function ,当然我这里的式子都是表达一下意思,并没有详细标明下标,要看最准确的还是看老师的原视频比较好,这里能够明白意思就好。

接着,上次讲了,我们应该如何求b,从支持向量里面选择一个

b=y-wz,这个时候,我们发现我们求b的时候又有z了,怎么办?

可是记得我们上次学得w是关于z的线性组合

所以可以代换,具体步骤见下图



上图还包括了,得到b以后,如何求出分类器的推导,很简单。



前面我们通过一个特殊的例子得到了一个二次的kernel,那是不是在二次的时候,我们只能用这儿kernel呢?

其实不是的,我们可以看下图



可以看到我们可以同调整这个γ来调整这个二次项前面的系数。

在调整后这个γ以后,其实都是映射到一个空间,同时配合一个w来算一个权值,但是不同的γ对应到的几何意义肯定不一样,那么对应的margin以及SVs肯定会发生变化

如图


其中方框框代表了SVs

当然不仅仅是2次项


显然这三个变量控制了这个kernel

当然按照我们的这场思维,太高次的kernel是不是会导致overfit呢,还好在我们的SVM里面,我们有一个larg-margin来帮助我们控制复杂度,所以可以看到利用SVM加上kernel不但可以有效的控制计算复杂度,还可以有效的控制复杂度。

那么我们现在有一个很疯狂的想法,无限多维的转换。

引入高斯kernel

看一下高斯kernel的步骤


中间用了一下泰勒展开,其他地方在数学上没有任何难度,大家应该都能看懂,泰勒展开忘了,可以去翻高数书=。=

想当年我高数也是考了98的,现在好多都忘了=。=,被吊打

那么带入我们刚才知道的利用kernel表示的g

得到


显然前面那个γ也是一个参数

其实仔细观察这个式子,我们可以发现,其实这个式子就是SVs的高斯函数组合,不是SVs的点,显然因为α是0,可以不考虑了

所以也被人称作Radial Basis Function(RBF)

当然这个γ的选择也是要注意的,虽然SVM有large-margin控制复杂度,但也只是控制,所以还是有可能出现overfit

如图


那我们上面提到这么多kernel,下边进行好坏对比

linear:安全,快,能看得比较明白,坏处自然是不能处理比较复杂的数据

polynomial:自然限制少,能够自己考虑这个Q,坏处对于Q很大的时候,数值计算会比较困难,参数选择比较困难,因为有3个参数需要选择、

gaussian :能做出复杂边界,宽松,gaussion数值困难小,参数选择较小,坏处是,不太好表达,不能很好表达,可能会出现overfit,最常用的

kernel不仅要对称还要半正定

我们现在都是要求在Z空间里面要线性可分,所以如果有noise,这样会导致overfitting

下一节来解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值