SVM中的软间隔问题

我们今天将详细讨论支持向量机(SVM)软间隔 问题的数学推导,特别是引入损失函数 后的优化问题。软间隔 SVM 引入了损失函数松弛变量,使得它可以处理不可分数据,即允许某些数据点在分类时出现错误或违反间隔条件。

1. 软间隔 SVM 的基本思想

首先,回顾一下软间隔 SVM 的基本思想。在现实数据中,完全线性可分的情况较少,或者即使通过核函数映射到高维空间,也可能出现部分数据无法线性可分的情况。软间隔 SVM 允许一些数据点越过间隔边界被错误分类,即允许违反硬间隔 SVM 的严格分类规则。

为了描述这些错误,我们引入了松弛变量 ξ i \xi_i ξi 来表示第 i i i 个样本违反间隔的程度,并引入一个损失函数来量化这些错误。目标是最小化间隔最大化和分类错误之间的折中。

2. 软间隔 SVM 的优化问题

软间隔 SVM 的优化目标是:

  1. 最大化分类间隔 ,即最小化 ∥ w ∥ 2 \|w\|^2 ∥w∥2;
  2. 最小化分类错误,即引入损失函数来惩罚违反分类间隔的样本。

为了结合这两个目标,我们引入一个平衡参数 C C C,用来控制间隔最大化和分类错误之间的折中。

原始优化问题(Primal Problem)

首先,给定一个训练集 { ( x i , y i ) } i = 1 n \{(x_i, y_i)\}_{i=1}^n {(xi,yi)}i=1n,其中 x i ∈ R d x_i \in \mathbb{R}^d xi∈Rd 表示第 i i i 个样本, y i ∈ { − 1 , 1 } y_i \in \{-1, 1\} yi∈{−1,1} 表示其类别标签。软间隔 SVM 的优化问题可以表示为:

min ⁡ w , b , ξ 1 2 ∥ w ∥ 2 + C ∑ i = 1 n ξ i \min_{w, b, \xi} \ \frac{1}{2} \|w\|^2 + C \sum_{i=1}^n \xi_i w,b,ξmin 21∥w∥2+Ci=1∑nξi

其中:

  • 1 2 ∥ w ∥ 2 \frac{1}{2} \|w\|^2 21∥w∥2 是为了最大化间隔;
  • C ∑ i = 1 n ξ i C \sum_{i=1}^n \xi_i C∑i=1nξi 是为了惩罚分类错误(通过损失函数的形式体现分类误差), C C C 控制了分类误差的权重;
  • ξ i ≥ 0 \xi_i \geq 0 ξi≥0 是松弛变量,表示样本违反分类间隔的程度。
约束条件:

为了使 SVM 能正确分类样本,我们要求每个样本 x i x_i xi 满足:
y i ( w T x i + b ) ≥ 1 − ξ i , ∀ i y_i (w^T x_i + b) \geq 1 - \xi_i, \quad \forall i yi(wTxi+b)≥1−ξi,∀i

  • 当 ξ i = 0 \xi_i = 0 ξi=0 时,样本严格位于分类间隔外;
  • 当 0 < ξ i < 1 0 < \xi_i < 1 0<ξi<1 时,样本位于分类间隔内部,但没有被错误分类;
  • 当 ξ i ≥ 1 \xi_i \geq 1 ξi≥1 时,样本被错误分类。

同时,要求 ξ i ≥ 0 \xi_i \geq 0 ξi≥0,以确保松弛变量的非负性。

3. 引入损失函数

为了处理分类错误和违反分类间隔的样本,SVM 引入了一种特殊的损失函数,称为合页损失函数(Hinge Loss),其定义如下:

合页损失函数:

L ( y i , f ( x i ) ) = max ⁡ ( 0 , 1 − y i f ( x i ) ) L(y_i, f(x_i)) = \max(0, 1 - y_i f(x_i)) L(yi,f(xi))=max(0,1−yif(xi))

