SVM基本型

假设数据集中有下图所示的两类样本,分类问题就是在样本空间中找到一条划分的直线(3维中的平面;N维中的N-1维超平面)将不同的样本分开,在下图中有无数条直线可以做到分开样本。
【机器学习】支持向量机(SVM)原理基础
但是我们需要在所有的划分直线中取一个最优的。直观上感受,应该使用距离样本上最近的点最远的直线(在两类样本“正中间”)。因为这种划分对训练样本的分类结果鲁棒性更好,泛化能力更强。比如上图左侧新增的两个样本点,只有黑色和粉色直线能对其进行正确的分类,其他直线都出现分类错误。

更形式化的表示,在样本空间中超平面的方程如下:
wTx+b=0 \boldsymbol{w}^T\boldsymbol{x}+b=0
其中w=(w1;w2;w3;...;wd)\boldsymbol{w}=(w_1;w_2;w_3;...;w_d)为法向量,决定超平面方向;bb为位移项,决定超平面与原点之间的距离。

样本空间中任意点x\boldsymbol{x}到超平面的距离可写为:
r=wTx+bw r=\frac{|\boldsymbol{w}^T\boldsymbol{x}+b|}{||\boldsymbol{w}||}
假设超平面将训练样本分类正确,即对于函数f(x)=wTx+bf(x)=\boldsymbol{w}^T\boldsymbol{x}+b,类别y=1y=1,则wTx+b>0\boldsymbol{w}^T\boldsymbol{x}+b>0;y=1y=-1,则wTx+b<0\boldsymbol{w}^T\boldsymbol{x}+b<0,令:
{wTxi+b+1,yi=+1wTxi+b1,yi=1(*) \left\{ \begin{aligned} \boldsymbol{w}^T\boldsymbol{x_i}+b\geq+1,y_i=+1\\ \boldsymbol{w}^T\boldsymbol{x_i}+b\leq-1,y_i=-1\\ \end{aligned} \right.\tag{*}

这里也就是令靠近超平面的点分布在wTx+b=±1\boldsymbol{w}^T\boldsymbol{x}+b=\pm1上,之所以取值为1是为了方便后边的推导,不影响最后优化的过程

使得wTx+b=±1\boldsymbol{w}^T\boldsymbol{x}+b=\pm1成立的训练样本点被称作支持向量,两个异类支持向量到超平面的距离之和为:
Υ=2w \Upsilon=\frac{2}{||\boldsymbol{w}||}
被称为“间隔”
【机器学习】支持向量机(SVM)原理基础
所以回到最初的目的:找到具有“最大间隔”的划分超平面,也就是找到满足()(\ast)中约束的参数w,b\boldsymbol{w},b,使得Υ\Upsilon最大,即:
maxw,b2ws.t.yi(wTxi+b)1,i=1,2,...,m max_{\boldsymbol{w},b}\frac{2}{||\boldsymbol{w}||}\\ s.t. y_i(\boldsymbol{w}^T\boldsymbol{x_i}+b)\geq1,i=1,2,...,m
上式显然可重写为:
minw,b12w2s.t.yi(wTxi+b)1,i=1,2,...,m \mathop{min}\limits_{\boldsymbol{w},b}\frac{1}{2}||\boldsymbol{w}||^2\\ s.t. y_i(\boldsymbol{w}^T\boldsymbol{x_i}+b)\geq1,i=1,2,...,m
这就是支持向量机的基本型

对偶问题

待更新

参考

周志华《机器学习》
机器学习中的算法(2)-支持向量机(SVM)基础
支持向量机通俗导论(理解SVM的三层境界)
【机器学习】支持向量机SVM原理及推导

相关文章: