SVM面试问题汇总

1. 请简要介绍下SVM。

SVM,全称是support vector machine,中文名叫支持向量机。SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同的数据分隔开。
支持向量机学习方法包括构建由简至繁的模型:线性可分支持向量机、线性支持向量机及非线性支持向量机。

  • 当训练数据线性可分时,通过硬间隔最大化,学习一个线性的分类器,即线性可分支持向量机,又称为硬间隔支持向量机
  • 当训练数据近似线性可分时,通过软间隔最大化,也学习一个线性的分类器,即线性支持向量机,又称为软间隔支持向量机
  • 当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机

2. SVM的软间隔硬间隔区别

  • 硬间隔:完全分类准确,其损失函数不存在;其损失值为0;只要找出两个异类正中间的那个平面;
  • 软间隔:允许一定量的样本分类错误;优化函数包括两个部分,一部分是点到平面的间隔距离,一部分是误分类的损失个数
    • C是惩罚系数,误分类个数在优化函数中的权重值;权重值越大,误分类的损失惩罚的越厉害。
    • 误分类的损失函数可分为hinge损失,指数损失,对率损失。而经常使用的或者说默认的是使用了损失函数为hinge损失的软间隔函数。

3. LR和SVM的联系与区别?

联系
1、LR和SVM都可以处理分类问题,且一般都用于处理线性二分类问题(在改进的情况下可以处理多分类问题)
2、两个方法都可以增加不同的正则化项,如L1、L2等等。所以在很多实验中,两种算法的结果是很接近的。
区别
1、LR是参数模型,SVM是非参数模型。
2、从目标函数来看,区别在于逻辑回归采用的是Logistical Loss,SVM采用的是hinge loss.这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。
3、SVM的处理方法是只考虑Support Vectors,也就是和分类最相关的少数点,去学习分类器。而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重。
4、逻辑回归相对来说模型更简单,好理解,特别是大规模线性分类时比较方便。而SVM的理解和优化相对来说复杂一些,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算。
5、Logic 能做的 SVM能做,但可能在准确率上有问题,SVM能做的Logic有的做不了。

4. 简单说下有监督学习和无监督学习的区别?

有监督学习:对具有标记的训练样本进行学习,以尽可能对训练样本集外的数据进行分类预测。(LR,SVM,BP,RF,GBDT)
无监督学习:对未标记的样本进行训练学习,比发现这些样本中的结构知识。(KMeans,DL)

5. 关于支持向量机SVM,下列说法错误的是(C)

A.L2正则项,作用是最大化分类间隔,使得分类器拥有更强的泛化能力
B.Hinge 损失函数,作用是最小化经验分类错误
C.分类间隔为 1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} w1 ∣ ∣ w ∣ ∣ ||w|| w代表向量的模
D.当参数C越小时,分类间隔越大,分类错误越多,趋于欠学习

6. 关于Logit 回归和SVM 不正确的是(A)

A. Logit回归本质上是一种根据样本对权值进行极大似然估计的方法,而后验概率正比于先验概率和似然函数的乘积。logit仅仅是最大化似然函数,并没有最大化后验概率,更谈不上最小化后验概率。A错误
B. Logit回归的输出就是样本属于正类别的几率,可以计算出概率,正确
C. SVM的目标是找到使得训练数据尽可能分开且分类间隔最大的超平面,应该属于结构风险最小化。
D. SVM可以通过正则化系数控制模型的复杂度,避免过拟合。

题解:Logit回归目标函数是最小化后验概率,Logit回归可以用于预测事件发生概率的大小,SVM目标是结构风险最小化,SVM可以有效避免模型过拟合。

7. 解释对偶的概念。

一个优化问题可以从两个角度进行考察,一个是primal 问题,一个是dual 问题,就是对偶问题,一般情况下对偶问题给出主问题最优值的下界,在强对偶性成立的情况下由对偶问题可以得到主问题的最优下界,对偶问题是凸优化问题,可以进行较好的求解,SVM中就是将Primal问题转换为dual问题进行求解,从而进一步引入核函数的思想。

