SVM Support Vector Machine

要理解SVM的思想,可先看看什么是最优间隔分类器。

SVM的主要思想可以概括为两点:

(1)它是针对线性可分情况进行分析,对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能。

(2)它基于结构风险最小化理论之上在特征空间中建构最优分割超平面,使得学习器得到全局最优化。

为了解决第1点“维数灾难"的问题,引入了核函数来解决高维空间的计算问题。另外在训练数据过程中,对参数迭代优化的时候,由于参数需要在一定的条件下迭代,不能只是简单地控制一个参数而固定其它参数,需要同时控制2个参数来保证满足已经的条件,因此使用SMO(sequential minimal optimization)算法来迭代计算。

对于第2目前比较粗浅的理解就是每个分类中的点到分割平面的距离中的最小值要尽量地大,根据最差的正样本和最差的负样本来决定分割平面的位置。因为在SVM中,只要每个分类的点离分割平面的距离>0,就说明我们的分类是“正确”的。但我们希望的是这个距离越大越好。

稍微解释下核函数的思想。

假设输入特征只有一维X,现在考虑构建一个三次方的函数来拟合因变量Y和自变量X的之间的关系。输入的特征是一次项,因此考虑引入特征映射函数:

                                                                                  Φ(x)=[x,x 2,x 3] T
也就是说, 非线性函数Φ实现输入间X到特征空间F的映射,我们想对Y和Φ(x)建模学习算法,而不是简单的只考虑Y和x之间的关系。
在二维空间中,我们如果模型w Tx+b进行分类,当需要对新数据分类时,需要计算新数据与训练数据之间两个特征的内积<X,Z>。引入特征映射函数后,我们需要计算的是内积<Φ(X),Φ(Z)>。试想一下,如果我们在高维空间里计算内积<Φ(X),Φ(Z)>,肯定会有“维数灾难”问题。因此,核函数的目的就是 将高维空间的内积运算转化为低维输入空间的核函数计算,从而巧妙地解决了在高维特征空间中计算的“维数灾难”等问题。来看一个简单的例子。
假设X,Z∈R n,K(X,Z )=(XTZ)2
将平方项展开,得到:K(X,Z )=(∑xizi)(∑xizi)=∑∑xixjzizj=∑(xixj )( z i z j)  则:K(X,Z ) = Φ(X)TΦ(Z),其中
                  Φ(X)=(x1x1,x1x2,x1x3,x2x1,x2x2,x2x3,x3x1,x3x2,x3x3)T
计算Φ(X)的时间复杂度是O(n 2),而计算K(X,Z)的时间复杂度为O(n)。
在计算的过程中, 无需知道非线性变换函数Φ的形式和参数。核函数的形式和参数的变化会隐式地改变从输入空间到特征空间的映射,进而对特征空间的性质产生影响,最终改变各种核函数方法的性能。
核函数的确定并不困难,满足Mercer定理的函数都可以作为核函数。常用的核函数有:线性核函数,多项式核函数,径向基核函数,Sigmoid核函数和复合核函数。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值