SVM十问十答

什么是线性分类器?

线性分类器试图通过训练集中的样本得出一个分类超平面,目标是最大程度地区分训练集中不同类别的样本,最终把这个分类超平面应用于新样本的分类。

SVM相比一般的线性分类器有什么不同?

SVM以最大化不同类别之间的间隔为优化目标。

SVM和逻辑回归有什么区别?

  • 逻辑回归通过sigmoid函数缩小了远离分类超平面那些点的信息,而SVM直接忽略了那些点的信息。
  • 逻辑回归输出样本归属于某一类别的概率,而SVM无法直接输出这一概率。

最大化间隔会带来什么好处?

间隔与分类问题的结构风险有关,最大化间隔等于最小化结构风险,从而得到一个更好的分类器。

什么是结构风险?

结构风险是经验风险和置信风险的和。
通常人们在构建一个分类器的时候,首先会关注这个分类器在当前的训练集上的分类误差,误差越小,经验风险也就越小,说明模型越好地拟合了经验。但是仅仅追求分类器在训练集上的性能最优,就会带来过拟合的问题,造成分类器在训练集上天下无双,遇到真实问题却一塌糊涂的现象。于是人们又提出了第二个指标,用来衡量一个分类器的泛化能力,称之为置信风险,大白话就是我能多大程度上信任这个模型,去帮我解决新样本的问题。然而置信风险是很难精确衡量的,目前只能给出一个区间,而模型越简单,置信风险也就越小。

什么是支持向量?

最大化间隔在正样本和负样本的集合上各形成一个边界,位于这两个边界上的样本就是支持向量。后续新样本的分类就只依赖于这些支持向量的信息,从而降低了存储和计算的复杂性。

为什么要变换问题的形式?

为了凑成一个二次规划问题,从而能保证求出全局惟一的最优解。

为什么要转换成拉格朗日对偶问题?

转换为对偶问题能得到更高效的解法,也方便了核函数的引入。

SVM怎么解决线性不可分的问题?

特征空间向更高维的投射可以使原来特征空间里的曲线转化成直线,也就是我们可以获得一个在更高维空间的线性可分问题,同样的也在这个更高维的空间里判断新的样本。

核函数有什么作用?

特征空间升维之后,维数是非线性膨胀的(2维变5维,3维变19维……),很容易造成维灾难。核函数想办法让你在原属性的空间里计算高维空间的决策边界。

标注差错的情况怎么处理?

通过软边缘(Soft Margin)。为所有不满足条件的约束条件引入一个松弛变量,同时在目标函数添加一个惩罚项。惩罚项的乘数因子C在训练中利用试错法确定。

怎样进行多分类?

两种办法:一是「一对其余」,即把每个类别和其余所有类别分别作为正负样本输入;二是「一对一」,两两类别比较后看落入哪一类别,再拿这个类别与第三个类别比较。