这里, f ( x i ) = w T x i + b f(x_i) = w^T x_i + b f(xi)=wTxi+b 是分类器的预测函数, y i y_i yi 是真实标签。

  • 当 y i f ( x i ) ≥ 1 y_i f(x_i) \geq 1 yif(xi)≥1 时,样本被正确分类且位于间隔外,损失为零;
  • 当 y i f ( x i ) < 1 y_i f(x_i) < 1 yif(xi)<1 时,样本位于间隔内部或被错误分类,损失为 1 − y i f ( x i ) 1 - y_i f(x_i) 1−yif(xi)。

合页损失函数 可以通过优化问题中的松弛变量 ξ i \xi_i ξi 表达为:
ξ i = max ⁡ ( 0 , 1 − y i f ( x i ) ) \xi_i = \max(0, 1 - y_i f(x_i)) ξi=max(0,1−yif(xi))

因此,我们可以将软间隔 SVM 的目标函数重新写成如下形式:

4. 软间隔 SVM 的优化问题(引入损失函数后的形式)

引入合页损失函数后,软间隔 SVM 的优化问题为:

min ⁡ w , b 1 2 ∥ w ∥ 2 + C ∑ i = 1 n max ⁡ ( 0 , 1 − y i ( w T x i + b ) ) \min_{w, b} \ \frac{1}{2} \|w\|^2 + C \sum_{i=1}^n \max(0, 1 - y_i (w^T x_i + b)) w,bmin 21∥w∥2+Ci=1∑nmax(0,1−yi(wTxi+b))

该目标函数包含两个部分:

  1. 1 2 ∥ w ∥ 2 \frac{1}{2} \|w\|^2 21∥w∥2:控制分类间隔,倾向于最大化间隔;
  2. C ∑ i = 1 n max ⁡ ( 0 , 1 − y i f ( x i ) ) C \sum_{i=1}^n \max(0, 1 - y_i f(x_i)) C∑i=1nmax(0,1−yif(xi)):合页损失函数,惩罚分类错误。

5. 对偶问题的推导

为了方便求解,我们通常将 SVM 的原始问题转化为对偶问题。对偶问题的推导步骤如下:

构造拉格朗日函数

首先,我们构造拉格朗日函数 ,引入拉格朗日乘子 α i ≥ 0 \alpha_i \geq 0 αi≥0 来处理不等式约束 y i ( w T x i + b ) ≥ 1 − ξ i y_i (w^T x_i + b) \geq 1 - \xi_i yi(wTxi+b)≥1−ξi,并引入乘子 μ i ≥ 0 \mu_i \geq 0 μi≥0 来处理松弛变量的非负性约束 ξ i ≥ 0 \xi_i \geq 0 ξi≥0:

L ( w , b , ξ , α , μ ) = 1 2 ∥ w ∥ 2 + C ∑ i = 1 n ξ i − ∑ i = 1 n α i [ y i ( w T x i + b ) − 1 + ξ i ] − ∑ i = 1 n μ i ξ i L(w, b, \xi, \alpha, \mu) = \frac{1}{2} \|w\|^2 + C \sum_{i=1}^n \xi_i - \sum_{i=1}^n \alpha_i [y_i (w^T x_i + b) - 1 + \xi_i] - \sum_{i=1}^n \mu_i \xi_i L(w,b,ξ,α,μ)=21∥w∥2+Ci=1∑nξi−i=1∑nαi[yi(wTxi+b)−1+ξi]−i=1∑nμiξi

求偏导并消去变量