8. 如何进行特征选择?

特征选择是一个重要的数据预处理过程,主要有两个原因:一是减少特征数量、降维,使模型泛化能力更强,减少过拟合;二是增强对特征和特征值之间的理解。

常见的特征选择方式:
1.去除方差较小的特征。
2.正则化。1正则化能够生成稀疏的模型。L2正则化的表现更加稳定,由于有用的特征往往对应系数非零。
3.随机森林,对于分类问题,通常采用基尼不纯度或者信息增益,对于回归问题,通常采用的是方差或者最小二乘拟合。一般不需要feature engineering、调参等繁琐的步骤。它的两个主要问题,1是重要的特征有可能得分很低(关联特征问题),2是这种方法对特征变量类别多的特征越有利(偏向问题)。
4.稳定性选择。是一种基于二次抽样和选择算法相结合较新的方法,选择算法可以是回归、SVM或其他类似的方法。它的主要思想是在不同的数据子集和特征子集上运行特征选择算法,不断的重复,最终汇总特征选择结果,比如可以统计某个特征被认为是重要特征的频率(被选为重要特征的次数除以它所在的子集被测试的次数)。理想情况下,重要特征的得分会接近100%。稍微弱一点的特征得分会是非0的数,而最无用的特征得分将会接近于0。

9. 数据不平衡问题。

这主要是由于数据分布不平衡造成的。解决方法如下:

1)采样,对小样本加噪声采样,对大样本进行下采样
2)进行特殊的加权,如在Adaboost中或者SVM中
3)采用对不平衡数据集不敏感的算法
4)改变评价标准:用AUC/ROC来进行评价
5)采用Bagging/Boosting/Ensemble等方法
6)考虑数据的先验分布

10. 在其他条件不变的前提下,以下哪种做法容易引起机器学习中的过拟合问题(D)

A. 增加训练集量
B. 减少神经网络隐藏层节点数
C. 删除稀疏的特征
D. SVM算法中使用高斯核/RBF核代替线性核
题解:一般情况下,越复杂的系统,过拟合的可能性就越高,一般模型相对简单的话泛化能力会更好一点。

B.一般认为,增加隐层数可以降低网络误差(也有文献认为不一定能有效降低),提高精度,但也使网络复杂化,从而增加了网络的训练时间和出现“过拟合”的倾向, svm高斯核函数比线性核函数模型更复杂,容易过拟合

D.径向基(RBF)核函数/高斯核函数的说明,这个核函数可以将原始空间映射到无穷维空间。对于参数 ,如果选的很大,高次特征上的权重实际上衰减得非常快,实际上(数值上近似一下)相当于一个低维的子空间;反过来,如果选得很小,则可以将任意的数据映射为线性可分——当然,这并不一定是好事,因为随之而来的可能是非常严重的过拟合问题。不过,总的来说,通过调整参数 ,高斯核实际上具有相当高的灵活性,也是 使用最广泛的核函数之一。

11. 以下说法中正确的是(BD)?

A. SVM对噪声(如来自其他分布的噪声样本)鲁棒
B. 在AdaBoost算法中,所有被分错的样本的权重更新比例相同
C. Boosting和Bagging都是组合多个分类器投票的方法,二者都是根据单个分类器的正确率决定其权重
D. 给定n个数据点,如果其中一半用于训练,一般用于测试,则训练误差和测试误差之间的差别会随着n的增加而减少
题解
A、SVM对噪声(如来自其他分布的噪声样本)鲁棒
  SVM本身对噪声具有一定的鲁棒性,但实验证明,是当噪声率低于一定水平的噪声对SVM没有太大影响,但随着噪声率的不断增加,分类器的识别率会降低。
