这次一定要弄懂-SVM-1- Hard Margin SVM的原问题推导

不信邪,决定挑战下自己的能力,努力弄懂SVM
因为SVM的内容太多,求解较为复杂,分为几个部分来写,分步来搞定

第一个部分主要是介绍SVM的算法核心思想,再根据最简单的线性可分的数据集推导出原问题。
以下内容都是自己一个一个字码出来,图都是自己徒手画出来的,请尊重劳动成果。

1-1 SVM的简介

SVM(Support vector machine)中文名为支撑向量机,可以用于解决分类问题,也可以解决回归问题,采用核技术可以解决非线性问题,适用于小样本和高维特征。

核心思想在于最大化分类间隔,以提升分类器的泛化性能。

解决线性可分的SVM叫做Hard Margin SVM
解决非线性可分的SVM叫做Soft Margin SVM

对于SVM的具体算法的推导从解决最简单的问题开始:对线性可分的数据集进行分类,即推导Hard Margin SVM

1-2 线性分类器

对于线性可分的数据集,比如
在这里插入图片描述
比如这样一个样本数据是线性可分的,同时,用于分割样本的直线有无数条,所以这样的问题由称之为不适定问题。

在这里插入图片描述
但是不同的决策边界对应的泛化能力是不同的,明显我们会认为,直线1比直线2,在分类时的泛化能力更好。
这是因为,直线1不仅对所有的样本进行了分类,而且离两个类的样本尽可能的远。这就是SVM的核心思想,。

1-3 SVM中的名词解释

支撑向量

SVM的核心思想是最大化分离间隔,关键是远离那些靠近决策边界的点。
那些距离决策边界最近的样本,称为支撑向量。

在这里插入图片描述
图中被加深的两个向量就是支撑向量,也就是距离决策边界最近的向量

分类间隔(margin)

支撑向量定义了一个边界区域,这个边界区域的距离叫做分类间隔(margin),我们要找的决策边界就是位于这个区域中间的那根线。

通过示意图可以看出,决策边界到支撑向量之间的距离 d = 1 2 m a r g i n d=\frac{1}{2}margin d=21margin

在这里插入图片描述

SVM要做的就是最大化d(即支撑向量到决策边界的距离),其实也是最大化margin,所以在吴恩达老师的机器学习课程中也将SVM称之为最大间隔分类器。

1-4 Hard Margin SVM 原问题推导

根据上面的过程,我们已经知道,要找的分类边界的要满足2个要求:
要求1:分类边界要保证样本正确分类
要求2:分类边界是距离支撑向量最远的直线,也就是margin或者d最大的直线

理解好两个要求的几何含义后,我们接下来要做的就是将几何含义翻译成数学表达,写出SVM要求解的原问题。

先讲解两个补充知识:

  • 超平面的表达式的小细节
  • 在已知决策边界的前提下,我们如何进行样本的类别预测

超平面的表达式的小细节

在线性可分的问题中,我们的决策边界是一个超平面,所以决策边界的表达式是 ω T x + b = 0 \bold{\omega}^T\bold{x}+b=0 ωTx+b=0
其中 ω \bold{\omega} ω称为权重向量,b称为偏置项。

这个表达式存在一个小细节,也就是
如果将确定的 ω \bold{\omega} ω和b乘上一个系数k,即 k ω T x + k b = 0 k\bold{\omega}^T\bold{x}+kb=0 kωTx+kb=0得到的还是同一个超平面,但是表达式不同的。

举个二维平面的例子,比如直线y=x+1与直线2y=2x+2,其实指的是同一条直线。

在这里我们先了解这样一个结论:
对于超平面的表达式, ω \bold{\omega} ω和b乘上一个系数后,得到的仍是原来的超平面。

在已知决策边界的前提下,我们如何进行样本的类别预测呢?

在SVM问题中,我们将正样本用+1表示,负样本用-1表示,只需要将 x \bold{x} x中的特征向量带入决策边界中,如果计算结果>0,则分为正样本,如果计算结果<0,则分为负样本。

即:

