
机器学习/数据挖掘面试问题——第6章 支持向量机
是一种有监督的二分类算法,在样本空间中找到一个划分超平面,将不同类别的样本分开的算法。进行分割的策略主要有三种:当训练样本线性可分时,硬间隔最大化,学习一个线性分类器。当训练样本近似线性可分时,引入松弛变量,软间隔最大化,学习一个线性分类器。当训练样本线性不可分时,通过核函数和软间隔最大化,学习非线性SVM。当样本线性不可分时,可以将样本从原始空间映射到一个更高维度的空间,使得在这个特征空间线性可
学习路线参考《机器学习》周志华
其他参考书:《机器学习实战》《数据挖掘》《百面机器学习》
还在更新ing...
1.什么是支持向量机?
是一种有监督的二分类算法,在样本空间中找到一个划分超平面,将不同类别的样本分开的算法。
进行分割的策略主要有三种:
当训练样本线性可分时,硬间隔最大化,学习一个线性分类器。
当训练样本近似线性可分时,引入松弛变量,软间隔最大化,学习一个线性分类器。
当训练样本线性不可分时,通过核函数和软间隔最大化,学习非线性SVM。
2.SVM求解的基本模型是什么?
3.SVM的对偶问题是什么?
原问题是带约束的条件下最小化间隔,引入拉格朗日乘子后,该问题的拉格朗日问题可以写为
对w、b求偏导得到w、b的估计值
将其代入损失函数,可以得到对偶问题
4.SVM中的KKT条件是什么?
解释:
- 拉格朗日乘子
大于0。
- 为了保证解的唯一性,令支持向量
,当
时,
,当
时,
,所以有了第二个条件。
- 第三个条件是松弛互补条件,强对偶关系就可以得到以上的KKT条件(直接用这个结论)
5.为什么SVM模型最终只与支持向量有关?
由于SVM求解时,一定满足KKT条件,也就是总有或
。
SVM求解后的最终模型为
若,则该样本不会出现在上式中,也就不会对f(x)有任何影响。若
,则必有
,所对应的样本点位于最大间隔边界上,是一个支持向量。也就是训练完成后,大部分的训练样本都不需要保留,最终模型只跟支持向量有关。
6.什么是核技巧?什么是核函数?
当样本线性不可分时,可以将样本从原始空间映射到一个更高维度的空间,使得在这个特征空间线性可分。令表示将x映射后的特征向量,在特征空间中划分超平面所对应的模型可以表示为
,其对偶问题为
要求解上式,需要计算,但是特征空间维数可能很高,甚至是无穷维,直接求解很困难,为了避开这个障碍,可以找一个函数,它的计算结果等于
这种方法称为核技巧,其中的函数称为核函数
7.有哪些常用的核函数?
线性核、多项式核、高斯核、拉普拉斯核、Sigmoid核
8.什么是软间隔?
软间隔允许某些样本不满足约束,给这些不满足的样本赋一个损失值,加入优化目标中
但0/1损失函数非凸、非连续,数学性质不太好,可以用其他函数替代,称为替代损失,如
9.什么是松弛变量?
在软间隔SVM的优化目标中,不满足约束的样本采用hinge损失函数,优化目标变为
引入松弛变量,上式可以重写为
这就是软间隔SVM
10.《百面机器学习》中支持向量机的问题
10.1 在空间上线性可分的两类点,分别向SVM分类的超平面上做投影,这些点在超平面上的投影仍然线性可分吗?
不是
10.2 是否存在一组参数使SVM训练误差为0?
存在
10.3 训练误差为0是SVM分类器一定存在吗?
是
10.4 加入松弛变量的SVM的训练误差可以为0吗?
不一定
更多推荐
所有评论(0)