当前位置: 首页 > news >正文

《近似线性可分支持向量机的原理推导》 拉格朗日函数 公式解析

本文是将文章《近似线性可分支持向量机的原理推导》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。


公式 9-41 解释:

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 \left( y_i(w^T x_i + b) - (1 - \xi_i) \right) - \sum_{i=1}^{N} \mu_i \xi_i L(w,b,ξ,α,μ)=21w2+Ci=1Nξii=1Nαi(yi(wTxi+b)(1ξi))i=1Nμiξi

公式 9-41 是 近似线性可分支持向量机(SVM)拉格朗日函数。该公式用于将原始的优化问题(如公式 9-39)转化为一个带有拉格朗日乘子约束的优化问题,从而可以使用对偶问题的方法进行求解。

1. 公式的背景:

在支持向量机的优化过程中,我们通常会遇到约束优化问题。在这种情况下,拉格朗日函数是一种非常有效的工具,它允许我们将约束条件和目标函数结合在一起。通过引入拉格朗日乘子,可以将一个约束优化问题转化为无约束的优化问题,然后可以通过求解这个拉格朗日函数的极值来获得最优解。

2. 公式的组成部分:

公式 9-41 将原始目标函数和约束条件结合起来。它包含以下几项:

(1) 目标函数部分:

1 2 ∥ w ∥ 2 + C ∑ i = 1 N ξ i \frac{1}{2} \|w\|^2 + C \sum_{i=1}^{N} \xi_i 21w2+Ci=1Nξi

这一部分是原始优化问题的目标函数:

  • 1 2 ∥ w ∥ 2 \frac{1}{2} \|w\|^2 21w2:这一项表示支持向量机的最大分类间隔。最小化 ∥ w ∥ 2 \|w\|^2 w2 可以找到一个使分类间隔最大化的超平面。
  • C ∑ i = 1 N ξ i C \sum_{i=1}^{N} \xi_i Ci=1Nξi:这一项表示误分类惩罚的总和。通过最小化松弛变量 ξ i \xi_i ξi 的总和,我们可以控制允许的误分类样本数量。参数 C C C 是惩罚系数,它控制模型对误分类的容忍度。
(2) 第一个约束条件部分:

− ∑ i = 1 N α i ( y i ( w T x i + b ) − ( 1 − ξ i ) ) -\sum_{i=1}^{N} \alpha_i \left( y_i(w^T x_i + b) - (1 - \xi_i) \right) i=1Nαi(yi(wTxi+b)(1ξi))

这一部分是将第一个约束条件 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 \alpha_i αi:这是拉格朗日乘子,它的作用是将约束条件与目标函数结合起来。对于每个样本 i i i,都有一个对应的 α i \alpha_i αi,它反映了该样本对模型的贡献。若 α i = 0 \alpha_i = 0 αi=0,说明该样本不会影响模型;若 α i > 0 \alpha_i > 0 αi>0,说明该样本是支持向量,影响模型的决策边界。
  • y i ( w T x i + b ) y_i(w^T x_i + b) yi(wTxi+b):这是分类函数的输出,表示样本 x i x_i xi 与超平面的距离。
  • ( 1 − ξ i ) (1 - \xi_i) (1ξi):这是原始约束中的右边部分。通过减去 ( 1 − ξ i ) (1 - \xi_i) (1ξi),我们可以使约束条件成立,即分类结果与软间隔条件匹配。
(3) 第二个约束条件部分:

− ∑ i = 1 N μ i ξ i -\sum_{i=1}^{N} \mu_i \xi_i i=1Nμiξi

这一项是对松弛变量 ξ i ≥ 0 \xi_i \geq 0 ξi0 的约束条件引入的拉格朗日乘子表示:

  • μ i \mu_i μi:这是另一个拉格朗日乘子,用于确保松弛变量 ξ i \xi_i ξi 大于等于 0(即 ξ i ≥ 0 \xi_i \geq 0 ξi0)。每个样本 i i i 都有一个对应的 μ i \mu_i μi,如果 ξ i = 0 \xi_i = 0 ξi=0,则 μ i ≥ 0 \mu_i \geq 0 μi0

3. 拉格朗日函数的直观解释:

拉格朗日函数通过引入拉格朗日乘子( α i \alpha_i αi μ i \mu_i μi),将原始的优化问题及其约束条件结合在一起。通过优化这个拉格朗日函数,我们可以同时考虑:

  • 目标函数:最大化分类间隔并最小化误分类数量。
  • 约束条件:使每个样本 x i x_i xi 尽量满足 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 \xi_i \geq 0 ξi0

4. 公式中的各部分解释:

(1) 第一部分 1 2 ∥ w ∥ 2 \frac{1}{2} \|w\|^2 21w2

这一部分代表支持向量机的目标,即最大化分类间隔。最小化这一项可以使得分类超平面与数据点之间的间隔最大化。

(2) 第二部分 C ∑ i = 1 N ξ i C \sum_{i=1}^{N} \xi_i Ci=1Nξi

这一部分代表了对误分类样本的惩罚。通过引入松弛变量 ξ i \xi_i ξi,我们允许某些样本违反分类间隔条件,但我们希望通过最小化这一项来减少这些误分类样本的数量。

(3) 第三部分 ∑ i = 1 N α i ( y i ( w T x i + b ) − ( 1 − ξ i ) ) \sum_{i=1}^{N} \alpha_i \left( y_i(w^T x_i + b) - (1 - \xi_i) \right) i=1Nαi(yi(wTxi+b)(1ξi))

这一部分是将原始的分类约束条件引入拉格朗日函数中。通过引入拉格朗日乘子 α i \alpha_i αi,我们可以确保每个样本的分类结果尽量满足 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 的约束。

(4) 第四部分 ∑ i = 1 N μ i ξ i \sum_{i=1}^{N} \mu_i \xi_i i=1Nμiξi

这一部分引入了松弛变量 ξ i ≥ 0 \xi_i \geq 0 ξi0 的约束。通过引入拉格朗日乘子 μ i \mu_i μi,我们可以确保每个松弛变量 ξ i \xi_i ξi 都是非负的。

5. 优化过程:

为了找到最优解,我们需要对拉格朗日函数 L ( w , b , ξ , α , μ ) L(w, b, \xi, \alpha, \mu) L(w,b,ξ,α,μ) 进行求解。具体过程如下:

  1. 求对 w w w b b b、和 ξ i \xi_i ξi 的偏导数:这将帮助我们找到最优的 w w w b b b ξ i \xi_i ξi,使得拉格朗日函数对这些变量达到极值。
  2. α i \alpha_i αi 进行优化:通过优化 α i \alpha_i αi,我们可以找到支持向量机的对偶问题。
  3. 最终求解对偶问题:通过求解对偶问题,找到最优的支持向量并确定分类超平面的位置和形状。

6. 总结:

公式 9-41 是支持向量机的拉格朗日函数,通过引入拉格朗日乘子 α i \alpha_i αi μ i \mu_i μi,将原始问题的目标函数和约束条件结合在一起。拉格朗日函数的优化过程使得我们能够有效地解决带有约束的优化问题,从而找到最优的分类超平面。


http://www.mrgr.cn/news/58607.html

相关文章:

  • 03 P1803 凌乱的yyy / 线段覆盖
  • C++20中头文件ranges的使用
  • C# SM2 加签、验签工具
  • ArrayList和Array、LinkedList、Vector 间的区别
  • Flutter 状态管理框架Get
  • 利用java visualvm 分析内存溢出oom
  • jupyter notebook改变默认启动路径
  • spring框架介绍
  • TCP simultaneous open测试
  • 【Linux系统】如何证明进程的独立性
  • Redis的RDB执行原理
  • [CSP-J 2023] 一元二次方程(模拟)
  • bitpoke- mysql-operator cluster
  • java 17天 TreeSet以及Collections
  • SSH 的 N 大黑科技玩法
  • LeetCode Hot 100:二分查找
  • Visual Studio中无法打开Qt中UI文件,简单快捷处理方法
  • Zookeeper客户端工具 Apache Curator 最佳实践
  • 10340 文本编辑器(vim)
  • Swift 是一种由苹果公司开发的强大而直观的编程语言,主要用于开发 iOS、macOS、watchOS 和 tvOS 等苹果平台的应用程序。
  • C++中如何使用文件系统路径
  • AcWing 89:a^b ← 快速幂
  • 136.只出现一次的数字
  • 【开源项目】经典开源项目数字孪生工地——开源工程及源码
  • fpga系列 HDL: 竞争和冒险 01
  • 计算机网络:网络层 —— IPv4 协议的表示方法及其编址方法