SVM面试问答(笔记整理)

  • 机器学习面试的时候SVM肯定是必问了,做个笔记方便以后回忆:

1、SVM的原理是什么?

答:SVM是一种二类分类模型。它的基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器。(间隔最大是它有别于感知机)

  1. 当训练样本线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机;
  2. 当训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,学习一个线性分类器,即线性支持向量机;
  3. 当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。

2、SVM为什么采用间隔最大化?

答:当训练数据线性可分时,存在无穷个分离超平面可以将两类数据正确分开。利用间隔最大化求得最优分离超平面,这时,解是唯一的。另一方面,此时的分隔超平面所产生的分类结果对未知实例的泛化能力最强。

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

答:

  1. 对偶问题往往更易求解,(当我们寻找约束存在时的最优点的时候,约束的存在虽然减小了需要搜寻的范围,但是却使问题变得更加复杂。为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,即拉格朗日函数,再通过这个函数来寻找最优点。)
    (a)目前处理的模型严重依赖于数据集的维度d,如果维度d太高就会严重提升运算时间;
    (b)对偶问题把SVM从依赖d个维度转变到依赖N个数据点,最后计算时只有支持向量有意义,所以计算量比N小很多。
  2. 自然引入核函数,进而推广到非线性分类问题。

4、为什么SVM要引入核函数?

答:当样本在原始空间线性不可分时,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。引入映射后的对偶问题:
在学习预测中,只定义核函数K(x,y),而不是显式的定义映射函数ϕ。因为特征空间维数可能很高,甚至可能是无穷维,因此直接计算ϕ(x)·ϕ(y)是比较困难的。相反,直接计算K(x,y)比较容易(即直接在原来的低维空间中进行计算,而不需要显式地写出映射后的结果)。
核函数的定义:K(x,y)=<ϕ(x),ϕ(y)>,即在特征空间的内积等于它们在原始样本空间中通过核函数K计算的结果。

5、为什么SVM对缺失数据敏感?

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

6、SVM如何处理多分类问题?

答:

  1. 直接法:直接在目标函数上修改,将多个分类面的参数求解合并到一个最优化问题里面。看似简单但是计算量却非常的大。
  2. 间接法:对训练器进行组合。其中比较典型的有一对一,和一对多。
    一对多:就是对每个类都训练出一个分类器,由svm是二分类,所以将此而分类器的两类设定为目标类为一类,其余类为另外一类。这样针对k个类可以训练出k个分类器,当有一个新的样本来的时候,用这k个分类器来测试,那个分类器的概率高,那么这个样本就属于哪一类。这种方法效果不太好,bias比较高。
    一对一:针对任意两个类训练出一个分类器,如果有k类,一共训练出C(2,k) 个分类器,这样当有一个新的样本要来的时候,用这C(2,k) 个分类器来测试,每当被判定属于某一类的时候,该类就加一,最后票数最多的类别被认定为该样本的类。

7、样本失衡会对SVM的结果产生影响吗?

答:会,超平面会靠近样本少的类别。因为使用的是软间隔分类,而如果对所有类别都是使用同样的惩罚系数,则由于优化目标里面有最小化惩罚量,所以靠近少数样本时,其惩罚量会少一些。

8、SVM适合处理什么样的数据?

答:高维稀疏,样本少。【参数只与支持向量有关,数量少,所以需要的样本少,由于参数跟维度没有关系,所以可以处理高维问题】高维问题还可以另外一个角度来思考,假设给定一个训练数据集,其特征是少量的,那么很可能需要映射到高维空间才能求解,那么这个问题就是一个高维问题。

更多请参考:https://blog.csdn.net/a857553315/article/details/79586846

猜你喜欢

转载自blog.csdn.net/qq_42823043/article/details/94611125