Skip to content
BaiRuic
Go back

支持向量机引入

目录
支持向量机系列导航
  1. 支持向量机引入 ← 当前
  2. 线性可分支持向量机
  3. 支持向量机的对偶算法
  4. 线性支持向量机
  5. 非线性支持向量机
  6. sklearn-SVM 参数理解

本系列介绍支持向量机的基本概念、数学推导、核技巧以及实际使用。

先验知识

分离超平面定理

分离超平面定理:可以用超平面分离不相交的凸集.最基本的结果是分离超平面定理和支撑超平面定理.

**分离超平面定理 **如果CC 和DD 是不相交的两个凸集,则存在非零向量aa 和常数bb,使得

aTx≤b,        ∀x∈C,        且  xTx≥b,∀x∈Da^Tx\leq b, \;\;\;\;\forall x\in C, \;\;\;\;且\; x^Tx \geq b,\forall x \in D

如下图,超平面{x∣xTx=b}\{x|x^Tx=b\}分离了凸集 CC和DD

分离超平面

**严格分离定理 **设CC 是闭凸集,点 x0∉Cx_0 \notin C,则存在非零向量aa 和常数bb,使得

aTx<b,∀x∈C, 且 aTx0>ba^{\mathrm{T}} x<b, \forall x \in C, \quad \text { 且 } \quad a^{\mathrm{T}} x_{0}>b

上述严格分离定理要求点x0∉C,x_0 \notin C, 当点x0x_0 恰好在凸集CC 的边界上时,我们可以构造支撑超平面.

**定义:支撑超平面 **给定集合CC 及其边界上一点x0x_0,如果a≠0a \neq 0满足aTx≤aTx0,∀x∈Ca^Tx \leq a^Tx_0, ∀x ∈ C,那么称集合

{x∣aTx=aTx0}\left\{x \mid a^{\mathrm{T}} x=a^{\mathrm{T}} x_{0}\right\}

为CC在边界点x0x_0 处的支撑超平面,如下图

支持向量机 - Untitled 1

因此,点x0x_0 和集合CC 也被该超平面分开.从几何上来说,超平面{x∣aTx=aTx0}\{ x | aTx = a^Tx_0 \} 与集合CC 在点x0x_0处相切并且半空间{x∣aTx≤aTx0}\{x |a^Tx \leq a^Tx_0\} 包含CC.

根据凸集的分离超平面定理,我们有如下支撑超平面定理.

**支撑超平面定理 **如果CC是凸集,则在CC的任意边界点处都存在支撑超平面.

支撑超平面定理有非常强的几何直观:给定一个平面后,可把凸集边界上的任意一点当成支撑点将凸集放置在该平面上

整体脉络

SVM是一种二分类模型,基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使之区别于感知机(PLA)。若不能完全线性可分,则分两种情况

  1. 有少许误差导致
  2. 完全非线性可分

针对以上两类分别衍生出软间隔SVM 和 引入核函数的SVM

与感知机(PLA)区别与联系如下图:

线性可分有一点点错误严格非线性PLAPocket PLAϕ(⋅)+PLAHard-Margin SVMSoft-Margin SVMϕ(⋅)+Hard-Margin SVM\begin{array}{ccc}\hline \text{线性可分}&\text{有一点点错误}&\text{严格非线性}\\\hline \text{PLA}&\text{Pocket PLA}&\phi(\cdot)\text{+PLA}\\\hline \text{Hard-Margin SVM}&\text{Soft-Margin SVM}&\phi(\cdot)\text{+Hard-Margin SVM}\\\hline \end{array}
💡

感知机器得到的超平面是有无数多个的,尽管每一个超平面都可以在训练集上将样本正确的分类,但有些超平面对某个噪声是很敏感的,就是他的鲁棒性并不是那么好。话句话说就是并不是每一个超平面都能在测试集上表现的很好。 我们的机器学习算法不仅关注训练误差,更要关注期望损失,或者说泛化误差。 所以支持向量机旨在找到一个最佳的超平面,这个超平面在训练集上,从几何的角度看,它处于最最中间,距离所有的样本间隔最大。

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)及软间隔最大化,学习非线性支待向量机。

参考

《最优化:建模、算法与理论》刘浩洋、户将、李勇锋、文再文编著

《统计学习方法》李航著