支持向量机 (SVM)

本文详细介绍了支持向量机(SVM)的原理,包括线性可分、软间隔和线性不可分的支持向量机,以及如何引入核函数解决非线性问题。此外,还讲解了序列最小化(SMO)算法在SVM优化过程中的作用,为理解和应用SVM提供了全面的知识框架。

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

支持向量机 (SVM)

1 线性可分支持向量机

1.1 线性可分支持向量机

  • 分离超平面模型

w T x + b = 0 \boldsymbol{w}^{T}\boldsymbol{x} + b = 0 wTx+b=0

  • 决策函数

f ( x ) = s g n ( w T x + b ) f(x) = sgn(\boldsymbol{w}^{T}\boldsymbol{x} + b) f(x)=sgn(wTx+b)

1.2 目标函数——硬间隔最大化

  • 硬间隔

  • 最优化问题

max ⁡ w , b 2 ∣ ∣ w ∣ ∣ s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , ⋯   , m \begin{aligned} \max_{\boldsymbol{w},b}\quad &\frac{2}{||\boldsymbol{w}||} \\ s.t.\quad &y_{i}(\boldsymbol{w}^{T}\boldsymbol{x}_{i}+b) \geq 1,\quad i=1,\cdots,m \end{aligned} w,bmaxs.t.w2yi(wTxi+b)1,i=1,,m

等价于
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , ⋯   , m \begin{aligned} \min_{\boldsymbol{w},b}\quad &\frac{1}{2}||\boldsymbol{w}||^{2} \\ s.t.\quad &y_{i}(\boldsymbol{w}^{T}\boldsymbol{x}_{i}+b) \geq 1,\quad i=1,\cdots,m \end{aligned} w,bmins.t.21w2yi(wTxi+b)1,i=1,,m

若训练数据集线性可分,则可将数据集中的样本点完全分开的最大间隔分离超平面存在且唯一。

1.3 学习的对偶算法

