介绍一下SVM
(1)简单介绍一下SVM
支持向量机(support vector machines,SVM)是一种二分类模型。分为
线性可分支持向量机:训练数据线性可分,通过硬间隔最大化学习一个线性的分类器,又称为硬间隔支持向量机。
线性支持向量机:训练数据近似线性可分,通过软间隔最大化学习一个线性的分类器,又称为软间隔支持向量机。
非线性支持向量机:训练数据线性不可分,通过核技巧及软间隔最大化,学习非线性支持向量机。(核技巧:当输入空间为欧式空间或离散集合、特征空间为希尔伯特空间时,核函数表示将输入空间映射到特征空间得到的特征向量之间的内积。通过使用核函数,可以学习非线性支持向量机,等价于隐式地在高维的特征空间中学习线性支持向量机)
它的基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器。是一个原始最大间隔最优化问题,通过对偶算法,即先转为拉格朗日函数问题,再将拉格朗日函数转为求其对偶问题,即将朗格朗日优化问题中的 min(max) 求解顺序对调,变为max(min)。
(2)支持向量机SVM、逻辑回归LR、决策树DT的直观对比和理论对比,该如何选择?
- 直观区别
逻辑回归:逻辑回归的决策边界总是一条直线(或者一个平面,在更高维度上是超平面),逻辑回归方法得到的决策边界总是线性的,并不能得到这里需要的环状边界。因此,逻辑回归适用于处理接近线性可分的分类问题。
决策树:决策树是按照层次结构的规则生成的,决策规则只是用平行于轴线的直线将特征空间切分,如果边界是非线性的,并且能通过不断将特征空间切分为矩形来模拟,那么决策树是比逻辑回归更好的选择。
SVM:SVM是通过把特征空间映射到核空间,使得各个类别线性可分。先提升特征的维度,在高纬度用一个平面来分割数据(线性分类器),这个平面映射回原来的二维特征空间,就能得到一个环状的决策边界。
- 理论区别
模型复杂度:SVM 支持核函数,可处理线性非线性问题,既可以用于分类问题,也可以用于回归问题;LR 模型简单,训练速度快,适合处理线性问题,非线性问题需要转换,适用于二分类问题;决策树也能处理非线性特征,但容易过拟合,需要进行剪枝,适用于多分类问题。
损失函数:SVM hinge loss; 带L2正则化的LR对应的是cross entropy loss,不带的是正则化的是log loss; 决策树的损失函数由叶节点上的经验熵决定。
数据量:LR和决策树都适合用于数据量大的情况,SVM在样本数据量较大需要较长训练时间,因此更适用于数据量小的情况
敏感度:LR对缺失值敏感,不能有缺失值;SVM噪声不能太多,对缺失数据敏感;决策树对缺失数据不敏感
(3)SVM为什么采用间隔最大化
当训练数据线性可分时,存在无穷个分离超平面可以将两类数据正确分开。感知机利用误分类最小策略,求得分离超平面,不过此时的解有无穷多个。线性可分支持向量机利用间隔最大化求得最优分离超平面,这时,解是唯一的。另一方面,此时的分隔超平面所产生的分类结果是最鲁棒的,对未知实例的泛化能力最强。可以借此机会阐述一下几何间隔以及函数间隔的关系。
(4)为什么要将求解SVM的原始问题转换为其对偶问题
对偶问题往往更易求解,当我们寻找约束存在时的最优点的时候,约束的存在虽然减小了需要搜寻的范围,但是却使问题变得更加复杂。为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,即拉格朗日函数,再通过这个函数来寻找最优点。
可以自然引入核函数,进而推广到非线性分类问题
(5)为什么 SVM 要引入核函数
当样本在原始空间线性不可分时,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。
(6)为什么SVM对缺失数据敏感
这里说的缺失数据是指缺失某些特征数据,向量数据不完整。SVM 没有处理缺失值的策略。
(7)SVM 核函数之间的区别
一般选择线性核和高斯核,也就是线性核与 RBF 核。
线性核:主要用于线性可分的情形,参数少,速度快,对于一般数据,分类效果已经很理想了。
径向基RBF核:主要用于线性不可分的情形,参数多,分类结果非常依赖于参数。如果Feature 的数量很大,跟样本数量差不多,这时候选用线性核的 SVM。 如果 Feature的数量比较小,样本数量一般,不算大也不算小,选用高斯核的 SVM。