SVM(六):核函数

前言

  • 我也在学习SVM,边学习边记录学到的东西,特别感谢在学习核函数这一部分时提供帮助的博文,下面的记录也是基于它之上的,并加入了一些个人补充,博文链接:https://blog.csdn.net/v_july_v/article/details/7624837

问题背景

  • 前几篇讲到的SVM的知识是针对线性问题进行处理的,而对于非线性问题,使用核函数可以较好的解决,我们先来直观的理解一下非线性问题与其解决方法:
    在这里插入图片描述
  • 上图中的一维坐标下的+和-两类数据是无法直接通过一个点(一维情况下,一个点就是一个超平面)来直接区分的,现在我们把它们拓展到二维情况,此时用一条直线(二维情况下,一条直线就是一个超平面),就可以直接区分两类数据,如右上角的图所示,下面的图则是二维升到三维空间进行处理的情况。
  • 可见,对于低维度的线性不可分情况,我们可以通过升高到高维度来进行处理。
  • 好,这是关于问题背景的描述。

决策规则

  • 下面我们先来回顾一下之前的内容,我们的决策超平面公式是: f ( x ) = w T x + b f(x)=w^{T}x+b f(x)=wTx+b,我们前面所做的一切工作都是为了得到一个最优的参数 w 和 b w和b wb。之后我们就可以通过这个公式来对数据点进行分类了。
    在这里插入图片描述
    在这里插入图片描述
    下面是对于非支持向量所对应的系数 α α α为0的原因分析:(这一部分和核函数没什么关系,有兴趣的同学可以了解一下,其实如果之前的知识学得扎实的话,你就能够自己得出结论,其实是KKT条件约束的作用)
    在这里插入图片描述
    其实上面就是KKT条件的解释,上面说的functional margin其实就是 y i ( w T x i + b ) y_{i}(w^{T}x_{i}+b) yi(wTxi+b),其实本质是KKT条件约束的原因,要想得到最优参数,一定是要满足KKT条件的,当 y i ( w T x i + b ) − 1 = 0 y_{i}(w^{T}x_{i}+b)-1=0 yi(wTxi+b)1=0时,证明最优参数不在约束域内,只能尽可能的靠近最优参数,所以最适合的参数落在约束域边界,即 y i ( w T x i + b ) − 1 = 0 y_{i}(w^{T}x_{i}+b)-1=0 yi(wTxi+b)1=0,而此时 α α α此时是>0,而当 y i ( w T x i + b ) − 1 > 0 y_{i}(w^{T}x_{i}+b)-1>0 yi(wTxi+b)1>0,表示最优参数在约束域内,所以失去了约束效果,所以说 α = 0 α=0 α=0,至于支持向量,还记得吗:
    在这里插入图片描述
    支持向量是落到上面虚线的,满足带入放缩后的 w x + b wx+b wx+b中使得函数间隔为1或者-1,所以 y i ( w T x i + b ) − 1 = 0 y_{i}(w^{T}x_{i}+b)-1=0 yi(wTxi+b)1=0,而非支持向量不能满足这个条件,所以 y i ( w T x i + b ) − 1 > 0 y_{i}(w^{T}x_{i}+b)-1>0 yi(wTxi+b)1>0
  • 好了,言归正传,通过将 w w w带进决策函数,我们得到了最终的分类函数:
    在这里插入图片描述
  • 到目前为止,这还是线性情况,这只是铺垫,下面我们进入非线性情况。

核函数