构造Lagrange函数
L ( w , b , λ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m λ i { 1 − y i ( w T x i + b ) } L(\boldsymbol{w},b,\boldsymbol{\lambda}) = \frac{1}{2}||\boldsymbol{w}||^2 + \sum_{i=1}^{m}\lambda_{i}\left\{1-y_{i}(\boldsymbol{w}^{T}\boldsymbol{x}_{i}+b)\right\} L(w,b,λ)=21w2+i=1mλi{ 1yi(wTxi+b)}
原始问题:
min ⁡ w , b max ⁡ λ ≥ 0   L ( w , b , λ ) \min_{\boldsymbol{w},b}\max_{\boldsymbol{\lambda}\geq0}\ L(\boldsymbol{w},b,\boldsymbol{\lambda}) w,bminλ0max L(w,b,λ)
对偶问题:
max ⁡ λ ≥ 0 min ⁡ w , b   L ( w , b , λ ) \max_{\boldsymbol{\lambda}\geq0}\min_{\boldsymbol{w},b}\ L(\boldsymbol{w},b,\boldsymbol{\lambda}) λ0maxw,bmin L(w,b,λ)
首先该优化问题是凸二次规划问题,其次对线性可分情况,原始问题满足Slater条件,故根据定理2存在 w ∗ , b ∗ , λ ∗ w^*,b^*,\lambda^* w,b,λ 使 w ∗ , b ∗ w^*,b^* w,b 是原始问题的最优解, λ ∗ \lambda^* λ 是对偶问题的最优解。由定理3知KKT条件成立:
∇ w L ( w , b , λ ) = w − ∑ i = 1 m λ i y i x i = 0 ( 1 ) ∇ b L ( w , b , λ ) = − ∑ i = 1 m λ i y i = 0 ( 2 ) λ i [ y i ( w T x i + b ) − 1 ] = 0 ,   i = 1 , ⋯   , m ( 3 ) λ i ≥ 0 ,   i = 1 , ⋯   , m ( 4 ) y i ( w T x i + b ) − 1 ≥ 0 ,   i = 1 , ⋯   , m ( 5 ) \begin{aligned} \nabla_{\boldsymbol{w}}L(\boldsymbol{w},b,\boldsymbol{\lambda}) &= \boldsymbol{w} - \sum\limits_{i=1}^{m}\lambda_{i}y_{i}\boldsymbol{x}_{i} = 0 & (1) \\ \nabla_{b}L(\boldsymbol{w},b,\boldsymbol{\lambda}) &= -\sum\limits_{i=1}^{m}\lambda_{i}y_{i} = 0 & (2) \\ \lambda_{i}[y_{i}(\boldsymbol{w}^{T}\boldsymbol{x}_{i}+b)-1] &= 0,\ i=1,\cdots,m & (3) \\ \lambda_{i} &\geq 0 ,\ i=1,\cdots,m & (4) \\ y_{i}(\boldsymbol{w}^{T}\boldsymbol{x}_{i}+b)-1&\geq 0,\ i=1,\cdots,m & (5) \\ \end{aligned} wL(w,b,λ)bL(w,b,λ)λi[yi(wTxi+b)1]λiyi(wTxi+b)1=wi=1mλiyixi=0=i=1mλiyi=0=0, i=1,,m0, i=1,,m0, i=1,,m(1)(2)(3)(4)(5)
Step1 min ⁡ w , b   L ( w , b , λ ) \min\limits_{\boldsymbol{w},b}\ L(\boldsymbol{w},b,\boldsymbol{\lambda}) w,bmin L(w,b,λ).

由 KKT条件 (1)(2) 得
w = ∑ i = 1 m λ i y i x i ( 1 ∗ ) 0 = ∑ i = 1 m λ i y i ( 2 ∗ ) \begin{aligned} \boldsymbol{w} &= \sum_{i=1}^{m}\lambda_{i}y_{i}\boldsymbol{x}_{i} & (1*) \\ 0 &= \sum\limits_{i=1}^{m}\lambda_{i}y_{i} & (2*) \\ \end{aligned} w0=i=1mλiyixi=i=1mλiyi(1)(2)
代入Lagrange函数得:
min ⁡ w , b   L ( w , b , λ ) = − 1 2 ∑ i = 1 m ∑ j = 1 m λ i λ j y i y j x i T x j + ∑ i = 1 m λ i \min\limits_{\boldsymbol{w},b}\ L(\boldsymbol{w},b,\boldsymbol{\lambda}) = -\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\lambda_{i}\lambda_{j}y_{i}y_{j}\boldsymbol{x}_{i}^{T}\boldsymbol{x}_{j} + \sum_{i=1}^{m}\lambda_{i} w,bmin L(w,b,λ)=21i=1mj=1mλiλjyiyjxiTxj+i=1mλi
其中, ∑ i = 1 m λ i y i = 0 \sum\limits_{i=1}^{m}\lambda_{i}y_{i}=0 i=1mλiyi=0.

Step 2 求解对偶问题 max ⁡ λ min ⁡ w , b   L ( w , b , λ ) \max\limits_{\boldsymbol{\lambda}}\min\limits_{\boldsymbol{w},b}\ L(\boldsymbol{w},b,\boldsymbol{\lambda}) λmaxw,bmin L(w,b,λ) ,即求 min ⁡ w , b   L ( w , b , λ ) \min\limits_{\boldsymbol{w},b}\ L(\boldsymbol{w},b,\boldsymbol{\lambda}) w,bmin L(w,b,λ) λ ≥ 0 \boldsymbol{\lambda}\geq0 λ0 的极大值点 λ ∗ \boldsymbol{\lambda}^* λ.
max ⁡ λ ≥ 0 − 1 2 ∑ i = 1 m ∑ j = 1 m λ i λ j y i y j x i T x j + ∑ i = 1 m λ i s . t . ∑ i = 1 m λ i y i = 0 λ i ≥ 0 ,   i = 1 , ⋯   , m \begin{aligned} \max_{\boldsymbol{\lambda}\geq0}\quad &-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\lambda_{i}\lambda_{j}y_{i}y_{j}\boldsymbol{x}_{i}^{T}\boldsymbol{x}_{j} + \sum_{i=1}^{m}\lambda_{i} \\ s.t.\quad &\sum\limits_{i=1}^{m}\lambda_{i}y_{i} = 0 \\ &\lambda_{i}\geq0,\ i=1,\cdots,m \end{aligned} λ0maxs.t.21i=1mj=1mλiλjyiyjxiTxj+i=1mλii=1mλiyi=0λi0, i=1,,m
利用序列最小化 (SMO) 算法求解以上问题得到 λ ∗ \boldsymbol{\lambda}^{*} λ.

Step3 求解原始问题 min ⁡ w , b max ⁡ λ ≥ 0   L ( w , b , λ ) \min\limits_{\boldsymbol{w},b}\max\limits_{\boldsymbol{\lambda}\geq0}\ L(\boldsymbol{w},b,\boldsymbol{\lambda}) w,bminλ0max L(w,b,λ),等价于求解 min ⁡ w , b   L ( w , b , λ ∗ ) \min\limits_{\boldsymbol{w},b}\ L(\boldsymbol{w},b,\boldsymbol{\lambda^*}) w,bmin L(w,b,λ).

( w ∗ , b ∗ , λ ∗ ) (\boldsymbol{w}^*,b^*,\boldsymbol{\lambda}^*) (w,b,λ) 满足KKT条件,易知在 λ ∗ \boldsymbol{\lambda}^* λ 中至少有一个 λ j ∗ > 0 \lambda_{j}^* > 0 λj>0 (否则由(1*) 知 w ∗ = 0 \boldsymbol{w}^*=0 w=0, 但是 w ∗ = 0 \boldsymbol{w}^*=0 w=0不是原始问题的解,矛盾)。对此 j j j ,由 (3) 知
y j ( w ∗ T x j + b ∗ ) − 1 = 0 y_{j}(\boldsymbol{w}^{*T}\boldsymbol{x}_{j}+b^*)-1=0 yj(wTxj+b)1=0
因此可以得到
w ∗ = ∑ i = 1 m λ i ∗ y i x i b ∗ = y j − ∑ i = 1 m λ i ∗ y i x i T x j \begin{aligned} \boldsymbol{w}^* &= \sum_{i=1}^{m}\lambda_{i}^{*}y_{i}\boldsymbol{x}_{i} \\ b^* &= y_{j} - \sum_{i=1}^{m}\lambda_{i}^{*}y_{i}\boldsymbol{x}_{i}^{T}\boldsymbol{x}_{j} \end{aligned} wb=i=1mλiyixi=yji=1mλiyixiTxj

由此可知, w ∗ , b ∗ \boldsymbol{w}^*,b^* w,b 的训练只依赖于 λ i ∗ > 0 \lambda_{i}^{*}>0 λi>0 的样本点 ( x i , y i ) (x_{i},y_{i}) (xi,yi),称为支持向量,支持向量之可能出现在间隔边界上。

Step4 求得分离超平面
w ∗ T x + b ∗ = 0 \boldsymbol{w}^{*T}\boldsymbol{x} + b^{*} = 0 wTx+b=0
Step5 分类决策函数
f ( x ) = s g n ( w ∗ T x + b ∗ ) f(x) = sgn(\boldsymbol{w}^{*T}x + b^{*}) f(x)=sgn(wTx+b)

2 软间隔支持向量机

2.1 Hypothsis

分离超平面模型
w T x + b = 0 \boldsymbol{w}^{T}\boldsymbol{x} + b = 0 wTx+b=0
分类决策函数
f ( x ) = s g n ( w T x + b ) f(x) = sgn(\boldsymbol{w}^{T}\boldsymbol{x}+b) f(x)=sgn(wTx+b)

2.2 目标函数——最大化软间隔

软间隔

目标函数 (原始问题)
min ⁡ w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i s . t . y i ( w T x i + b ) ≥ 1 − ξ i , i = 1 , ⋯   , m ξ i ≥ 0 \begin{aligned} \min_{\boldsymbol{w},b,\boldsymbol{\xi}}\quad &\frac{1}{2}||\boldsymbol{w}||^{2} + C\sum_{i=1}^{m}\xi_{i} \\ s.t.\quad &y_{i}(\boldsymbol{w}^{T}\boldsymbol{x}_{i}+b) \geq 1-\xi_{i},\quad i=1,\cdots,m \\ &\xi_{i}\geq0 \end{aligned} w,b,ξmins.t.21w2+Ci=1mξiyi(wTxi+b)1ξi,i=1,,mξi0
其中, C C C 是惩罚项系数, ξ \boldsymbol{\xi} ξ 是松弛变量。

2.3 转化为对偶问题求解

构造Lagrange函数
L ( w , b , ξ , λ , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i + ∑ i = 1 m λ i { 1 − ξ i − y i ( w T x i + b ) } − ∑ i = 1 m μ i ξ i L(\boldsymbol{w},b,\boldsymbol{\xi},\boldsymbol{\lambda},\boldsymbol{\mu}) = \frac{1}{2}||\boldsymbol{w}||^2 + C\sum_{i=1}^{m}\xi_{i} +\sum_{i=1}^{m}\lambda_{i}\left\{1-\xi_{i}-y_{i}(\boldsymbol{w}^{T}\boldsymbol{x}_{i}+b)\right\} - \sum_{i=1}^{m}\mu_{i}\xi_{i} L(w,b,ξ,λ,μ)=21w2+Ci=1mξi+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值