B、在AdaBoost算法中所有被分错的样本的权重更新比例相同
  AdaBoost算法中不同的训练集是通过调整每个样本对应的权重来实现的。开始时,每个样本对应的权重是相同的,即其中n为样本个数,在此样本分布下训练出一弱分类器。对于分类错误的样本,加大其对应的权重;而对于分类正确的样本,降低其权重,这样分错的样本就被凸显出来,从而得到一个新的样本分布。在新的样本分布下,再次对样本进行训练,得到弱分类器。以此类推,将所有的弱分类器重叠加起来,得到强分类器。
C、Boost和Bagging都是组合多个分类器投票的方法,二者均是根据单个分类器的正确率决定其权重。
Bagging与Boosting的区别
取样方式不同。
Bagging采用均匀取样,而Boosting根据错误率取样。
Bagging的各个预测函数没有权重,而Boosting是有权重的。
Bagging的各个预测函数可以并行生成,而Boosing的各个预测函数只能顺序生成。

12. 关于 Logit 回归和 SVM 不正确的是(A)。

A. Logit回归目标函数是最小化后验概率
B. Logit回归可以用于预测事件发生概率的大小
C. SVM目标是结构风险最小化
D. SVM可以有效避免模型过拟合
题解
  A. Logit回归本质上是一种根据样本对权值进行极大似然估计的方法,而后验概率正比于先验概率和似然函数的乘积。logit仅仅是最大化似然函数,并没有最大化后验概率,更谈不上最小化后验概率。而最小化后验概率是朴素贝叶斯算法要做的。A错误
  B. Logit回归的输出就是样本属于正类别的几率,可以计算出概率,正确
  C. SVM的目标是找到使得训练数据尽可能分开且分类间隔最大的超平面,应该属于结构风险最小化。
  D. SVM可以通过正则化系数控制模型的复杂度,避免过拟合。

13. 有两个样本点,第一个点为正样本,它的特征向量是(0,-1);第二个点为负样本,它的特征向量是(2,3),从这两个样本点组成的训练集构建一个线性SVM分类器的分类面方程是(C)

A. 2x+y=4
B. x+2y=5
C. x+2y=3
D. 2x-y=0

正确答案:(C)

解析:这道题简化了,对于两个点来说,最大间隔就是垂直平分线,因此求出垂直平分线即可。

14. 关于支持向量机SVM,下列说法错误的是(C)

A. L2正则项,作用是最大化分类间隔,使得分类器拥有更强的泛化能力
B. Hinge 损失函数,作用是最小化经验分类错误
C. 分类间隔为1||w||1||w||,||w||代表向量的模
D. 当参数C越小时,分类间隔越大,分类错误越多,趋于欠学习

正确答案:(C)

题解

A正确。考虑加入正则化项的原因:想象一个完美的数据集,y>1是正类,y<-1是负类,决策面y=0,加入一个y=-30的正类噪声样本,那么决策面将会变“歪”很多,分类间隔变小,泛化能力减小。加入正则项之后,对噪声样本的容错能力增强,前面提到的例子里面,决策面就会没那么“歪”了,使得分类间隔变大,提高了泛化能力。

B正确。

C错误。间隔应该是 2 ∣ ∣ w ∣ ∣ \frac{2}{||w||} w2才对,后半句应该没错,向量的模通常指的就是其二范数。

D正确。考虑软间隔的时候,C对优化问题的影响就在于把a的范围从 [ 0 , + i n f ] [0,+inf] [0+inf]限制到了 [ 0 , C ] [0,C] [0,C]。C越小,那么a就会越小,目标函数拉格朗日函数导数为0可以求出 w = ∑ i a i ∗ y i ∗ x i w=\sum_ia_i∗y_i∗x_i w=iaiyixi,a变小使得w变小,因此间隔 2 ∣ ∣ w ∣ ∣ \frac{2}{||w||} w2变大。

15. 下列不是SVM核函数的是:(B)

A. 多项式核函数
B. Logistic核函数
C. 径向基核函数
D. Sigmoid核函数

正确答案:(B)

题解

