支持向量机详解之——系列3

本文详细介绍了支持向量机(SVM)的原理,包括线性可分SVM、线性SVM和非线性SVM,重点讨论了软间隔最大化、核技巧及其应用。SVM通过间隔最大化和核函数处理线性不可分问题,实现非线性分类。同时,文章还概述了SVM在回归问题上的应用和损失函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


        上两篇文章已经总结了超平面、间隔最大化、拉格朗日乘数法、拉格朗日对偶性及间隔最大化最优值求解等svm的预备知识,本次将继续归纳总结SVM的数学推理和核函数部分。首先,大概介绍一下SVM:

  • 支持向量机 : 是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机。

  • 核技巧: SVM还包括核技巧,这使它成为实质上的非线性分类器。

  • 间隔最大化: SVM的学习策略是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的学习算法是求解凸二次规划的最优化算法。

  • 线性可分SVM: 当训练数据线性可分时,通过硬间隔最大化,学习一个线性的分类器,即线性可分SVM,又称硬间隔SVM。

  • 线性SVM: 当训练数据近似线性可分时,通过软间隔最大化,也学习一个线性分类器,即线性SVM,又称软间隔SVM。

  • 非线性SVM: 当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性SVM。

  • 核函数: 表示将输入从输入空间映射到特征空间得到特征向量之间的内积。通过使用核函数可以学习非线性SVM,等价于隐式地在高维特征空间中学习线性SVM。这样的方法称为核方法,核方法是比SVM更为一般的机器学习方法。

  • SVM属于判别模型,可分为线性分类模型、非线性分类模型。

  • 经过演进,现在也可以支持多元分类,同时经过扩展,也能应用于回归问题

1. 线性可分支持向量机

  • 线性可分SVM: 一般地,当训练数据线性可分时,存在无穷个分离超平面可将两类数据正确分开。感知机利用误分类最小的策略,求得分离超平面,不过这时的解有无穷多个。线性可分SVM利用间隔最大化求最优分离超平面,这时解唯一。
  • 通过间隔最大化或等价地求解凸二次规划问题学习得到的超平面为 w ∗ ⋅ x + b ∗ = 0 w^* \cdot x + b^* = 0 wx+b=0,以及相应的分类决策函数 f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x) = sign(w^* \cdot x + b^*) f(x)=sign(wx+b),称为线性可分SVM。

线性可分SVM的算法过程:

  • 输入是线性可分的m个样本 ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) , (x_1,y_1),(x_2,y_2),...,(x_m,y_m), (x1,y1),(x2,y2),...,(xm,ym),其中 x x x为n维特征向量。 y y y为二元输出,值为1,或者-1.

  • 输出是分离超平面的参数 w ∗ w^∗ w b ∗ b^∗ b 和分类决策函数。

  • 算法过程如下:
    在这里插入图片描述
    在这里插入图片描述
            线性可分SVM的学习方法对于非线性的数据集是没有办法使用的, 有时候不能线性可分的原因是线性数据集里面多了少量的异常点,由于这些异常点导致了数据集不能线性可分, 下一节的线性SVM的软间隔最大化解决此问题。

2. 线性支持向量机

        有时候本来数据的确是可分的,也就是说可以用 线性分类SVM的学习方法来求解,但是却因为混入了异常点,导致不能线性可分。通常情况是,训练数据中有一些特异点(outlier)。将这些特异点除去后,剩下大部分的样本点组成的集合是线性可分的。如下图:
在这里插入图片描述

2.1 软间隔最大化

  • 软间隔: 线性可分SVM的学习方法对线性不可分数据是不适用的,因为上述方法中的不等式约束并不能都成立。为了将其扩展到线性不可分问题,需要修改硬间隔最大化,使其称为软间隔最大化。

  • 松弛变量: 线性不可分意味着某些样本点 ( x i , y i ) (x_i,y_i) (xi,yi)不能满足函数间隔大于等于1的约束条件。为了解决这个问题,可以对每个样本点 ( x i , y i ) (x_i,y_i) (xi,yi)引入一个松弛变量 ξ i ⩾ 0 ξ_i⩾0 ξi0,使函数间隔加上松弛变量大于等于1。这样,约束条件变成:
    在这里插入图片描述
            对比硬间隔最大化,可以看到我们对样本到超平面的函数距离的要求放松了,之前是一定要大于等于1,现在只需要加上一个大于等于0的松弛变量能大于等于1就可以了。当然,松弛变量不能白加,这是有成本的,每一个松弛变量 ξ i ξ_i ξi, 对应了一个代价 ξ i ξ_i ξi目标函数变成:
    在这里插入图片描述
    这里 C > 0 C>0 C>0称为惩罚参数,一般由应用问题决定,C值大时对误分类的惩罚增大,C值小时对误分类的惩罚减小。
    最小化目标函数包含两层含义:使 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21w2尽量小即间隔尽量大,同时使误分类点的个数尽量小,C是调和二者的系数。

  • 学习问题: 问题变成如下凸二次规划问题:
    在这里插入图片描述
    可以证明 w w w的解是唯一的,但b的解可能不唯一,而是存在于一个区间。

        设问题的解是 w ∗ , b ∗ w^∗,b^∗ w,b,于是可以得到分离超平面 w ∗ ⋅ x + b ∗ = 0 w^∗⋅x+b^∗=0 wx+b=0 及分类决策函数 f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x)=sign(w^∗⋅x+b^∗) f(x)=sign(wx+b) 。称这样的模型为训练样本线性不可分时的线性支持向量机,简称线性SVM。显然线性SVM包含线性可分SVM。由于现实中训练数据集往往是线性不可分的,线性SVM具有更广的适用性。

