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

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


公式 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.mzph.cn/pingmian/58271.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【云原生】云原生后端:安全性最佳实践

目录 引言一、身份管理1.1 身份验证1.2 身份授权 二、数据加密2.1 数据静态加密2.2 数据传输加密2.3 密钥管理 三、网络安全3.1 网络隔离3.2 防火墙与入侵检测3.3 安全组与网络访问控制列表 (NACL) 结论 引言 在云原生架构中,安全性是一个至关重要的考量。随着应用…

C++,STL 051(24.10.28)

内容 1.map容器的构造函数。 2.map容器的赋值操作。 运行代码 #include <iostream> #include <map>using namespace std;void printMap(map<int, int> &m) {for (map<int, int>::iterator it m.begin(); it ! m.end(); it){cout << &quo…

《链表篇》---环形链表II(返回节点)

题目传送门 方法一&#xff1a;哈希表&#xff08;与环形链表类似&#xff09; 很容易就可以找到链表的相交位置。 public class Solution {public ListNode detectCycle(ListNode head) {if(head null || head.next null){return null;}Set<ListNode> visited new Ha…

从0开始深度学习(17)——数值稳定性和模型初始化

在每次训练之前&#xff0c;都会对模型的参数进行初始化&#xff0c;初始化方案的选择在神经网络学习中起着举足轻重的作用&#xff0c; 它对保持数值稳定性至关重要。 我们选择哪个函数以及如何初始化参数可以决定优化算法收敛的速度有多快。 糟糕选择可能会导致我们在训练时遇…

重学SpringBoot3-怎样优雅停机

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-怎样优雅停机 1. 什么是优雅停机&#xff1f;2. Spring Boot 3 优雅停机的配置3. Tomcat 和 Reactor Netty 的优雅停机机制3.1 Tomcat 优雅停机3.2 Reac…

【C++初阶】模版入门看这一篇就够了

文章目录 1. 泛型编程2. 函数模板2. 1 函数模板概念2. 2 函数模板格式2. 3 函数模板的原理2. 4 函数模板的实例化2. 5 模板参数的匹配原则2. 6 补充&#xff1a;使用调试功能观察函数调用 3. 类模板3 .1 类模板的定义格式3. 2 类模板的实例化 1. 泛型编程 在C语言中&#xff0…

动态规划-子序列问题——1027.最长等差数列

1.题目解析 题目来源&#xff1a;1027.最长递增子序列——力扣 测试用例 2.算法原理 1.状态表示 等差数列至少是三个数&#xff0c;所以一维数组显然无法满足状态表示&#xff0c;所以需要开辟一个二维数组来表示&#xff0c;二维数组的两个下标分别是倒数第一与倒数第二个数 …

【JSON相关漏洞(Hijacking+Injection)挖掘技巧及实战案例全汇总】

JSON相关漏洞&#xff08;HijackingInjection&#xff09;挖掘技巧及实战案例全汇总 本文一是在为测试过程中遇到json返回格式时提供测试思路&#xff0c;二是几乎所有国内的资料都混淆了json和jsonp的区别——这是两种技术&#xff1b;以及json和jsonp hijacking的区别——这…

基于知识图谱的设备问答系统

你是不是还在为毕业设计苦恼&#xff1f;今天我就来给大家分享一款基于知识图谱的设备问答系统&#xff0c;不仅技术领先&#xff0c;而且非常适合用作毕业设计项目&#xff0c;帮助你轻松通过&#xff01; 项目简介 这个设备问答系统基于Django&#xff08;后端框架&#xf…

从零开始的 vue项目部署到服务器详细步骤(vue项目build打包+nginx部署+配置ssl证书)

从零开始的 vue项目部署到服务器详细步骤&#xff08;vue项目build打包nginx部署配置ssl证书&#xff09; 文章目录 从零开始的 vue项目部署到服务器详细步骤&#xff08;vue项目build打包nginx部署配置ssl证书&#xff09;一、前言二、vue项目部署前配置1、vite.config.js 增加…

