赞
踩
基于合页损失找到一条最佳分离边界,能把最难分的点(支持向量)分得间隔最大。
优点:
1.泛化能力高
2.利用核技巧对非线性样本分类
3.SVM 的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,可解决高维问题,这在某种意义上避免了“维数灾难”。
4少数支持向量决定了最终结果,这不但可以帮助我们抓住关键样本、“剔除”大量冗余样本,而且使得该算法简单且具有较好的“鲁棒”性。
5.类别不平衡影响不大
缺点:
1.对非线性,很难找到合适核函数
2.解决多分类较麻烦
3.大规模样本难以训练,因为对偶计算中涉及矩阵运算,当样本很大时,存储和计算耗费计算机大量的内存和运行时间。
3.可解释性弱
4.对缺失特征数据敏感
如何定义这条曲线最佳?
Hinge(合页)损失最小
为什么需要间隔最大化?
(1)SVM算法认为靠近决策边界的点与决策边界的距离最大时,是最好的分类选择
(2) 因为“正中间”的划分超平面对训练样本局部扰动的“容忍性”好,分隔超平面所产生的分类结果是最鲁棒的,对预测样本泛化能力最强;
(3)线性条件下,分类超平面的解唯一
svm的对偶原理?
把目标函数和约束全部融入一个新的函数,即拉格朗日函数,原始问题就变成了一个极大极小问题,min(w,b)->max(乘子a),再通过这个函数来寻找最优点。
为什么要使用对偶?
(1) 数学层面上,求解更容易;
(2)分类性能上,自然引入核函数,可推广到非线性问题上。
为什么引入核函数?
线性不可分时,可将样本从原始空间映射到一个更高维的特征空间,使得线性可分。
SVM常见的核函数?
线性、多项式、高斯(灵活,易过拟合,需要样本量大)、sigmod
什么SVM对缺失特征数据敏感?
因为SVM涉及距离度量,缺失数据若处理不好可能会导致分类效果差。SVM没有处理缺失值的策略(而决策树,XGBOOST有)。
SVM是用的是哪个库?
sklearn实现的。采用sklearn.svm.SVC设置的参数, sklearn.svm.SVC(C=1.0, kernel=‘rbf’, degree=3, gamma=‘auto’, coef0=0.0, ……)
SVM参数?
最重要的参数有2个:惩罚系数
C
C
C与
g
a
m
m
a
(
=
1
/
σ
2
)
gamma(=1/σ2)
gamma(=1/σ2),
C
C
C类似于正则化中
1
/
λ
1/λ
1/λ的作用。
C
C
C越大,说明越不能容忍出现误差,越容易过拟合。
σ
σ
σ越大,核函数越平滑,波动越小,对噪声越不敏感,易欠拟合;
σ
σ
σ越小,高斯分布长得又高又瘦, 会造成只会作用于支持向量样本附近,对于未知样本分类效果很差。
SVM如何实现多分类?
(1) 训练k个分类器,训练时依次把某个类别的样本归为一类,其他剩余的样本归为另一类,最后分类时,将未知样本分类为具有最大分类函数值的那类;
(2) 训练c(2,k)个分类器取多数
SVM降低模型复杂度(过拟合)的方法?
给每个样本引入松弛变量
SVM做回归SVR?
一串连续数值向量
A
=
(
x
1
,
x
2
,
x
3
,
…
x
i
)
A=(x_1,x_2,x_3,…x_i)
A=(x1,x2,x3,…xi)对应其函数值
(
y
1
,
y
2
,
y
3
…
y
i
)
(y_1,y_2,y_3…y_i)
(y1,y2,y3…yi),将其翻转后成为一列数据,类似SVM的不同样本,剩余步骤和SVM类似。只是SVR希望大部分点在间隔内,间隔外的点会带来损失,而SVM希望大部分点在间隔两边。
函数间隔和几何间隔区别?
函数间隔主要表示是否分类正确,可正可负;几何间隔表示点到超平面的距离,只能为正。
SVM与树模型间的区别?
(1)SVM可解释性更弱;树模型可解释性好
(2)SVM对缺失特征数据敏感;树模型对缺失特征数据不敏感
(3)SVM处理多分类问题麻烦
(4)SVM对异常值不敏感;树模型对异常值敏感
(5)SVM泛化能力强;树模型依赖训练样本集,对没有出现的特征没有办法
(6)SVM适用于处理小样本训练集;树模型可处理大样本训练数据集
LR与SVM的区别:
(1)异常值:LR的目标是使得所有的点分类正确。所以LR会受到数据集中所有点的影响,当数据不均衡时,LR的性能会受到影响;而SVM分类性能只会受到支持向量的影响,只要支持向量不变,类别不平衡影响不大;也就是,LR对异常值敏感。
(2)起作用点的范围:LR模型尽量让所有点都远离超平面,而SVM让只考虑support vectors(最难划分/最靠近中间分割线的那些点),也就是和分类最相关的少数点,尽量远离超超平面,即只用到那些支持向量的样本。也就是SVM的约束来体现的
(3)loss:目标函数不一样,LR对数似然损失函数,SVM凸优化问题。
(4)非线性:处理非线性分类时,SVM采用核函数更好更快,LR很少使用核函数
(5)Linear SVM依赖数据表达的距离测度,所以需要对数据先做normalization;LR不受其影响,但是如果要正则的话也要归一化
(6)概率值:SVM不能给出概率结果,LR可以产生概率,因此可做ranking
(7)SVM的目标函数就自带有约束正则(目标函数中的
1
/
2
∣
∣
w
∣
∣
2
1/2||w||^2
1/2∣∣w∣∣2项),这就是为什么SVM是泛化力更强的原因。而LR必须另外在损失函数上添加正则项。
(8)LR可解释性更强
SVM与感知机的区别
(1)解:SVM基于间隔最大化,求得分类超平面,解是唯一,且分类结果最鲁棒,泛化能力强;感知机基于误分类最小策略,求得分离超平面,不唯一
(2)学习策略:感知机使用梯度下降;SVM使用由约束条件构造拉格朗日函数,然后求偏导令其为0求得极值点。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。