支持向量机
先验知识
分离超平面定理
分离超平面定理:可以用超平面分离不相交的凸集.最基本的结果是分离超平面定理和支撑超平面定理.
分离超平面定理 如果 和 是不相交的两个凸集,则存在非零向量 和常数,使得
如下图,超平面分离了凸集 和

严格分离定理 设 是闭凸集,点 ,则存在非零向量 和常数,使得
上述严格分离定理要求点 当点 恰好在凸集 的边界上时,我们可以构造支撑超平面.
定义:支撑超平面 给定集合 及其边界上一点,如果满足,那么称集合
为在边界点 处的支撑超平面,如下图

因此,点 和集合 也被该超平面分开.从几何上来说,超平面 与集合 在点处相切并且半空间 包含.
根据凸集的分离超平面定理,我们有如下支撑超平面定理.
支撑超平面定理 如果是凸集,则在的任意边界点处都存在支撑超平面.
支撑超平面定理有非常强的几何直观:给定一个平面后,可把凸集边界上的任意一点当成支撑点将凸集放置在该平面上
整体脉络
SVM是一种二分类模型,基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使之区别于感知机(PLA)。若不能完全线性可分,则分两种情况
- 有少许误差导致
- 完全非线性可分
针对以上两类分别衍生出软间隔SVM 和 引入核函数的SVM
与感知机(PLA)区别与联系如下图:
感知机器得到的超平面是有无数多个的,尽管每一个超平面都可以在训练集上将样本正确的分类,但有些超平面对某个噪声是很敏感的,就是他的鲁棒性并不是那么好。话句话说就是并不是每一个超平面都能在测试集上表现的很好。
我们的机器学习算法不仅关注训练误差,更要关注期望损失,或者说泛化误差。
所以支持向量机旨在找到一个最佳的超平面,这个超平面在训练集上,从几何的角度看,它处于最最中间,距离所有的样本间隔最大。
SVM的学习策略就是间隔最大化,可形式化为一个求解凸二次规划问题。学习算法就是凸二次规划的最优化算法。
支持向量机学习方法包含构建由简至繁的模型:线性可分支持向量机(linear support vector machine in linearly separable case)、线性支持向量机(linear support vector machine)以及非线性支持向量机(non-linear support vector machine)。简单模型是复杂模型的基础,也是复杂模型的特殊情况。
当训练数据线性可分时,通过硬间隔最大化(hard margin maximization) ,学习一个线性的分类器,即线性可分支持向量机,又称为硬间隔支持向量机;当训练数据近似线性可分时,通过软间隔最大化(soft margin maximization),也学习一个线性的分类器,即线性支待向量机,又称为软间隔支持向量机;当训练数据线性不可分时,通过使用核技巧(kernel trick)及软间隔最大化,学习非线性支待向量机。
参考
《最优化:建模、算法与理论》刘浩洋、户将、李勇锋、文再文编著
《统计学习方法》李航著