【机器学习系列】之SVM硬间隔和软间隔

本文深入介绍了SVM中的硬间隔和软间隔概念。从超平面定义、点到直线距离、模型假设、间隔与支持向量等方面详细阐述了硬间隔SVM,接着探讨了硬间隔SVM的对偶问题,包括拉格朗日乘子法、求解过程以及优化目标。接着,文章引入了软间隔SVM,说明了为何在实际问题中需要软间隔,并通过引入松弛变量来处理不可分情况。最后,讨论了软间隔SVM的KKT条件和算法流程。
摘要由CSDN通过智能技术生成

作者:張張張張
github地址:https://github.com/zhanghekai
【转载请注明出处,谢谢!】

【机器学习系列】之SVM硬间隔和软间隔
【机器学习系列】之SVM核函数和SMO算法
【机器学习系列】之支持向量回归SVR
【机器学习系列】之sklearn实现SVM代码

SVM概述

假定给出训练样本集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } , y i ∈ { − 1 , + 1 } D=\{(x_1,y_1),(x_2,y_2),...,(x_m,y_m)\},y_i \in \{-1,+1\} D={ (x1,y1)(x2,y2)...(xm,ym)}yi{ 1+1},为二分类问题,其中y为分类标签,有两类分别为+1和-1。分类学习最基本的想法就是基于训练集D在样本空间中找到一个划分超平,将不同类别的样本分开,但能将训练样本分开的划分超平面可能有很多,我们应该找哪一条呢?如下图所示,图中红色的那个超平面是最好的,因为这个划分超平面所产生的分类结果是最鲁棒的,对未见示例的泛化能力最强。支持向量机SVM所要解决的事情就是找到这样一个鲁棒性最好的超平面。
在这里插入图片描述
SVM算法的主要优点:

  • 解决高维特征的分类问题和回归问题很有效,在特征维度大于样本数时依然有很好的效果。
  • 仅仅使用一部分支持向量来做超平面的决策无需依赖全部数据。
  • 有大量的核函数可以使用,从而可以很灵活的来解决各种非线性的分类回归问题。
  • 样本量不是海量数据的时候,分类准确率高,泛化能力强。

SVM算法的主要缺点:

  • 如果特征维度远远大于样本数,则SVM表现一般。
  • SVM在样本量非常大,核函数映射维度非常高时,计算量过大,不太适合使用。
  • 非线性问题的核函数的选择没有通用标准,难以选择一个合适的核函数。
  • SVM对缺失数据敏感。

一、硬间隔SVM基本型

1.超平面定义

在样本空间中,划分的超平面可用如下线性方程来表述:
w T x + b = 0 ( 1 ) w^Tx+b=0 \quad\quad\quad\quad(1) wTx+b=0(1)

其中 x = ( x 1 ; x 2 ; . . . ; x d ) x=(x_1;x_2;...;x_d) x=(x1x2...xd)为样本点在样本空间中的坐标, x i x_i xi代表样本点在每一维度上坐标点的值; w = ( w 1 ; w 2 ; . . . ; w d ) w=(w_1;w_2;...;w_d) w=(w1w2...wd)为法向量,决定了超平面的方向,x是几维的,就有几个w;b为位移项,决定了超平面与原点之间的距离。显然,划分超平面可被法向量w和位移b确定,记超平面为(w,b)

2.点到直线间的距离

样本空间中任意点x到超平面(w,b)的距离可写为:
r = ∣ w T + b ∣ ∣ ∣ w ∣ ∣ ( 2 ) r = \frac{|w^T+b|}{||w||}\quad\quad\quad\quad(2) r=wwT+b(2)
拓展:

  1. L2范数: ∣ ∣ w ∣ ∣ = ∑ i = 1 k ∣ w i ∣ 2 ||w|| = \sqrt {\sum_{i=1}^{k}|w_i|^2} w=i=1kwi2

  2. 二维空间点到直线的距离: d = ∣ A x + B y + c ∣ A 2 + B 2 d = \frac{|Ax+By+c|}{\sqrt{A^2+B^2}} d=A2+B2 Ax+By+c,由此可以类比到多维空间上点到直线的距离。

3.模型假设