2.2 软间隔最大化目标函数的求解

  • 原始问题的拉格朗日函数是:
    在这里插入图片描述
  • 对偶问题是拉格朗日函数的极大极小问题,先求极小:
    在这里插入图片描述
    在这里插入图片描述

计算过程:
在这里插入图片描述

  • 再对 m i n w , b , ξ L ( w , b , ξ , α , μ ) min_{w,b,ξ}L(w,b,ξ,α,μ) minw,b,ξL(w,b,ξ,α,μ) α α α的极大,即得对偶问题:
    在这里插入图片描述
    对于 C − α i − μ i = 0 , α i ≥ 0 , μ i ≥ 0 C−α_i−μ_i=0,α_i≥0,μ_i≥0 Cαiμi=0αi0μi0这3个式子,我们可以消去 μ i μ_i μi,只留下 α i α_i αi,也就是说 0 ≤ α i ≤ C 0≤α_i≤C 0αiC。 同时将优化目标函数变号,求极小值,如下:
    在这里插入图片描述
            这就是软间隔最大化时的线性可分SVM的优化目标形式,和上一篇的硬间隔最大化的线性可分SVM相比,我们仅仅是多了一个约束条件 0 ≤ α i ≤ C 0≤α_i≤C 0αiC。我们依然可以通过SMO算法来求上式极小化时对应的α向量就可以求出 w ∗ w^* w b ∗ b^* b了。

  • α ∗ = ( α ∗ 1 , α ∗ 2 , . . . , α ∗ N ) T α^∗=(α^∗1,α^∗2,...,α^∗N)^T α=(α1,α2,...,αN)T是对偶问的一个解,若存在 α ∗ α^∗ α的一个分量 α j ∗ α^∗_j αj 0 &lt; α j ∗ &lt; C 0&lt;α^∗_j&lt;C 0<αj<C,则原始问题的解可按下式求得:
    在这里插入图片描述

  • 下面阐述得到以上两式的计算过程,由KKT条件得:
    在这里插入图片描述
    若存在 α j ∗ , 0 &lt; α j ∗ &lt; C , 则 y j ( w ∗ ⋅ x j + b ∗ ) − 1 = 0 α^∗_j,0&lt;α^∗_j&lt;C,则y_j(w^∗⋅x_j+b^∗)−1=0 αj0<αj<Cyj(wxj+b)1=0,由此得式: b ∗ b^∗ b

  • 分离超平面:由此,分离超平面、分类决策函数可以写成:
    在这里插入图片描述

2.3 软间隔最大化时的支持向量

        在硬间隔最大化时,支持向量比较简单,就是满足 y i ( w T x i + b ) − 1 = 0 y_i(w^Tx_i+b)−1=0 yi(wTxi+b)1=0就可以了。根据KKT条件中的对偶互补条件 α i ∗ ( y i ( w T x i + b ) − 1 ) = 0 α^∗_i(y_i(w^Tx_i+b)−1)=0 αi(yi(wTxi+b)1)=0,如果 α i ∗ &gt; 0 α^∗_i&gt;0 αi>0则有 y i ( w T x i + b ) = 1 y_i(w^Tx_i+b)=1 yi(wTxi+b)=1 即点在支持向量上,否则如果 α i ∗ = 0 α^∗_i=0 αi=0则有 y i ( w T x i + b ) ≥ 1 y_i(w^Tx_i+b)≥1 yi(wTxi+b)1,即样本在支持向量上或者已经被正确分类。

        在软间隔最大化时,则稍微复杂一些,因为我们对每个样本 ( x i , y i ) (x_i,y_i) (xi,yi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值