这次一定要弄懂-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=12margind=\frac{1}{2}margind=21margin

在这里插入图片描述

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

1-4 Hard Margin SVM 原问题推导

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

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

先讲解两个补充知识:

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

超平面的表达式的小细节

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

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

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

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

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

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

即:

{ ωTx+b≥0y=+1(正样本)ωTx+b&lt;0y=−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=∣Ax0+By0+Cz0+d∣A2+B2+C2 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=∣ωTx支撑向量+b∣∣∣w∣∣ d=\frac{|\bold{\omega^Tx_{支撑向量}}+b|}{||w||} d=wωTx+b
其中x为支撑向量的值

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值