假设超平面(w,b)能将训练样本正确分类,即对于二分类问题,训练样本上的点均为x坐标已知,对应的y分类已知:若 y i = + 1 y_i=+1 yi=+1,则有 w T x i + b &gt; 0 w^Tx_i+b&gt;0 wTxi+b>0;若 y i = − 1 y_i=-1 yi=1,则有 w T x i + b &lt; 0 w^Tx_i+b&lt;0 wTxi+b<0,令:
{ w T x i + b ≥ + 1 , y i = + 1 w T x i + b ≤ − 1 , y i = − 1 ( 3 ) \begin{cases} w^Tx_i+b \geq +1, &amp; y_i = +1 \\ \\ w^Tx_i+b \leq -1, &amp; y_i=-1 \end{cases}\quad\quad\quad\quad(3) wTxi+b+1,wTxi+b1,yi=+1yi=1(3)
注释:

  1. "硬间隔SVM"模型的建立,是基于数据为“线性可分”的,所谓线性可分指的是:不含噪音,可将训练数据完美分成两类。而硬间隔SVM模型就是基于这个假设构建的,即:假设正确分类的样本点在各自支持向量的两边。
  2. ∣ w T x + b ∣ |w^Tx+b| wTx+b表示点x到超平面的相对距离,通过观察 w T x + b w^Tx+b wTx+b y y y是否同号,判断分类是否正确。
  3. SVM的模型是让所有点到超平面的距离大于一定的距离,即所有分类点要在各自类别的支持向量两边。一般我们都取这个距离为1

4.间隔与支持向量

在这里插入图片描述

如上图所示,距离超平面最近的这几个训练样本点使公式(3)的等号成立,它们被称为“支持向量(support vector)”,两个异类支持向量到超平面的距离之和为公式(4)所示,它被称为“间隔(margin)”。
γ = 2 ∣ ∣ w ∣ ∣ ( 4 ) \gamma = \frac{2}{||w||}\quad\quad\quad(4) γ=w2(4)
注释:

  1. 函数间隔 y ( w T x + b ) y(w^T x+b) y(wTx+b)对于训练集中m个样本点对应的m个函数间隔的最小值,就是整个训练集的函数间隔。找到训练样本中函数间隔最小的那个样本,并且要让它的函数间隔最大!这就是SVM的目标函数。
  2. 间隔貌似仅与 w w w有关,但事实上 b b b通过约束隐式地影响着 w w w的取值,进而对间隔产生影响。

欲找到具有“最大间隔(maximum margin)”的划分超平面,即:找到满足(3)式中约束的参数 w w w b b b,使得 γ \gamma γ最大,有:
m a x ⎵ w , b 2 ∣ ∣ w ∣ ∣ s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , m \underbrace{max}_{w,b}\frac{2}{||w||}\\ s.t. \quad y_i(w^Tx_i+b)\geq 1,\quad i=1,2,...,m w,b maxw2s.t.yi(wTxi+b)1,i=1,2,...,m

  1. 为了最大化间隔,仅需最大化 ∣ ∣ w ∣ ∣ − 1 ||w||^{-1} w1,这等价于最小化 ∣ ∣ w ∣ ∣ 2 ||w||^2 w2,于是“支持向量机(Support Vector Machine)”的基本型如下式所示:

{ m i n ⎵ w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , m ( 5 ) \begin{cases} \underbrace{min}_{w,b}\frac{1}{2}||w||^2\\ \\ s.t. \quad y_i(w^Tx_i+b)\geq 1,\quad i=1,2,...,m \end{cases}\quad\quad\quad(5) w,b min21w2s.t.yi(wTxi+b)1,i=1,2,...,m(5)

5.例题,加深理解

目前无需纠结解法,只需要理解SVM公式的使用,具体解法我们会在下一节中讲述。

已知一个如下图所示的训练数据集,其正例点是 x 1 = ( 3 , 3 ) T x_1=(3,3)^T x1=(33)T x 2 = ( 4 , 3 ) T x_2=(4,3)^T x2=(43)T,负例点是 x 3 = ( 1 , 1 ) T x_3=(1,1)^T x3=(11)T,试列出求最大间隔分离超平面的公式。
在这里插入图片描述

解:根据训练数据集构造约束最优化问题:
{ m i n ⎵ w , b 1 2 ( w 1 2 + w 2 2 ) s . t . 3 w 1 + 3 w 2 + b ≥ 1 4 w 1 + 3 w 2 + b ≥ 1 − w 1 − w 2 − b ≥ 1 \begin{cases}\underbrace{min}_{w,b} \frac{1}{2}(w_1^2+w_2^2)\\ \\ s.t.\quad 3w_1+3w_2+b \geq1\\ \quad\quad \quad 4w_1+3w_2+b \geq 1\\ \quad\quad\quad -w_1-w_2-b \geq 1 \end{cases} w,b min21(w12+w22)s.t.3w1+3w2+b14w1+3w2+b1w1w2b1
注意:

  1. x是几维,就有几个w。
  2. xi代表样本点在每一维度上坐标点的值。

二、硬间隔SVM对偶问题

1.先用拉格朗日乘子法

我们可以通过拉格朗日乘子法将我们的优化目标公式(5)转换为无约束的优化函数,对公式(5)的每条约束添加拉格朗日乘子 α i ≥ 0 \alpha_i \geq 0 αi0,则该问题的拉格朗日函数可写为:
L ( w , b , α ) = 1 2 ∣ ∣ w 2 ∣ ∣ + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) ( 6 ) L(w,b,\alpha)=\frac{1}{2}||w^2||+\sum_{i=1}^{m}\alpha_i(1-y_i(w^Tx_i+b))\quad\quad\quad(6) Lw,b,α=21w2+i=1mαi(1yi(wTxi+b))(6)
其中 α = ( α 1 , α 2 , . . . , α m ) \alpha = (\alpha_1,\alpha_2,...,\alpha_m) α=(α1α2...αm),这样可以通过每个样本点的 α \alpha α取值,知道该样本点相对于支持向量的位置。

拓展:拉格朗日乘子法——不等式约束优化

给定不等式约束问题:
m i n ⎵ x f ( x ) s . t . h ( x ) = 0 g ( x ) ≤ 0 \underbrace{min}_{x}f(x)\\ s.t.\quad h(x)=0\\ \quad g(x)\leq 0

  • 32
    点赞
  • 107
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值