SVM核函数包括线性核函数、多项式核函数、径向基核函数、高斯核函数、幂指数核函数、拉普拉斯核函数、ANOVA核函数、二次有理核函数、多元二次核函数、逆多元二次核函数以及Sigmoid核函数。

核函数的定义并不困难,根据泛函的有关理论,只要一种函数 K ( x i , x j ) 满足Mercer条件,它就对应某一变换空间的内积。对于判断哪些函数是核函数到目前为止也取得了重要的突破,得到Mercer定理和以下常用的核函数类型:
  (1)线性核函数 :K ( x , x i ) = x ⋅ x i
  (2)多项式核 :K ( x , x i ) = ( ( x ⋅ x i ) + 1 ) d
  (3)径向基核(RBF):K ( x , x i ) = exp ( − ∥ x − x i ∥ 2 σ 2 )
  Gauss径向基函数则是局部性强的核函数,其外推能力随着参数 σ 的增大而减弱。多项式形式的核函数具有良好的全局性质。局部性较差。
  (4)傅里叶核 :K ( x , x i ) = 1 − q 2 2 ( 1 − 2 q cos ( x − x i ) + q 2 )
  (5)样条核 :K ( x , x i ) = B 2 n + 1 ( x − x i )
  (6)Sigmoid核函数 :K ( x , x i ) = tanh ( κ ( x , x i ) − δ )

采用Sigmoid函数作为核函数时,支持向量机实现的就是一种多层感知器神经网络,应用SVM方法,隐含层节点数目(它确定神经网络的结构)、隐含层节点对输入节点的权值都是在设计(训练)的过程中自动确定的。而且支持向量机的理论基础决定了它最终求得的是全局最优值而不是局部最小值,也保证了它对于未知样本的良好泛化能力而不会出现过学习现象。

在选取核函数解决实际问题时,通常采用的方法有:
  一是利用专家的先验知识预先选定核函数;
  二是采用Cross-Validation方法,即在进行核函数选取时,分别试用不同的核函数,归纳误差最小的核函数就是最好的核函数.如针对傅立叶核、RBF核,结合信号处理问题中的函数回归问题,通过仿真实验,对比分析了在相同数据条件下,采用傅立叶核的SVM要比采用RBF核的SVM误差小很多。
  三是采用由Smits等人提出的混合核函数方法,该方法较之前两者是目前选取核函数的主流方法,也是关于如何构造核函数的又一开创性的工作.将不同的核函数结合起来后会有更好的特性,这是混合核函数方法的基本思想。

16. 下面哪些是基于核的机器学习算法?( BCD )

A. Expectation Maximization(EM)(最大期望算法)
B. Radial Basis Function(RBF)(径向基核函数)
C. Linear Discrimimate Analysis(LDA)(主成分分析法)
D. Support Vector Machine(SVM)(支持向量机)

正确答案:( BCD )

题解:径向基核函数是非常常用的核函数,而主成分分析法的常规方法是线性的,但是当遇到非线性的时候,同样可以使用核方法使得非线性问题转化为线性问题。支持向量机处理非线性的问题的时候,核函数也是非常重要的。

17. 逻辑回归相关问题。

(1)公式推导一定要会
(2)逻辑回归的基本概念
  这个最好从广义线性模型的角度分析,逻辑回归是假设y服从Bernoulli分布。
(3)L1-norm和L2-norm
  其实稀疏的根本还是在于L0-norm也就是直接统计参数不为0的个数作为规则项,但实际上却不好执行于是引入了L1-norm;而L1norm本质上是假设参数先验是服从Laplace分布的,而L2-norm是假设参数先验为Gaussian分布,我们在网上看到的通常用图像来解答这个问题的原理就在这。
  但是L1-norm的求解比较困难,可以用坐标轴下降法或是最小角回归法求解。
(4)LR和SVM对比
  首先,LR和SVM最大的区别在于损失函数的选择,LR的损失函数为Log损失(或者说是逻辑损失都可以)、而SVM的损失函数为hinge loss
