svm之非线性部分总结

由于很多数据集在原有空间是非线性可分的,需要用到非线性方法;一种方法就是增加特征,比如多项式特征;如图所示:

将一维映射到高维,分类就很明显了,换句话说,从垂直方向来看是看不出来的,水平方向是可以看出来的;如果降维只保留了垂直方向,就无法看出来的;

这种增加多项式特征的方法加上核技巧称之为多项式核;核技巧的本质在于可以忽略复杂的映射过程,直接获得所需结果;他能获得同样的结果就好比你增加了许多多项式特征,即使非常高的多项式度,而实际上没有增加任何特征;

另一种非线性映射方法:增加相似度特征(从数学上来讲相似度本质上就是距离函数)使用高斯径向基函数;这本质上来讲,是一种新的映射函数,对原始特征进行变换;比如:

对于一维特征数据集,找到两个中心点,确定两个高斯基函数,个人认为多少个高斯基核函数,就代表映射到多少维;

比如说一个样本的特征值为x,第一个高斯基核函数f1,第二个高斯基核函数f2,x通f1变换得到x1,x通f2变换得到x2,就这样就将原始数据变换成二维;在图形上就可以以x1为横坐标,x2为纵坐标;由书中计算得到原x=-1,通过映射后得到x1=0.3,x2=0.74; 

如图所示:

从多项式到多多项式核一样,从高斯径向基函数到其对应的核函数一样,使用了核技巧;该核函数在应用时注意两个参数一个与函数相关的gamma超参数,一个是分类错误容忍度的一个参数c(如果该系数无穷大,那么有一个错误,目标函数就会无穷大,所以一个错误也不能犯,不能容忍);gamma参数的作用:从图形上来说,决定曲线的宽度,或者说厚尾程度;从实际意义上来说,就是单个样本的影响力;如果gamma增加会曲线变得更窄,每个案例的影响变小,决策边界越不规范,会根据每个点来划线,非常的不平滑;相反gamma减少会得到宽广的决策边界,非常平滑;所以gamma参数可以当一个正则化参数;过拟合了就减少,欠拟合就增加;类似于错误惩罚c参数;该值的大小与正则化影响成反比;

这个地方可以这么记忆,如果c为0,那么分类器就会毫无意义,因为允许犯任何错误;虽然目标函数与硬间隔是一致的了,但约束条件完全不一致;这个地方我以前认为c为0,就等同于硬间隔分类器;恰恰相反,c值无穷大才等同于硬间隔分类器;所以记住,c值无穷大时,就是完美拟合;或者记住该值的大小与正则化影响成反比;

从目标函数上来看,c值可以代表错误的权重值,与w系数的部分的权重比值,w的部分的权重系数值为1;c值越大,代表一个错误的影响也越大;比如说c*error*n=100,如果c值变大了,那么n就要变小;

其他核函数也存在,但用的非常少;

这么多核函数要选择,我该怎么决定:

根据经验,你应该总是先尝试线性核函数,记得是LinearSVC比SVC(kernal='linear‘)快得多,尤其是数据非常大或特征非常多时;如果数据不是非常大时,可以使用高斯径向基核函数,这种函数在大多数情况下,都能用得很好;如果还有空闲时间与计算资源,可以尝试其他的核函数,并使用交叉验证与grid search,尤其是有些核函数是专门为自己的数据结构而设计的;

 

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值