当前位置: 首页 > 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,将原始问题的目标函数和约束条件结合在一起。拉格朗日函数的优化过程使得我们能够有效地解决带有约束的优化问题,从而找到最优的分类超平面。

相关文章:

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

本文是将文章《近似线性可分支持向量机的原理推导》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。 公式 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 − ξ …...

9.指针和字符串string类型

指针和字符串string类型 1.指针2.字符串string类型 1.指针 C完全兼容C语言指针&#xff0c;C多出一个this指针 交换两数 #include <iostream>using namespace std;void swap(int *a,int *b){int temp;temp *a;*a *b;*b temp; }int main() {//交换前int a 50;int b …...

八,Linux基础环境搭建(CentOS7)- 安装Mysql和Hive

Linux基础环境搭建&#xff08;CentOS7&#xff09;- 安装Mysql和Hive 大家注意以下的环境搭建版本号&#xff0c;如果版本不匹配有可能出现问题&#xff01; 一、Mysql下载及安装 MySQL是一个关系型数据库管理系统&#xff0c;由瑞典MySQL AB 公司开发&#xff0c;属于 Orac…...

海量数据面试题

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

基于SSM积分商城管理系统的设计与实现(源码+lw+部署文档+讲解等)

前言 伴随着基础网络设施的不断进步和终端电子设备的高度普及&#xff0c;互联网用户规模越来越大。现在人们越来越离不开计算机网络、互联网所带来的好处了&#xff0c;现如今不同的网站系统遍地都是&#xff0c;现在已经不同于以往的传统的管理方式了&#xff0c;只有跟上时代…...

MLP预售开启,革新去中心化通信生态:智能手机与AI Agent齐上阵

2024年10月22日&#xff0c;Matrix Layer Protocol&#xff08;MLP&#xff09;宣布其备受期待的第一期产品正式进入预售阶段。随着Web3世界的不断发展&#xff0c;去中心化技术已经深入到我们日常生活的方方面面。作为Web3世界中炙手可热的创新项目&#xff0c;Matrix Layer P…...

js获取浏览器指纹

Canvas指纹法 来源&#xff1a;https://www.cnblogs.com/leijing0607/p/8044218.html 从根本上来说&#xff0c;每一种浏览器都会使用不同的图像处理引擎&#xff0c;不同的导出选项&#xff0c;不同的压缩等级&#xff0c;所以每一台电脑绘制出的图形都会有些许不同&#xf…...

乐尚代驾的项目问题

订单状态如果在流转的过程中卡住了&#xff0c;怎么办&#xff1f; 卡住的原因有可能是&#xff1a; 网络问题 网络不稳定或中断可能导致订单状态更新的请求无法及时发送或接收。例如&#xff0c;司机端在更新代驾车辆信息时&#xff0c;如果网络出现故障&#xff0c;可能无法…...

uniapp app.onshow 和 onMounted一样用吗

在uni-app中&#xff0c;onShow和onMounted并不完全相同&#xff0c;它们分别属于应用生命周期和组件生命周期。‌ 应用生命周期中的onShow 在uni-app中&#xff0c;onShow是应用生命周期的一部分&#xff0c;它会在应用启动或从后台进入前台时触发。这意味着它不仅仅局限于页…...

基于Mysql、JavaScript、PHP、ajax开发的MBTI性格测试网站(前端+后端)

源码地址&#xff1a;https://download.csdn.net/download/2302_79553009/89933699 项目简介 本项目旨在构建一个基于MBTI&#xff08;迈尔斯-布里格斯性格分类指标&#xff09;理论的在线平台——“16Personalities”。该平台利用PHP、MySQL、JavaScript等技术栈开发&#xf…...

【问题解决】连接mysql时报错caching_sha2_password can not load

一&#xff0c; 问题 在连接Mysql时报错&#xff0c; caching_sha2_password can not load 二&#xff0c;问题原因 报错信息 "caching_sha2_password can not load" 通常出现在尝试连接到使用 MySQL 8.0 或更高版本的数据库时&#xff0c;因为从 MySQL 8.0 开始&a…...

