1、原理(硬间隔)
SVM是去找一个超平面来划分样本,而如何去找到这个超平面,SVM基于几何间隔最大化原理,去寻找最大几何间隔的分类面为最优分类超平面。(一般而言,一个点距离超平面的远近可以表示为分类预测的确信或准确程度,SVM就是要最大化这个间隔值)我们可以发现,SVM划分超平面的选择只和支持向量有关!
margin就是超平面
由几何间隔的公式:空间中任意一点xi到平面的几何距离
则由图可知
变为
令,故可得到
两式合并可以写为
最大间隔超平面的上下两个超平面表达式
由点到直线距离公式,每个支持向量到超平面的距离表示为
超平面求解方法:
a、构造拉格朗日函数
b、利用强对偶性转换
c、求最优的参数
常用SMO(序列最小优化算法):每次只优化一个参数,其他参数先固定,由于有约束条件,没法只动一次,因此一次选择两个参数,步骤如下
注:也可以使用梯度下降法来求解
损失函数为
最小化经验分类错误
d、求出w,bias
由b求出的w的偏导公式,把c求出的带入即可求出w
随意找个支持向量,将w带入y(wx+b)=1即可求出bias
为了具有鲁棒性,可以求任意个支持向量带入的bias的均值
e、有了w,bias,就可以构造最大分割超平面
2、软间隔
很多样本数据都不能够用一个超平面把数据完全分开。如果数据集中存在噪点的话,允许个别样本点出现在间隔带里面,比如:
为了度量这个间隔软到何种程度,我们为每个样本引入一个松弛变量
有了软间隔,优化目标变为
C是大于0的常数,可以理解为错误样本的惩罚程度
解释:对优化问题的影响就在于把a的范围从[0,+inf]限制到了[0,C]。C越小,那么a就会越小,目标函数拉格朗日函数导数为0可以求出w=求和ai∗yi∗xi,a变小使得w变小,因此间隔2/||w||变大
超平面求解方法:
a、构造拉格朗日函数
b、求导
利用SMO方法求得最优的参数
其他同上就可以求出超平面
3、核函数
针对线性不可分的情况,将二维线性不可分样本映射到高维空间中,让样本点在高维空间线性可分。
(1)优点:
利用核函数,实现高维空间的非线性映射;同时能够处理非线性的样本,
(2)缺点:
当训练样本数目很大,使用核函数将耗费大量的机器内存和运算时间。
4、SVM优缺点
优点 | 缺点 |
利用核函数,实现高维空间的非线性映射 | 对大规模训练样本难以实施 |
利用核函数,同时能够处理非线性的样本 | 解决多分类存在困难 |
分类效果好 | 对缺失数据、异常值敏感 |
分类思想简单 | 对参数(C)和核函数选择敏感 |
5、LR与SVM的联系以及区别
联系 | 区别 |
都可以处理二分类的问题 | LR是参数模型,SVM是非参数模型 |
都可以增加不同的正则项 | LR使用交叉熵损失,SVM用的hinge loss |
可以用来做非线性分类 | LR是经验风险最小化,SVM是结构风险最小化 |
线性模型、 判别模型 | LR依赖数据分布,SVM不依赖 |
注:经验风险是模型关于训练样本集的平均损失。
结构风险最小化等价于正则化。结构风险在经验风险的基础上加上表示模型复杂度的正则化项。
6、LR和SVM在实际选择
如果特征数量多,跟样本数量差不多,就选LR
如果特征数量少,样本数量一般,就选择SVM
7、为什么要将原问题转化为对偶问题
不等式约束方程minmax这种形式不能先对w,b求导,这种形式只能先对拉格朗日参数求导
对偶问题将原始问题中的约束形式转换为了对偶问题中的等式约束
方便核函数的引入
改变了问题的复杂度
8、为什么SVM对缺失数值敏感
缺失数据是指缺失某些特征数据,向量数据不完整。SVM没有处理缺失值的策略,而且SVM希望在特征空间中线性可分,所以特征空间的好坏对于SVM的性能很重要。
以上内容均来源于各个版主、牛客网总结