【机器学习】支持向量机(SVM)原理基础

SVM基本型

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

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

样本空间中任意点 x \boldsymbol{x} x到超平面的距离可写为:
r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r=\frac{|\boldsymbol{w}^T\boldsymbol{x}+b|}{||\boldsymbol{w}||} r=wwTx+b
假设超平面将训练样本分类正确,即对于函数 f ( x ) = w T x + b f(x)=\boldsymbol{w}^T\boldsymbol{x}+b f(x)=wTx+b,类别 y = 1 y=1 y=1,则 w T x + b > 0 \boldsymbol{w}^T\boldsymbol{x}+b>0 wTx+b>0; y = − 1 y=-1 y=1,则 w T x + b < 0 \boldsymbol{w}^T\boldsymbol{x}+b<0 wTx+b<0,令:
{ w T x i + b ≥ + 1 , y i = + 1 w T x i + b ≤ − 1 , y i = − 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{*} { wTxi+b+1,yi=+1wTxi+b1,yi=1(*)

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

使得 w T x + b = ± 1 \boldsymbol{w}^T\boldsymbol{x}+b=\pm1 wTx+b=±1成立的训练样本点被称作支持向量,两个异类支持向量到超平面的距离之和为:
Υ = 2 ∣ ∣ w ∣ ∣ \Upsilon=\frac{2}{||\boldsymbol{w}||} Υ=w2
被称为“间隔”
在这里插入图片描述
所以回到最初的目的:找到具有“最大间隔”的划分超平面,也就是找到满足 ( ∗ ) (\ast) ()中约束的参数 w , b \boldsymbol{w},b w,b,使得 Υ \Upsilon Υ最大,即:
m a x w , b 2 ∣ ∣ w ∣ ∣ s . t . y i ( w T x i + 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 maxw,bw2s.t.yi(wTxi+b)1,i=1,2,...,m
上式显然可重写为:
m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w T x i + 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 w,bmin21w2s.t.yi(wTxi+b)1,i=1,2,...,m
这就是支持向量机的基本型

对偶问题

待更新

参考

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

猜你喜欢

转载自blog.csdn.net/i0o0iW/article/details/108179634
今日推荐