为了得到对偶问题,我们需要对拉格朗日函数求偏导,并消去原始变量 w w w、 b b b 和 ξ i \xi_i ξi。

  1. 对 w w w 求导:
    ∂ L ∂ w = w − ∑ i = 1 n α i y i x i = 0 \frac{\partial L}{\partial w} = w - \sum_{i=1}^n \alpha_i y_i x_i = 0 ∂w∂L=w−i=1∑nαiyixi=0

    得:
    w = ∑ i = 1 n α i y i x i w = \sum_{i=1}^n \alpha_i y_i x_i w=i=1∑nαiyixi

  2. 对 b b b 求导:
    ∂ L ∂ b = − ∑ i = 1 n α i y i = 0 \frac{\partial L}{\partial b} = -\sum_{i=1}^n \alpha_i y_i = 0 ∂b∂L=−i=1∑nαiyi=0

    得:
    ∑ i = 1 n α i y i = 0 \sum_{i=1}^n \alpha_i y_i = 0 i=1∑nαiyi=0

  3. 对 ξ i \xi_i ξi 求导:
    ∂ L ∂ ξ i = C − α i − μ i = 0 \frac{\partial L}{\partial \xi_i} = C - \alpha_i - \mu_i = 0 ∂ξi∂L=C−αi−μi=0

    得:
    α i ≤ C \alpha_i \leq C αi≤C

得到对偶优化问题

将这些结果代入拉格朗日函数中,消去 w w w、 b b b 和 ξ i \xi_i ξi 后,对偶问题可以表示为:

max ⁡ α ∑ i = 1 n α i − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j x i T x j \max_{\alpha} \sum_{i=1}^n \alpha_i - \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^n \alpha_i \alpha_j y_i y_j x_i^T x_j αmaxi=1∑nαi−21i=1∑nj=1∑nαiαjyiyjxiTxj

约束条件:
  1. 0 ≤ α i ≤ C 0 \leq \alpha_i \leq C 0≤αi≤C
  2. ∑ i = 1 n α i y i = 0 \sum_{i=1}^n \alpha_i y_i = 0 ∑i=1nαiyi=0

在对偶问题中,优化变量是 α i \alpha_i αi,并且拉格朗日乘子 α i \alpha_i αi 受到约束 0 ≤ α i ≤ C 0 \leq \alpha_i \leq C 0≤αi≤C,这与正则化参数 C C C 直接相关, C C C 控制了软间隔的宽松程度。

6. 优化后的决策函数

一旦我们通过求解对偶问题得到了拉格朗日乘子 α i \alpha_i αi,分类器的最终决策函数可以写成:

f ( x ) = ∑ i = 1 n α i y i x i T x + b f(x) = \sum_{i=1}^n \alpha_i y_i x_i^T x + b f(x)=i=1∑nαiyixiTx+b

相关推荐
热情的Dongming几秒前
【项目实战】通过LLaMaFactory+Qwen2-VL-2B微调一个多模态医疗大模型
人工智能·大模型·多模态·医疗大模型
冬天的枫树9 分钟前
人工智能原理实验一:知识的表示与推理实验
c++·人工智能
BH0425090924 分钟前
深度学习基础(2024-10-30更新到tensor相关)
人工智能·深度学习
QQ_77813297424 分钟前
关于深度学习方向学习的一些建议
人工智能·深度学习·学习
哦哦~92142 分钟前
Fluent和深度学习算法驱动的流体力学计算与应用
人工智能·深度学习·学习·算法
板子小哥1 小时前
LuatOS学习指南:开启物联网开发之旅
运维·服务器·开发语言·人工智能·物联网·junit·lua
子午2 小时前
【果蔬识别】Python+卷积神经网络算法+深度学习+人工智能+机器学习+TensorFlow+计算机课设项目+算法模型
人工智能·python·深度学习
coldstarry2 小时前
sheng的学习笔记-AI基础-激活函数
深度学习·机器学习
z千鑫2 小时前
【AI开源项目】Botpress - 开源智能聊天机器人平台及其部署方案
人工智能·python·机器人·开源·自动化·oneapi
DisonTangor2 小时前
Flux 开源替代,他来了——Liberflux
人工智能·ai作画·开源