ubuntu内核更新导致显卡驱动掉的解决办法

方法1&#xff0c;DKMS指定内核版本 用第一个就行 1&#xff0c;借鉴别人博客解决方法 2&#xff0c;借鉴别人博客解决方法 方法2&#xff0c;删除多于内核的方法 系统版本&#xff1a;ubuntu20.24 这个方法是下下策&#xff0c;如果重装驱动还是不行&#xff0c;就删内核在…

Spring 的事务传播机制

Spring 的事务传播机制定义了一个事务方法在遇到已经存在的事务时如何处理。事务传播属性&#xff08;Propagation&#xff09;提供了七种机制&#xff0c;以适应不同的业务需求和事务边界管理。 1. Spring 的事务传播机制的类型 &#xff08;1&#xff09;REQUIRED&#xff…

uv sync失败HTTP status server error (504 Gateway Timeout) for url (http://...)

内网环境下&#xff0c;服务器Linux系统可以正常uv sync更新和安装依赖&#xff0c;本地电脑Windows系统却总是报错&#xff0c;大致错误信息如下&#xff1a; error: Failed to download: xxxCaused by: HTTP status server error (504 Gateway Timeout) for url (http://...…

豆瓣同城活动采集-过去一年到未来已定档活动

通过采集豆瓣同城活动&#xff0c;来辅助分析一个城市的文商旅体活跃繁荣程度。 以成都为例&#xff0c;2023年10月30日到2024年11月未来已定档活动期间&#xff0c;豆瓣同城活动共有975场。 示例数据&#xff1a; 活动网址&#xff1a;有&#xff0c;此处不显示 封图网址&…

海量数据面试题

⭐️前言⭐️ 本篇文章主要针对在面试时可能涉及到的海量数据的面试题&#xff0c;该类型面试题常常考虑通过位图、布隆过滤器或者哈希的方式来解决。 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f349;博主将持续更新学习记录收获&#xff0c;友友们有任何…

pytorh学习笔记——cifar10(九)使用torhvision的标准resnet模型

之前的demo都是模仿和简化了已有的模型&#xff0c;也可以直接调用orhvision的标准模型&#xff0c;代码将更加简单。 新建resnet18.py import torch.nn as nn from torchvision import modelsclass ResNet18(nn.Module):def __init__(self, num_classes10):super(ResNet18, …

JavaScript 前端开发

JavaScript 前端开发是现代 Web 开发的重要组成部分。它涉及到使用 JavaScript 语言来创建动态的、交互式的网页应用。随着技术的发展&#xff0c;JavaScript 不仅限于浏览器中的脚本编写&#xff0c;还可以用于服务器端开发&#xff08;如 Node.js&#xff09;、移动应用开发&…

json与python中字典的互相转化

json的定义 JSON &#xff08;JavaScript Object Notation&#xff09; &#xff0c;是一种轻量级的数据交换格式。它的使用范围很广&#xff0c;并成为 ECMA 标准&#xff0c;可以被使用在多种编程语言中&#xff0c;用于前后端之间的数据传输、存储和交换数据。可以说是“用…

如何快速分析音频中的各种频率成分

从视频中提取音频 from moviepy.editor import VideoFileClip# Load the video file and extract audio video_path "/mnt/data/WeChat_20241026235630.mp4" video_clip VideoFileClip(video_path)# Extract audio and save as a temporary file for further anal…

Rust 力扣 - 5. 最长回文子串

文章目录 题目描述题解思路题解代码题解链接 题目描述 题解思路 从中心点先寻找和中心点相等的左右端点&#xff0c;在基于左右端点进行往外扩散&#xff0c;直至左右端点不相等或者越界&#xff0c;然后左右端点这个范围内就是我们找寻的回文串&#xff0c;我们遍历中心点&am…