支持向量机SVM相关总结

简介

支持向量机(support vector machines,SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大时它有别于感知机;SVM还包括核技巧,这是他成为实质上的非线性分类器。SVM的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的学习算法就是求解凸二次规划的最优化算法

算法原理

SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。如下图所示, ω ⋅ x + b = 0 \omega\cdot x+b = 0 ωx+b=0即为分离超平面,对于线性可分的数据集来说,这样的超平面有无穷多个(感知机),但是几何间隔最大的分离超平面确实唯一的
在这里插入图片描述
算法推导
在这里插入图片描述
在这里插入图片描述
最终,求得的 α \alpha α中,至少存在一个 α \alpha α满足条件,因此可以得到
ω = ∑ i = 1 N α i y i x i , b = y j − ∑ i = 1 N α i y i ( x i ⋅ x j ) \omega = \sum_{i=1}^N\alpha_iy_ix_i, b = y_j-\sum_{i=1}^N\alpha_iy_i(x_i\cdot x_j) ω=i=1Nαiyixi,b=yji=1Nαiyi(xixj)
分离超平面: ω ⋅ x + b = 0 \omega\cdot x + b = 0 ωx+b=0
分离决策函数: f ( x ) = s i g n ( ω ⋅ x + b ) f(x) = sign(\omega\cdot x + b) f(x)=sign(ωx+b)
由此可得,训练完成后,大部分训练样本都不需要保留,最终模型仅与支持向量有关

soft-margin 软间隔

问题:数据中出现噪音点,计算的分离超平面效果不好
解决办法:引入松弛因子 y i ( ω ⋅ x i + b ) ≥ 1 − ξ y_i(\omega\cdot x_i + b)\geq 1-\xi yi(ωxi+b)1ξ
新的目标函数: m i n 1 2 ∣ ∣ ω ∣ ∣ 2 + C ∑ i = 1 n ξ i min\frac{1}{2}||\omega||^2+C\sum_{i=1}^n\xi_i min21ω2+Ci=1nξi
当C趋近于很大时,意味着分类严格不能有错误;当C趋近于很小时,意味着可以有更大的错误容忍
C是我们需要指定的一个参数,然后就和上面一样的求解
只有被决策面分类错误的点(线性不可分点)才会有松弛变量,然后惩罚因子是对线性不可分点的惩罚。 增大惩罚因子,模型泛化性能变弱,惩罚因子无穷大时,退化为线性可分SVM(硬间隔); 减少惩罚因子,模型泛化性能变好。

核变换

问题:低维不可分/非线性转为线性特征空间
解决办法:用核函数 K ( x , z ) K(x,z) K(x,z)代替内积
f ( x ) = s i g n ( ∑ i = 1 N α i y i K ( x , x i ) + b ) f(x) = sign(\sum_{i=1}^N\alpha_iy_iK(x,x_i) + b) f(x)=sign(i=1NαiyiK(x,xi)+b)
一个常用的核函数–高斯核函数
K ( x , z ) = e x p ( − ∣ ∣ x − z ∣ ∣ 2 2 σ 2 ) K(x,z) = exp(-\frac{||x-z||^2}{2\sigma^2}) K(x,z)=exp(2σ2xz2)

算法特性

优点

  • 非线性映射是SVM方法的理论基础,SVM利用内积核函数代替向高维空间的非线性映射
  • 由于SVM是一个凸优化问题,所以求得的解一定是全局最优而不是局部最优。
  • 对特征空间划分的最优超平面是SVM的目标,最大化分类边际的思想是SVM方法的核心
  • 支持向量是SVM的训练结果,在SVM分类决策中起决定作用的是支持向量
  • SVM是一种有件事理论基础的新颖的小样本学习方法。他基本上不涉及概率测度及大数定律,因此不同于现有的统计方法。本质上看,他避开了从归纳到演绎的传统过程,实现了搞笑的从训练样本到预报样本的转导推理,大大简化了通常的分类和回归等问题。
  • SVM的最终决策函数只有少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维度,这在某种意义上避免了维数灾难
  • 少数支持向量决定了最终结果,这不但可以帮助我们抓住关键样本,剔除大量冗余样本,而且注定了该方法不但算法简单,而且具有较好的鲁棒性。这种鲁棒性主要体现在
    (1)增删非支持向量样本对模型没有影响
    (2)支持向量样本具有一定的鲁棒性
    (3)有些成功的应用中,SVM对核的选取不敏感
    缺点
  • SVM算法对大规模训练样本难以实施
  • 用SVM解决多分类问题存在困难

SVM中相关问题总结

SVM 为什么采用间隔最大化(与感知机的区别)
当训练数据线性可分时,存在无穷个分离超平面可以将两类数据正确分开。感知机利用误分类最小策略,求得分离超平面,不过此时的解有无穷多个。线性可分支持向量机利用间隔最大化求得最优分离超平面,这时,解是唯一的。另一方面,此时的分隔超平面所产生的分类结果是最鲁棒的,对未知实例的泛化能力最强。

为什么要将求解 SVM 的原始问题转换为其对偶问题

  1. 是对偶问题往往更易求解,当我们寻找约束存在时的最优点的时候,约束的存在虽然减小了需要搜寻的范围,但是却使问题变得更加复杂。为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,即拉格朗日函数,再通过这个函数来寻找最优点。
  2. 是可以自然引入核函数,进而推广到非线性分类问题。

为什么SVM对缺失数据敏感
这里说的缺失数据是指缺失某些特征数据,向量数据不完整。SVM 没有处理缺失值的策略。而 SVM 希望样本在特征空间中线性可分,所以特征空间的好坏对SVM的性能很重要。缺失特征数据将影响训练结果的好坏。

如何选择核函数

  • 当特征维数 d 超过样本数 m 时 (文本分类问题通常是这种情况), 使用线性核;
  • 当特征维数 d 比较小. 样本数 m 中等时, 使用RBF核;
  • 当特征维数 d 比较小. 样本数 m 特别大时, 支持向量机性能通常不如深度神经网络

参考

https://zhuanlan.zhihu.com/p/31886934
https://blog.csdn.net/qq_31347869/article/details/88071930

关于作者

知乎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值