支持向量机面试(笔记)

原文:机器学习面试题汇总(支持向量机相关),做了一些笔记。

1.SVM的原理是什么?

2.SVM推导

3.简述SVM软间隔

4.如何使用SMO最优化方法求解SVM模型?

5.SMO算法中对于每次选中的α如何进行优化?

6.SMO算法中如何选择每次优化的两个α?

7.SMO算法优化的终止条件是什么?

8.什么是核函数,为什么SVM要引入核函数?

9.SVM常用的核函数有哪些,如何选择核函数?

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

11.SVM为什么采用间隔最大化?

12.SVM对噪声敏感的原因

13.为什么SVM对缺失某些特征数据敏感?

14.SVM的优缺点

15.SVM为什么用在大数据有哪些缺陷?

16.如何防止SVM过拟合(提高泛化能力)?

17.SVM如何调节惩罚因子C?

18.如何处理SVM中样本不平衡的问题?

19.支持向量机(SVM)中的支持向量是什么意思?

20.SVM如何处理多分类问题?


1.原理

定义:二分类模型,在特征空间中寻找间隔最大化的分离超平面的线性分类器。

1)当训练样本线性可分时,使用硬间隔最大化;
2)近似线性可分,使用软间隔最大化(引入松弛变量);
3)线性不可分,使用核函数和软间隔最大化。


2.推导

min xi只考虑与分类最相关的少数点(粗暴地分类),即支持向量;
在这个基础上通过参数W、b尽量地把样本分得更开(精细地分类),即max W,b。

3.软间隔

近似线性可分(存在离群点的情况),引入松弛变量。

4.如何使用SMO最优化方法求解SVM模型?

2.推导中提到用SMO方法求解α,每次选取两个α,对其范围进行约束。

5.SMO算法中对于每次选中的α如何进行优化?

6.SMO算法中如何选择每次优化的两个α?

7.SMO算法优化的终止条件是什么?

不满足kkt条件的时候

8.什么是核函数,为什么SVM要引入核函数?

将样本空间映射到高维,从而解决线性不可分的问题。

9.SVM常用核函数有哪些?

线性、多项式、高斯、sigmoid。

如何选择:

  • 利用经验、交叉验证、混合核函数等方法。
  • 如果特征数量大到和样本差不多,则选用线性核;
  • 如果特征数量小,样本数量正常,则选用高斯核;

#?????重新查一下,SVM对核函数选择敏感吗,补充14

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

原始问题是一个最优化问题,根据其约束条件难以求解,但是SVM满足KKT条件,局部最优解就是全局最优解,因此可以转换为拉格朗日对偶问题,把目标函数和约束条件合成一个式子,方便求导求最优解。

11.为什么SVM采用函数间隔最大化?

  • 感知机采用误分类最小策略,求得解不唯一,而SVM采用函数间隔最大化,这是一种最优化求解方法,加入约束条件,求得解唯一;
  • 分离超平面只考虑对分类最有帮助的少数点,泛化能力强。

12.SVM对噪声敏感的原因?

SVM的目的是求出与支持向量(即距离分离超平面最近且满足一定条件的几个训练样本点)最大化距离的直线(从高维上来看是直线),以每个样本为圆心,到超平面的距离为半径做圆,可以近似地认为圆内的点与该样本属于相同分类,如果支持向量中出现了噪声,那么这个噪声所带来的错误分类也将最大化。

13.为什么SVM对缺失数据敏感?

这里的缺失指的是训练样本的某个属性值未知。

  • 贝叶斯如果存在缺失数据,直接在训练和预测同时省略这一项就行了,因为是做加法。
  • 决策树如果存在缺失数据,可以采用抛弃概率化缺失数据(根据该属性所在的分布去估计)、缺失数据单独分支等方法。
  • SVM是线性模型,要与W点乘,如果缺失就没办法乘了,也没有好的缺失值处理策略。

14.优点和缺点

优点:

  • 间隔最大化,通过最优化求解,结果唯一;
  • 只考虑支持向量(与分离超平面最近,也是对分类最有帮助的点),泛化性好;
  • 引入核函数将样本空间映射到高维,解决线性不可分的情况。

缺点:

  • 大数据训练困难,因为是二次规划问题(目标函数是变量的二次函数,约束条件是变量的线性不等式),涉及到m阶矩阵的计算(样本数目为m),空间消耗巨大;
  • 本身不支持多分类;
  • 对缺失值、异常值敏感

15.SVM为什么不适合大数据?

二次规划问题:目标函数是变量的二次函数,约束条件是变量的线性不等式。
涉及到m阶矩阵的计算(样本数目为m),空间消耗巨大。

16.如何防止SVM过拟合?

决定SVM最优分离超平面的是支持向量,如果支持向量中刚好存在异常点,就容易过拟合。

解决办法:软间隔,引入松弛变量。

17.SVM如何调节惩罚因子C?

交叉验证法。
在这里插入图片描述
对惩罚因子C的理解:C越大,松弛变量越接近于0,对于样本的拟合能力更强。从风险的角度来看,C权衡了经验风险(对样本的拟合能力)和结构风险(对测试样本的预测能力):为使目标函数越小,C越大时,正则化项(ξ(i) )越小,说明结构风险越大,经验风险越小,容易出现过拟合;反之,C越小,模型的复杂度越低,结构风险越小。

18.如何处理SVM中样本不平衡的问题?

  1. 控制惩罚因子C,给数量少的类更大的惩罚因子,表明更重视这部分数据,增强拟合能力;
  2. 控制样本:欠采样(减少数量多的类)和过采样(增加数量少的类)。

19.支持向量机(SVM)中的支持向量是什么意思?

距离分类超平面最近的几个训练样本点,SVM只考虑支持向量。

20.SVM如何处理多分类问题?

  1. 直接法:直接在目标函数上进行修改,将多个分类面的参数求解合并到一个最优化问题中,一次性实现多分类,计算复杂度较高,实现困难,只适合小型问题;
  2. 间接法一对多:类似于交叉验证法,每次挑出一个类,剩下n-1个类合并为一个类,重复n次,共n个分类器,取最好结果。
  3. 间接法一对一:枚举的做法,每次挑2个类出来,一共是n*(n-1)/2个分类器,使用投票法取最终结果,代价太大。
  4. 层次法:首先将所有类别分成两个子类,再将子类进一步划分成两个次级子类,循环, 直到不能划分为止。

其他参考资料
1.一文理解拉格朗日对偶和KKT条件
2.SVM 由浅入深的尝试(三)SMO算法的一点理解

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章