~~~
支持向量机,因其英文名为support vector machine,故一般简称SVM,通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解
~~
间隔与支持向量
给定训练样本集 D={
(x1,y1),(x2,y2),…,(xm,ym)},yi∈{
−1,+1}D=\left\{\left(\boldsymbol{x}_{1}, y_{1}\right),\left(\boldsymbol{x}_{2}, y_{2}\right), \ldots,\left(\boldsymbol{x}_{m}, y_{m}\right)\right\}, y_{i} \in\{-1,+1\}D={
(x1,y1),(x2,y2),…,(xm,ym)},yi∈{
−1,+1}, 分类学习任务最基本的想法就是基于训练集D在样本空间中找到一个划分超平面
我们划分的这个超平面离两边的样本距离越大,说明划分的越好,我们对这种距离进行刻画。
在样本空间中, 划分超平面可通过如下线性方程来描述:
其中www为法向量, 决定了超平面的方向; b 为位移项, 决定了超平面与原点之间的距离. 显然, 划分超平面可被法向量w和位移b确定。 样本空间中任意点x到超平面的距离可写为:
r=∣wTx+b∣∥w∥ r=\frac{\left|\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b\right|}{\|\boldsymbol{w}\|} r=∥w∥∣∣wTx+b∣∣{
wTxi+b⩾+1,amp;yi=+1wTxi+b⩽−1,amp;yi=−1 \left\{\begin{array}{ll}{\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b \geqslant+1,} & {y_{i}=+1} \\ {\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b \leqslant-1,} & {y_{i}=-1}\end{array}\right. {
wTxi+b⩾+1,wTxi+b⩽−1,amp;yi=+1amp;yi=−1
距离超平面最近的这几个训练样本点使上式的等号成立, 他们被称为支持向量, 两个异类支持向量到超平面的距离之和为
γ=2∥w∥ \gamma=\frac{2}{\|\boldsymbol{w}\|} γ=∥w∥2
它被称为 “间隔”
如下图所示,中间的实线便是寻找到的最优超平面(Optimal Hyper Plane),其到两条虚线边界的距离相等,这个距离便是几何间隔γ\gammaγ,两条虚线间隔边界之间的距离等于2γ2\gamma2γ,而虚线间隔边界上的点则是支持向量。由于这些支持向量刚好在虚线间隔边界上,所以它们满足y(ωT+b)=1y( \omega^T+b)=1y(ωT+b)=1,而对于所有不是支持向量的点,则显然有y(ωT+b)>1y( \omega^T+b)>1y(ωT+b)>1。
欲找到具有最大间隔的划分超平面, 也就是要找到满足上式的约束的参数w和b, 使得γ\gammaγ最大, 即 maxw,b2∥w∥ s.t. yi(wTxi+b)⩾1,i=1,2,…,m \begin{array}{l}{\max _{\boldsymbol{w}, b} \frac{2}{\|\boldsymbol{w}\|}} \\ {\text { s.t. } y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right) \geqslant 1, \quad i=1,2, \ldots, m}\end{array} maxw,b