minw,b∑iN[1−yi(w∗xi+b)]+λ||w||2
minw,b∑iN[1−yi(w∗xi+b)]+λ||w||2

其次,两者都是线性模型。
  最后,SVM只考虑支持向量(也就是和分类相关的少数点)
(5)LR和随机森林区别
  随机森林等树算法都是非线性的,而LR是线性的。LR更侧重全局优化,而树模型主要是局部的优化。
(6)常用的优化方法
  逻辑回归本身是可以用公式求解的,但是因为需要求逆的复杂度太高,所以才引入了梯度下降算法。
  一阶方法:梯度下降、随机梯度下降、mini 随机梯度下降降法。随机梯度下降不但速度上比原始梯度下降要快,局部最优化问题时可以一定程度上抑制局部最优解的发生。
  二阶方法:牛顿法、拟牛顿法:
  这里详细说一下牛顿法的基本原理和牛顿法的应用方式。牛顿法其实就是通过切线与x轴的交点不断更新切线的位置,直到达到曲线与x轴的交点得到方程解。在实际应用中我们因为常常要求解凸优化问题,也就是要求解函数一阶导数为0的位置,而牛顿法恰好可以给这种问题提供解决方法。实际应用中牛顿法首先选择一个点作为起始点,并进行一次二阶泰勒展开得到导数为0的点进行一个更新,直到达到要求,这时牛顿法也就成了二阶求解问题,比一阶方法更快。我们常常看到的x通常为一个多维向量,这也就引出了Hessian矩阵的概念(就是x的二阶导数矩阵)。缺点:牛顿法是定长迭代,没有步长因子,所以不能保证函数值稳定的下降,严重时甚至会失败。还有就是牛顿法要求函数一定是二阶可导的。而且计算Hessian矩阵的逆复杂度很大。
拟牛顿法: 不用二阶偏导而是构造出Hessian矩阵的近似正定对称矩阵的方法称为拟牛顿法。拟牛顿法的思路就是用一个特别的表达形式来模拟Hessian矩阵或者是他的逆使得表达式满足拟牛顿条件。主要有DFP法(逼近Hession的逆)、BFGS(直接逼近Hession矩阵)、 L-BFGS(可以减少BFGS所需的存储空间)。

18. 如果SVM模型欠拟合, 以下方法哪些可以改进模型 : (A)

A. 增大惩罚参数C的值
B. 减小惩罚参数C的值
C. 减小核系数(gamma参数)
答案:(A)
如果SVM模型欠拟合, 我们可以调高参数C的值, 使得模型复杂度上升。

19. SVM、LR、决策树的对比。

模型复杂度:SVM支持核函数,可处理线性非线性问题;LR模型简单,训练速度快,适合处理线性问题;决策树容易过拟合,需要进行剪枝。
损失函数:SVM hinge loss; LR L2正则化; Adaboost 指数损失。
数据敏感度:SVM添加容忍度对outlier不敏感,只关心支持向量,且需要先做归一化; LR对远点敏感。
数据量:数据量大就用LR,数据量小且特征少就用SVM非线性核。

20. 以下描述错误的是(C)

A. SVM是这样一个分类器,它寻找具有最小边缘的超平面,因此它也经常被称为最小边缘分类器
B. 在聚类分析当中,簇内的相似性越大,簇间的差别越大,聚类的效果就越差
C. 在决策树中,随着树中结点输变得太大,即使模型的训练误差还在继续降低,但是检验误差开始增大,这是出现了模型拟合不足的原因
D. 聚类分析可以看作是一种非监督的分类

21. 以下说法中正确的是(C)

A. SVM对噪声(如来自其他分部的噪声样本)具备鲁棒性
B. 在adaboost算法中,所有被分错样本的权重更新比例相同
C. boosting和bagging都是组合多个分类器投票的方法,二者都是根据单个分类器的正确率确定其权重
D. 给定n个数据点,如果其中一半用于训练,一半用户测试,则训练误差和测试误差之间的差别会随着n的增加而减少

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值