支持向量机SVM(一):基本概念、目标函数的推导

本文旨在介绍支持向量机(SVM)的基本概念并解释SVM中的一个关键问题:

为什么SVM目标函数中的函数间隔取1?

一、分类问题

给定N个分属两类的样本,给出一个决策边界使得边界一侧只含一种样本(如下图) 

图1

 从直观上讲,两种样本集被分开的“间隔”越大表示分类效果越好,如下图中,边界2的效果显然是最好的

传统的方法来计算间隔时,一般考虑所有样本点,比如可以使用样本集中所有样本点到决策边界的距离和来作为这个样本集到决策边界的距离。由于考虑了所有样本,因此这么做的一个缺点在于对离群值(outlier)十分敏感

我们发现确定决策边界的过程中,最重要的点是两个样本集之间距离靠的最近的那些点,是否可以只利用这些点来给出决策边界呢?SVM就是基于这一点产生的分类技术。

二、SVM相关的数学概念

由于SVM中包含大量数学推导,因此想要完全理解SVM就必须先理解SVM中涉及到的数学概念。

超平面(hyperplane)

上图给出的例子中,样本是二维平面中的点,由(X1, X2)来描述,而决策边界由一条的直线来描述,这条直线将平面分成了两部分。

实际问题中涉及到的样本往往是多维的,比如学生=[学号,姓名,地址,...],因此需要给出一个更一般的定义。

超平面是n维空间中n-1维的子空间,由方程a1x1++anxn=b来确定(其中a1,,an是不全为零的常数)

超平面将n维空间分成了两部分,比如二维空间R2中,a1x1+a2x2=b表示的直线就是二维空间中的一个超平面,它将平面分为了两部分。

而三维空间R3中,a1x1+a2x2+a3x3=b表示的平面是三维空间的一个超平面,它将三维空间分为两部分,如下图

在数据分析领域,一般将d维空间中的样本表示为(xi,yi)xi=(xi1,xi2,...,xid)表示一个d维的向量,yi={1,1}表示xi所属的类别

例如,二维空间中((1, 1), 1)表示点(1,1)属于类别1。

yi是样本所属的标签,理论上可以取任何值,如{apple, orange},但为了方便接下来的数学计算,设为{-1,1}

超平面被称为决策边界,一般写成如下的形式:

wTx+b=0

其中w=(w1,...,wd)b是一个常数,称为偏移量

例如,在二维空间中2x1+x2+1=0就是一个决策边界,其中w=(2,1)b=1

注意:

  1. 不要把w理解为斜率,b理解为截距
  2. 由于w,b可以同比缩放,因此同一个超平面有多种表示方式,如2x1+x2+1=04x1+2x2+2=0表示同一个超平面

超平面的性质

如果xa,xb是超平面上wTx+b=0上的点,则

wTxa+b=0

wTxb+b=0

相减得到

wT(xaxb)=0

因为xa,xb是超平面上的点,xaxb就是一个平行于超平面的向量。由于点积为零,所以w垂直于超平面,即w表示超平面wTx+b=0的一个法向量

点到超平面的距离

ab上的投影公式:

下图中,A是超平面上一点,点P是超平面外一点

P到超平面α的距离为AP在法向量n方向上投影的绝对值,即

d=|AP·n||n|

因此,设x是超平面外一点,x0是超平面内一点,法向量为w,则x到超平面wTx+b=0的距离为:

d=|wT(xx0)|||w||=|wTx+b|||w||

这里||·||表示L2范数,||w||2=|w1|2+|w1|2+...+|wd|2

同时,这里可以看出,如果点x在超平面wTx+b=0的“上方”(w指向的那一侧),则xx0w的夹角θ[0,π2)(图中APn的夹角),因此wTx+b=wT(xx0)=|w|·|xx0|·cosθ>0

同理, 如果点x在超平面wTx+b=0的“下方”,wTx+b<0

三、 SVM分类器

SVM分类器的目标是给出一个决策边界(超平面)将样本正确地分为两类,且该决策边界拥有最大的边缘

决策边界

首先,我们需要找出正确分类的超平面,即对于所有样本(xi,yi),满足yi=1xi都在超平面的一侧,而满足yi=1xi都在超平面的另一侧

一般来说,我们希望yi=1的样本都在超平面上方,yi=1的样本都在超平面下方

需要注意的是“上方”和“下方”并不是视觉上的超平面上面或下面,而是以超平面的法向量w指向的方向为上方,反之为下方

根据之前的计算,我们知道:

wTx+b>0 ⇔ 点x在超平面wTx+b=0的上方

wTx+b<0 ⇔ 点x在超平面wTx+b=0的下方

因此,当超平面w^Tx+b正确分类时,对所有样本(xi,yi): 

wTxi+b>0,yi=1

wTxi+b<0,yi=1

这时将yi定义为{-1,1}的方便之处就体现出来了,上述约束可以简化为:

yi(wTxi+b)>0,i

函数间隔、几何间隔

xi到超平面的距离d=|wTxi+b|||w||,我们将其称为xi到超平面的几何间隔γ

当超平面正确分类时,上式也可以写成:γ=yi(wTxi+b)||w||,同时,我们将yi(wTxi+b)称为xi到超平面的函数间隔γ'

因此,我们得到γ=γ·||w|| 

同一个超平面有多种表示方式,如:w1Tx+b1=02w1Tx+2b1=0,因此即使是同一个超平面,xi的函数间隔γ'也和表示超平面的w,b有关,

对于一个确定超平面,xi到超平面的几何间隔表示点到超平面的实际距离,这是一个定值,和超平面的表示方式无关

例:样本点(x1,y1)= ((1, 1), 1),样本点(x2,y2)= ((-1, -1), -1),决策边界xi1+xi21=0,即w=(1,1),b=1,如下图

对于x1γ=y1(wT·x1+b)=1(11+111)=1γ=γ1+1=22 

对于x2γ=y2(wT·x2+b)=1(11+111)=3γ=γ1+1=322

最大边缘

 

posted @   温柔的玉米  阅读(890)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示