《近似线性可分支持向量机的原理推导》 拉格朗日函数 公式解析
本文是将文章《近似线性可分支持向量机的原理推导》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。
公式 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,ξ,α,μ)=21∥w∥2+Ci=1∑Nξi−i=1∑Nαi(yi(wTxi+b)−(1−ξi))−i=1∑Nμ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 21∥w∥2+Ci=1∑Nξi
这一部分是原始优化问题的目标函数:
- 1 2 ∥ w ∥ 2 \frac{1}{2} \|w\|^2 21∥w∥2:这一项表示支持向量机的最大分类间隔。最小化 ∥ w ∥ 2 \|w\|^2 ∥w∥2 可以找到一个使分类间隔最大化的超平面。
- C ∑ i = 1 N ξ i C \sum_{i=1}^{N} \xi_i C∑i=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=1∑Nα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=1∑Nμiξi
这一项是对松弛变量 ξ i ≥ 0 \xi_i \geq 0 ξi≥0 的约束条件引入的拉格朗日乘子表示:
- μ i \mu_i μi:这是另一个拉格朗日乘子,用于确保松弛变量 ξ i \xi_i ξi 大于等于 0(即 ξ i ≥ 0 \xi_i \geq 0 ξi≥0)。每个样本 i i i 都有一个对应的 μ i \mu_i μi,如果 ξ i = 0 \xi_i = 0 ξi=0,则 μ i ≥ 0 \mu_i \geq 0 μi≥0。
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 ξi≥0。
4. 公式中的各部分解释:
(1) 第一部分 1 2 ∥ w ∥ 2 \frac{1}{2} \|w\|^2 21∥w∥2:
这一部分代表支持向量机的目标,即最大化分类间隔。最小化这一项可以使得分类超平面与数据点之间的间隔最大化。
(2) 第二部分 C ∑ i = 1 N ξ i C \sum_{i=1}^{N} \xi_i C∑i=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 ξi≥0 的约束。通过引入拉格朗日乘子 μ i \mu_i μi,我们可以确保每个松弛变量 ξ i \xi_i ξi 都是非负的。
5. 优化过程:
为了找到最优解,我们需要对拉格朗日函数 L ( w , b , ξ , α , μ ) L(w, b, \xi, \alpha, \mu) L(w,b,ξ,α,μ) 进行求解。具体过程如下:
- 求对 w w w、 b b b、和 ξ i \xi_i ξi 的偏导数:这将帮助我们找到最优的 w w w、 b b b 和 ξ i \xi_i ξi,使得拉格朗日函数对这些变量达到极值。
- 对 α i \alpha_i αi 进行优化:通过优化 α i \alpha_i αi,我们可以找到支持向量机的对偶问题。
- 最终求解对偶问题:通过求解对偶问题,找到最优的支持向量并确定分类超平面的位置和形状。
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语言指针,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基础环境搭建(CentOS7)- 安装Mysql和Hive 大家注意以下的环境搭建版本号,如果版本不匹配有可能出现问题! 一、Mysql下载及安装 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Orac…...
海量数据面试题
⭐️前言⭐️ 本篇文章主要针对在面试时可能涉及到的海量数据的面试题,该类型面试题常常考虑通过位图、布隆过滤器或者哈希的方式来解决。 🍉欢迎点赞 👍 收藏 ⭐留言评论 🍉博主将持续更新学习记录收获,友友们有任何…...
基于SSM积分商城管理系统的设计与实现(源码+lw+部署文档+讲解等)
前言 伴随着基础网络设施的不断进步和终端电子设备的高度普及,互联网用户规模越来越大。现在人们越来越离不开计算机网络、互联网所带来的好处了,现如今不同的网站系统遍地都是,现在已经不同于以往的传统的管理方式了,只有跟上时代…...
MLP预售开启,革新去中心化通信生态:智能手机与AI Agent齐上阵
2024年10月22日,Matrix Layer Protocol(MLP)宣布其备受期待的第一期产品正式进入预售阶段。随着Web3世界的不断发展,去中心化技术已经深入到我们日常生活的方方面面。作为Web3世界中炙手可热的创新项目,Matrix Layer P…...
js获取浏览器指纹
Canvas指纹法 来源:https://www.cnblogs.com/leijing0607/p/8044218.html 从根本上来说,每一种浏览器都会使用不同的图像处理引擎,不同的导出选项,不同的压缩等级,所以每一台电脑绘制出的图形都会有些许不同…...
乐尚代驾的项目问题
订单状态如果在流转的过程中卡住了,怎么办? 卡住的原因有可能是: 网络问题 网络不稳定或中断可能导致订单状态更新的请求无法及时发送或接收。例如,司机端在更新代驾车辆信息时,如果网络出现故障,可能无法…...
uniapp app.onshow 和 onMounted一样用吗
在uni-app中,onShow和onMounted并不完全相同,它们分别属于应用生命周期和组件生命周期。 应用生命周期中的onShow 在uni-app中,onShow是应用生命周期的一部分,它会在应用启动或从后台进入前台时触发。这意味着它不仅仅局限于页…...
基于Mysql、JavaScript、PHP、ajax开发的MBTI性格测试网站(前端+后端)
源码地址:https://download.csdn.net/download/2302_79553009/89933699 项目简介 本项目旨在构建一个基于MBTI(迈尔斯-布里格斯性格分类指标)理论的在线平台——“16Personalities”。该平台利用PHP、MySQL、JavaScript等技术栈开发…...
【问题解决】连接mysql时报错caching_sha2_password can not load
一, 问题 在连接Mysql时报错, caching_sha2_password can not load 二,问题原因 报错信息 "caching_sha2_password can not load" 通常出现在尝试连接到使用 MySQL 8.0 或更高版本的数据库时,因为从 MySQL 8.0 开始&a…...
【瑞吉外卖】-day01
目录 前言 第一天项目启动 获取资料 创建项目 编辑 连接本地数据库 连接数据库 修改用户名和密码 编辑创建表 创建启动类来进行测试 导入前端页面 创建项目所需目录 检查登录功能 登录界面 登录成功 登录失败 代码 退出功能 易错点 前言 尝试一下企业级项…...
钉钉与金蝶云星空数据集成:提高企业付款申请单处理效率
钉钉数据集成到金蝶云星空:付款申请单的自动下推生成 在企业日常运营中,如何高效地管理和处理付款申请单是一个关键问题。为了提升这一流程的效率,我们采用了轻易云数据集成平台,将钉钉中的付款申请单数据无缝对接到金蝶云星空系…...
GIT使用list
清空当前commit区 方法 1:软重置到初始状态 如果希望保留文件内容,但清空所有 commit 历史,可以使用以下命令: git reset --soft $(git rev-list --max-parents0 HEAD)解释: --soft 表示重置 commit 历史ÿ…...
JavaSE:数组深入学习与复习
学习参考 1、可变参数传递 数组可以是int等基本数据类型,也可以是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 & 目录》(持续更新)《Redis & 事务 & 源码》(学习过程/多有漏误/仅作参考/不再更新)《Redis & 事务 & 总结》(学习总结/最新最准/持续更新)《Redis & 事务…...
go sdk的安装或者升级
背景 由于 go 语言的官方sdk还在不断的更新迭代中,有的时候相对应的生态相关的依赖包也在不断的升级,如果很长一段时间不升级自己的本地的go sdk 那么就有可能在拉取代码的时候出现错误,因此有的时候可能需要我们适当的升级下自己的sdk&…...
mongo实操笔记
这个链接我用了其在Windows下的下载安装 是可以的 ,不过我太懒了,没有弄成自启动 Windows安装MongoDB_mongodb windows安装-CSDN博客 下面这个链接就更好了,我用了其与springboot整合的测试。可以直接操作mongodb了。 SpringBoot整合Mongo…...
前端算法:树(力扣144、94、145、100、104题)
目录 一、树(Tree) 1.介绍 2.特点 3.基本术语 4.种类 二、树之操作 1.遍历 前序遍历(Pre-order Traversal):访问根节点 -> 遍历左子树 -> 遍历右子树。 中序遍历(In-order Traversal…...
深度学习速通系列:如何使用bert进行超长中文文本命名实体识别
要将超长中文文本按最大 BERT 输入长度进行分割,并使用 bert-chinese-ner 模型进行命名实体识别,可以遵循以下步骤。以下是一个 Python 代码示例,利用 Hugging Face 的 transformers 库来实现: 安装必要的库 如果你还没有安装 Hu…...
【感知模块】深度神经网络实现运动预测
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言运动预测(Motion Prediction)感知中的运动预测(深度神经网络)前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! …...
智能优化算法-蝗虫优化算法(GOA)(附源码)
目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1.内容介绍 蝗虫优化算法 (Grasshopper Optimization Algorithm, GOA) 是一种基于群体智能的元启发式优化算法,由Saremi等人于2017年提出。GOA模拟了蝗虫群的觅食、迁徙和社会互动行为,用于解决复杂…...
TVM前端研究--Relay
文章目录 深度学习IR梳理1. IR属性2. DL前端发展3. DL编译器4. DL编程语言Relay的主要内容一、Expression in Relay1. Dataflow and Control Fragments2. 变量3. 函数3.1 闭包3.2 多态和类型关系3.3. Call4. 算子5. ADT Constructors6. Moudle和Global Function7. 常量和元组8.…...
STM32外设应用
STM32是基于ARM Cortex-M系列内核的微控制器,具有高性能、低功耗和丰富的外设资源。其广泛应用于物联网、工业控制、智能家居和嵌入式系统等领域。本文将简要介绍STM32常用外设的功能及应用实例,帮助大家更好地理解和使用STM32外设。 1. GPIO࿰…...
Docker 部署 Jaeger
Jaeger 的主要作用如下: 分布式追踪 Jaeger 是一个开源的分布式追踪系统,用于监控和排查微服务架构中的复杂问题。它可以跟踪请求在不同服务之间的传播路径,帮助开发者理解系统中各个组件之间的调用关系。 性能分析 通过收集和分析请求的执行…...
使用Python和OpenCV实现火焰检测
使用Python和OpenCV实现火焰检测 项目解释: 此 Python 代码是使用 OpenCV、线程、声音和电子邮件功能的火灾探测系统的简单示例。 以下是它的功能的简单描述: 导入库:代码首先导入必要的库: cv2:用于图像和视频处理…...
uniapp基础笔记
与html区别 uni-app简单来说是 vue的语法 小程序的api。 文件结构 html <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title><script type"text/javascript"></script><style t…...
函数基础,定义与调用。作用域,闭包函数
一、函数的定义与调用 函数是一段可重复使用的代码块,用于执行特定任务或计算等功能。它可以接受输入参数(形参),并根据参数执行操作后返回结果。 函数的定义 例如在 JavaScript 中可以这样定义函数: function fun…...
【Linux网络编程】 --- Linux权限理解
Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: Linux网络编程 🏠 shell命令以及运行原理 📌 引入例子理解shell 假设八里村有一个人叫张三,他的父亲是这个村的村长…...
Qt/C++ 调用迅雷开放下载引擎(ThunderOpenSDK)下载数据资源
目录导读 前言ThunderOpenSDK 简介参考 xiaomi_Thunder_Cloud 示例ThunderOpenSDK 下载问题 前言 在对以前老版本的exe执行程序进行研究学习的时候,发现以前的软件是使用的ThunderOpenSDK这个迅雷开放下载引擎进行的项目数据下载,于是在网上搜索一番找到…...
周期购那个网站做的比较好/搜索引擎网络排名
矩阵是线性代数的重要的组成部分,对于矩阵的计算,一般会先找一些规律再进行计算这样会更加方便。对于比较复杂的矩阵,在寻找规律时经常会将矩阵进行分割,我们将这种矩阵称为分块矩阵。有时为了表示矩阵的这种分块,就会…...
WordPress不用缓存插件/seo优化咨询
Solr单机版使用的是HttpSolrServer,集群版用的是CloudSolrServer,这两个类都是SolrServer的子类,我们在Dao层使用SolrServer抽象类进行操作,从而我们可以不用更改Dao层代码,只需要在spring容器中切换单机版或集群版Sol…...
我要在58上面做网站/如何找友情链接
前两节地址: 概述 DEMO制作 按照我们第一节课程《学习C#从俄罗斯方块开始(一)概述》的规划。我们在完成了俄罗斯方块Demo后,我们将要对Demo进行优化和美化设置,使得俄罗斯的可玩性增强。本节课程我们就从算法的优化、游戏的美化和可玩性的扩展…...
网站模版怎样使用/抖音seo优化排名
原文:SQL Server :理解DCM页我们已经讨论了各种不同的页,包括数据页、GAM与SGAM页、PFS页,还有IAM页。今天我们来看下差异变更页(Differential Change Map:DCM ),还有差异备份(diffe…...
wordpress转入插件/职业培训机构排名前十
类的成员函数可以在类内部定义,也可以在类的外部定义。当定义在类的外部时,需要同时提供类名和函数名。 1 类外部定义成员函数 代码如下所示 class MyClass{void myFunc();int i; }; void MyClass::myFunc() {i 1; } 此时类MyClass的成员函数myFunc…...
黑龙江网站建设公司/百度云下载
为什么80%的码农都做不了架构师?>>> oracle的联接分如下几种:内联接(inner join)。外联接(outer join):全联接(full join)、左联接(left join&am…...