目录
Q2:什么是支持向量?alpha什么时候为0,什么时候不为0?
支持向量机
Q1:什么是SVM?
支持向量机(SVM)本质上是一种二分类模型,它的基本模型是通过在特征空间中寻找一个间隔最大化的分割超平面来进行线性分类的分类器模型。
它进行分割的策略主要有三种:
- 当训练样本线性可分时,通过硬间隔最大化学习一个线性分类器(线性可分SVM)进行处理的;
- 当训练样本近似线性可分时,通过引入松弛变量,通过软间隔最大化学习一个线性分类器(线性支持SVM)来处理;
- 当训练样本线性不可分时,通过使用核函数及软间隔最大化,学习非线性SVM。
Q2:什么是支持向量?alpha什么时候为0,什么时候不为0?
支持向量本质上也是向量,它是指特征空间内支撑分割超平面那些数据点。或者说是距离超平面分界线最近的那些点。超平面就是由这些点确定的,他们支撑着超平面。
- 当数据点在超平面分界线上时,alpha不等于0;
- 当数据点在超平面分界线上时,alpha等于0.
Q3:如何提高SVM泛化能力?
为了解决泛化能力不好这个问题,可以通过软间隔进行处理。所谓软间隔,就是通过引入松弛变量,使得SVM可以容忍超平面间隔内有异常点的存在。
Q4:SVM为什么要引入核函数?
引入核函数的目的主要是为了解决训练样本线性不可分的问题。通过引入核函数可以将原始数据映射到高维特征空间上,进而解决非线性的分类问题,然后进一步可以简化处理映射后的对偶问题。
对偶问题的解决,是通过找这样一个核函数来解决的,核函数=前后样本间特征空间的内积。
常用的核函数:
- 线性核函数
- 多项式核函数
- 高斯核函数
- 拉普拉斯核函数
- Sigmoid核函数
Q5:SVM中引入SMO算法是为了解决什么问题?
SMO算法为了简化使用拉格朗日乘子法转换后所获得的关于alpha的函数的求解。求出alpha同时为避免通用的二次规划算法可能会造成巨大的开销,因此引入了SMO算法。
Q6:SVM有什么优缺点?
SVM的优点:
- 可以使用核函数将原始数据映射到高维的特征空间上,进而解决非线性的分类问题;
- SVM的分类思想很简单,就是将样本与分类面的间隔最大化
- SVM的分类效果较好;
SVM的缺点:
- 对某些缺失数据敏感,对核函数的选择也很敏感
- SVM无法直接支持多分类任务,但是可通过间接的方法来实现多分类(这点跟逻辑回归的分类思想很像,间接的多分类方法有一对一、一对其余、多对多这三种拆分策略);