{ ω T x + b ≥ 0 y = + 1 ( 正 样 本 ) ω T x + b &lt; 0 y = − 1 ( 负 样 本 ) \left\{ \begin{array}{rcl} \bold{\omega}^T\bold{x}+b\ge0&amp; &amp;{y=+1(正样本)}\\ \bold{\omega}^T\bold{x}+b&lt;0&amp; &amp; {y=-1(负样本)}\\ \end{array} \right. {ωTx+b0ωTx+b<0y=+1()y=1()

要求2:让margin或者d最大

我们先将要求2翻译成数学语言。
既然要d最大,那我们就需要表示d的大小。

d是支撑向量到决策边界的距离,即点到直线的距离。
补充下点到直线的距离公式,以三维空间为例,
点(x0,y0,z0)到直线Ax+By+Cz+d=0的距离为:
d = ∣ A x 0 + B y 0 + C z 0 + d ∣ A 2 + B 2 + C 2 d=\frac{|Ax_0+By_0+Cz_0+d|}{\sqrt{A^2+B^2+C^2}} d=A2+B2+C2 Ax0+By0+Cz0+d

这里{A,B,C}对应的是权重向量 ω \bold{\omega} ω
d对应的是偏置项

由此我们可以推出更一般的情形下的距离表达:
分子是将点的坐标带入直线中的绝对值
分母是权重向量的膜

所以我们要求的d表示为:
d = ∣ ω T x 支 撑 向 量 + b ∣ ∣ ∣ w ∣ ∣ d=\frac{|\bold{\omega^Tx_{支撑向量}}+b|}{||w||} d=wωTx+b
其中x为支撑向量的值

我们要做的就是 max ⁡ ω , b d \max \limits_{\bold{\omega},b}d ω,bmaxd

要求1:保证样本正确分类

刚才我们算的d是支撑向量到决策边界的距离,如果想要保证所有样本都分类正确的话,则所有样本到决策边界的距离要大于d。

即:
∣ ω T x ( i ) + b ∣ ∣ ∣ w ∣ ∣ ⩾ ∣ ω T x 支 撑 向 量 + b ∣ ∣ ∣ w ∣ ∣ = d i=1,2,...m \frac{|\bold{\omega^Tx^{(i)}}+b|}{||w||} \geqslant \frac{|\bold{\omega^Tx_{支撑向量}}+b|}{||w||}=d \qquad \text{i=1,2,...m} wωTx(i)+bwωTx+b=di=1,2,...m

我们如果分成正负分样本进行表达的话,则可以写为:
{ ω T x ( i ) + b ∣ ∣ w ∣ ∣ ⩾ d ∀ y ( i ) = + 1 ω T x ( i ) + b ∣ ∣ w ∣ ∣ ⩽ − d ∀ y ( i ) = − 1 \left\{ \begin{array}{rcl} \frac{\bold{\omega^Tx^{(i)}}+b}{||w||} \geqslant d&amp; &amp;{\forall y^{(i)}=+1}\\ \frac{\bold{\omega^Tx^{(i)}}+b}{||w||} \leqslant -d&amp; &amp;{\forall y^{(i)}=-1}\\ \end{array} \right. {wωTx(i)+bdwωTx(i)+bdy(i)=+1y(i)=1

同时我们也我们就找到了上下两条边界线的表达式:
上边界: ω T x + b ∣ ∣ w ∣ ∣ = d \frac{\bold{\omega^Tx}+b}{||w||} =d wωTx+b=d
下边界: ω T x + b ∣ ∣ w ∣ ∣ = − d \frac{\bold{\omega^Tx}+b}{||w||} =-d wωTx+b=d

上下边界的表达式可以这样理解,我们之前是根据点到直线的距离,表达出支撑向量到决策边界的距离d。如果我们把d看作是已知量,就可以求出到决策边界距离为d的所有点的表达式,这些点构成的就是上下边界。

为了看起来更方便,我们将上面的不等式左右同除以d,得到
{ ω T x ( i ) + b ∣ ∣ w ∣ ∣ d ⩾ 1 ∀ y ( i ) = + 1 i = 1 , 2 , . . . m ω T x ( i ) + b ∣ ∣ w ∣ ∣ d ⩽ − 1 ∀ y ( i ) = − 1 i = 1 , 2 , . . . m \left\{ \begin{array}{rcl} \frac{\bold{\omega^Tx^{(i)}}+b}{||w||d} \geqslant 1&amp; &amp;{\forall y^{(i)}=+1}&amp; &amp;i=1,2,...m\\ \frac{\bold{\omega^Tx^{(i)}}+b}{||w||d} \leqslant -1&amp; &amp;{\forall y^{(i)}=-1}&amp; &amp;i=1,2,...m\\ \end{array} \right. {wdωTx(i)+b1wdωTx(i)+b1y(i)=+1y(i)=1i=1,2,...mi=1,2,...m
于是,上下两条边界线的表达式也可以写成下面的形式:
上边界: ω T x + b ∣ ∣ w ∣ ∣ d = 1 \frac{\bold{\omega^Tx}+b}{||w||d} =1 wdωTx+b=1
下边界: ω T x + b ∣ ∣ w ∣ ∣ d = − 1 \frac{\bold{\omega^Tx}+b}{||w||d} =-1 wdωTx+b=1
实际上就是将原来的边界表达式同时除以d。

接下来的化简要用到前面说到的超平面表达式的小细节。
我们设 ω d = ω ∣ ∣ ω ∣ ∣ d \omega_d =\frac{\omega}{||\omega||d} ωd=ωdω b d = b ∣ ∣ ω ∣ ∣ d b_d=\frac{b}{||\omega||d} bd=ωdb
也就是将我们原来假设决策边界时用到的参数 ω \omega ω b b b除以 ∣ ∣ ω ∣ ∣ d ||\omega||d ωd,并分别用 ω d \omega_d ωd b d b_d bd来表示。

你会发现,原来的决策边界表达式 ω T x + b = 0 \bold{\omega}^T\bold{x}+b=0 ωTx+b=0 ω d T x + b d = 0 \bold{\omega_d}^T\bold{x}+b_d=0 ωdTx+bd=0其实表达的是用一个决策边界。而用 ω d \omega_d ωd b d b_d bd分别代替 ω \omega ω b b b的好处在于,刚才表达的上下边界就可以简写:
上边界: ω d T x + b d = 1 \bold{\omega_d}^T\bold{x}+b_d=1 ωdTx+bd=1
下边界: ω d T x + b d = − 1 \bold{\omega_d}^T\bold{x}+b_d=-1 ωdTx+bd=1

此时支持向量机的关键的三个表达式的示意图为:
在这里插入图片描述
为了方便后续的书写,我们直接用 ω \omega ω b b b代替上面的 ω b \omega_b ωb b d b_d bd

根据上图我们就可以总结出要求一:保证样本正确分类的数学表达式。
{ ω T x ( i ) + b   ⩾ 1 ∀ y ( i ) = + 1 i = 1 , 2 , . . . m ω T x ( i ) + b ⩽ − 1 ∀ y ( i ) = − 1 i = 1 , 2 , . . . m \left\{ \begin{array}{rcl} \bold{\omega}^T\bold{x^{(i)}}+b\ \geqslant1&amp; &amp;{\forall y^{(i)}=+1}&amp; &amp;i=1,2,...m\\ \bold{\omega}^T\bold{x^{(i)}}+b\leqslant -1&amp; &amp;{\forall y^{(i)}=-1}&amp; &amp;i=1,2,...m\\ \end{array} \right. {ωTx(i)+b 1ωTx(i)+b1y(i)=+1y(i)=1i=1,2,...mi=1,2,...m
因为正样本都在上边界的上面,负样本都在下边界的下面

接下来,我们将上面的两个式子合并成一个表达式
y ( i ) ( ω T x ( i ) + b ) ⩾ 1 i=1,2,...m y^{(i)}(\bold{\omega}^T\bold{x^{(i)}}+b)\geqslant1 \quad\text{i=1,2,...m} y(i)(ωTx(i)+b)1i=1,2,...m
可以自己验证下,还是蛮简单的,这就是要求一的最终表达。

总结出Hard Margin SVM的原问题

我们先梳理下我们已知的内容。
Hard Margin SVM要满足2个要求
要求1:保证样本正确分类,对应的数学表达式为
y ( i ) ( ω T x ( i ) + b ) ⩾ 1 i=1,2,...m y^{(i)}(\bold{\omega}^T\bold{x^{(i)}}+b)\geqslant1 \quad\text{i=1,2,...m} y(i)(ωTx(i)+b)1i=1,2,...m
要求2:让margin或者d最大,对应的数学表达式为 max ⁡ ω , b d = max ⁡ ω , b ∣ ω T x 支 撑 向 量 + b ∣ ∣ ∣ w ∣ ∣ \max \limits_{\bold{\omega},b}d=\max \limits_{\bold{\omega},b}\frac{|\bold{\omega^Tx_{支撑向量}}+b|}{||w||} ω,bmaxd=ω,bmaxwωTx+b
这个表达式还可以进一步简化。

简化过程
在要求1的推导过程中,我们已经知道
上下边界的表达式 ω T x + b = ± 1 \bold{\omega}^T\bold{x}+b=\pm1 ωTx+b=±1

而支撑向量就在上下边界上,所以把支撑向量的值带入 ω T x + b \omega^Tx+b ωTx+b中,等于 ± 1 \pm 1 ±1。也就是 ∣ ω T x 支 撑 向 量 + b ∣ = 1 |\bold{\omega^Tx_{支撑向量}}+b|=1 ωTx+b=1

所以上式可以继续化简为 max ⁡ ω , b 1 ∣ ∣ w ∣ ∣ \max \limits_{\bold{\omega},b}\frac{1}{||w||} ω,bmaxw1
max ⁡ ω 1 ∣ ∣ w ∣ ∣ \max \limits_{\bold{\omega}}\frac{1}{||w||} ωmaxw1也就是求 min ⁡ ω ∣ ∣ ω ∣ ∣ \min \limits_{\bold{\omega}}||\omega|| ωminω,为了方便我们之后计算的方便,我们求 min ⁡ ω ∣ ∣ ω ∣ ∣ 2 2 \min \limits_{\bold{\omega}}\frac{||\omega||^2}{2} ωmin2ω2

最终总结下Hard Margin SVM的原问题就是在保证样本正确分类的前提下,最大化边界距离。翻译成对应的数学语言就是
min ⁡ ω ∣ ∣ ω ∣ ∣ 2 2 \min \limits_{\bold{\omega}}\frac{||\omega||^2}{2} ωmin2ω2
s . t . y ( i ) ( ω T x ( i ) + b ) ⩾ 1 i=1,2,...m s.t.\quad y^{(i)}(\bold{\omega}^T\bold{x^{(i)}}+b)\geqslant1 \quad\text{i=1,2,...m} s.t.y(i)(ωTx(i)+b)1i=1,2,...m

我们会发现,这是一个带不等式约束的最小化问题,具体要如何求解,才能确定出 ω \omega ω b b b呢?这就涉及到解决不等式约束的最值问题的解决方法:拉格朗日乘子法、拉格朗日对偶、KKT条件…

等我学懂了,继续写下去

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值