【瑞吉外卖】-day01

目录 前言 第一天项目启动 获取资料 创建项目 ​编辑 连接本地数据库 连接数据库 修改用户名和密码 ​编辑创建表 创建启动类来进行测试 导入前端页面 创建项目所需目录 检查登录功能 登录界面 登录成功 登录失败 代码 退出功能 易错点 前言 尝试一下企业级项…...

钉钉与金蝶云星空数据集成:提高企业付款申请单处理效率

钉钉数据集成到金蝶云星空&#xff1a;付款申请单的自动下推生成 在企业日常运营中&#xff0c;如何高效地管理和处理付款申请单是一个关键问题。为了提升这一流程的效率&#xff0c;我们采用了轻易云数据集成平台&#xff0c;将钉钉中的付款申请单数据无缝对接到金蝶云星空系…...

GIT使用list

清空当前commit区 方法 1&#xff1a;软重置到初始状态 如果希望保留文件内容&#xff0c;但清空所有 commit 历史&#xff0c;可以使用以下命令&#xff1a; git reset --soft $(git rev-list --max-parents0 HEAD)解释&#xff1a; --soft 表示重置 commit 历史&#xff…...

JavaSE:数组深入学习与复习

学习参考 1、可变参数传递 数组可以是int等基本数据类型&#xff0c;也可以是String等引用类型 package com.test;public class Main {public static void main(String [] args){int [] a {1,2,3,4,5};test(78,90,12,34,56,78,90,12,34,56,78);}public static void test(i…...

Redis 事务 总结

前言 相关系列 《Redis & 目录》&#xff08;持续更新&#xff09;《Redis & 事务 & 源码》&#xff08;学习过程/多有漏误/仅作参考/不再更新&#xff09;《Redis & 事务 & 总结》&#xff08;学习总结/最新最准/持续更新&#xff09;《Redis & 事务…...

go sdk的安装或者升级

背景 由于 go 语言的官方sdk还在不断的更新迭代中&#xff0c;有的时候相对应的生态相关的依赖包也在不断的升级&#xff0c;如果很长一段时间不升级自己的本地的go sdk 那么就有可能在拉取代码的时候出现错误&#xff0c;因此有的时候可能需要我们适当的升级下自己的sdk&…...

mongo实操笔记

这个链接我用了其在Windows下的下载安装 是可以的 &#xff0c;不过我太懒了&#xff0c;没有弄成自启动 Windows安装MongoDB_mongodb windows安装-CSDN博客 下面这个链接就更好了&#xff0c;我用了其与springboot整合的测试。可以直接操作mongodb了。 SpringBoot整合Mongo…...

前端算法:树(力扣144、94、145、100、104题)

目录 一、树&#xff08;Tree&#xff09; 1.介绍 2.特点 3.基本术语 4.种类 二、树之操作 1.遍历 前序遍历&#xff08;Pre-order Traversal&#xff09;&#xff1a;访问根节点 -> 遍历左子树 -> 遍历右子树。 中序遍历&#xff08;In-order Traversal&#xf…...

深度学习速通系列:如何使用bert进行超长中文文本命名实体识别

要将超长中文文本按最大 BERT 输入长度进行分割&#xff0c;并使用 bert-chinese-ner 模型进行命名实体识别&#xff0c;可以遵循以下步骤。以下是一个 Python 代码示例&#xff0c;利用 Hugging Face 的 transformers 库来实现&#xff1a; 安装必要的库 如果你还没有安装 Hu…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成&#xff0c;具体方法取决于设备类型&#xff08;如USB麦克风、3.5mm接口麦克风或HDMI音频输入&#xff09;。以下是详细指南&#xff1a; 1. 连接音频输入设备 USB麦克风/声卡&#xff1a;直接插入树莓派的USB接口。3.5mm麦克…...

【堆垛策略】设计方法

堆垛策略的设计是积木堆叠系统的核心&#xff0c;直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法&#xff0c;涵盖基础规则、优化算法和容错机制&#xff1a; 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则&#xff1a; 大尺寸/重量积木在下&#xf…...