困难

  • 首先,我们按照原来的思路,我们必须要把数据映射到高维空间才能达到线性可分的目的。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    上面这个式子还是线性分类器,只不过由于 Φ Φ Φ的映射,此时x是高维空间向量,在高维情况下是线性可分的,到时候再用这个分类器就可以达到分类的目的。
    好了,大体思路清楚了,找到一个合理的 Φ Φ Φ映射,然后在高维空间使用上面的线性分类器f(x)就好了,问题就迎刃而解了。
  • 然而,并不是这么简单的,
    在这里插入图片描述
    对啊,怎么找到合适的映射函数呢?这个太难了,如同大海捞针。另外在高维空间中求解的计算代价是很高的,我们来看例子:
    在这里插入图片描述
    在这里插入图片描述
    是的,分类圈的公式应该就是上面的形式。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    是的,这是一个超平面方程,我们通过用z轴代替二维坐标的5种组合形式,来将二维数据映射到了5维空间。把图8中的两类数据映射到5维空间后,就得到了两个5维的超平面,然后我们再应用线性分类算法就可以构建最优的分类超平面了。
    在这里插入图片描述
    由于5维无法绘图,所以作者为了让我们清楚的看到,用了特殊的数据,圆圈的圆心在x2轴上,所以最后的圈就可以映射到3维空间了,这样就可以绘图展示一下映射之后的效果了:
    在这里插入图片描述
    可以看出的线性可分的,可以用3维空间的超平面来区分两类数据。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    是的,维度爆炸,是难以计算的。也就是说,映射不好找,但是我们可以干脆映射到可能的最高纬度,比如二维的时候,x1、x2最多有5种组合形式,那我们就映射到5维;三维时,x1、x2、x3最多有19种组合形式,那我们就映射到19维……,虽然这种映射是可取,但是会产生维度爆炸,无法计算的问题。

解决办法

在这里插入图片描述
是的,映射之后x1和x2两个向量(注意,此处x1和x2代表向量,不是坐标,坐标分别是η和ξ)分别有5种坐标组合方式,然后内积就相乘到了一起。
下面重点来了!!!!看我们怎么用更好的方法,达到和上面同样的效果!
在这里插入图片描述
在这里插入图片描述
就是说,倘若x1和x2是两个向量,分别等于 ( η 1 , η 2 ) , ( ξ 1 , ξ 2 ) (η_{1},η_{2}),(ξ_{1},ξ_{2}) (η1η2)(ξ1ξ2),那么有以下式子成立:
( < x 1 , x 2 > + 1 ) 2 = 2 η 1 ξ 1 + η 1 2 ξ 1 2 + 2 η 2 ξ 2 + η 1 2 ξ 1 2 + 2 η 1 η 2 ξ 1 ξ 3 + 1 = < Φ ( x 1 ) , Φ ( x 2 ) > , 其 中 , Φ ( x 1 ) = ( √ 2 η 1 , η 1 2 , √ 2 η 2 , η 2 2 , √ 2 η 1 η 2 , 1 ) T , Φ ( x 2 ) = ( √ 2 ξ 1 , ξ 1 2 , √ 2 ξ 2 , ξ 2 2 , √ 2 ξ 1 ξ 2 , 1 ) T (<x1,x2>+1)^{2}=2η_{1}ξ_{1}+η_{1}^{2}ξ_{1}^{2}+2η_{2}ξ_{2}+η_{1}^{2}ξ_{1}^{2}+2η_{1}η_{2}ξ_{1}ξ_{3}+1=<Φ(x1),Φ(x2)>,其中,Φ(x1)=(√2η_{1},η_{1}^{2},√2η_{2},η_{2}^{2},√2η_{1}η_{2},1)^{T},Φ(x2)=(√2ξ_{1},ξ_{1}^{2},√2ξ_{2},ξ_{2}^{2},√2ξ_{1}ξ_{2},1)^{T} (<x1x2>+1)2=2η1ξ1+η12ξ12+2η2ξ2+η12ξ12+2η1η2ξ1ξ3+1=<Φ(x1)Φ(x2)>Φ(x1)=(2η1η122η2η222η1η21)TΦ(x2)=(2ξ1ξ122ξ2ξ222ξ1ξ21)T
惊了!!!本来 < Φ ( x 1 ) , Φ ( x 2 ) > <Φ(x1),Φ(x2)> <Φ(x1)Φ(x2)>的计算在高维下是十分困难的, 现在你竟然通过低维下的 ( < x 1 , x 2 > + 1 ) 2 (<x1,x2>+1)^{2} (<x1x2>+1)2来实现了,仅仅平方一下就搞定了??
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
是的,此处的映射比较容易构造出对应的核函数,

几个核函数

  • 见下图:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

小结

  • 图:
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CtrlZ1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值