SVM原问题与对偶问题

news2024/11/15 10:51:09

目的:求出我们的f(X),它代表着我们X映射到多维的情况,能够帮我们在多维中招到超平面进行分类。

1.优化问题:

1.1推荐好书:
在这里插入图片描述
1.2 优化理论中的原问题:

原问题和限制条件如下:
在这里插入图片描述
这是一个泛化性非常强的条件,为什么?
因为,我们在f函数前面加-就等于它的最大化了,包括限制条件也是,普适性非常强
在这里插入图片描述

1.3我们将原问题对应到对偶问题:

首先定义一个函数L:(本质上就是一个拉格朗日乘数,目的是在一些限制条件下求出极值)。
然后明确变量:w,α,β 三种。
α向量:跟我们原问题中的gi(w)维度一样,i属于1~N,那么α属于N维向量。
β向量:跟原问题中的hi(w)维度一样,属于N维向量。
在这里插入图片描述
1.4 接下来就是对偶问题的定义:

inf: 求里面那个括号的最小值。
具体操作: 在限定α,β的条件下(每确定一个α和β),遍历所有的w求得最小值,然后再根据外面的α和β求得θ的最大值。
限定条件: α的每一个分量>=0
在这里插入图片描述
1.5 对偶问题和原问题的关系:

目的
在这里插入图片描述
提供下界保证
对偶问题给原问题提供下界保证

根据以下的w如果是原问题的解,【原问题的解(也就是上述的极小值)】,a和β*为对偶问题的解。

在这里插入图片描述
证明原问题和对偶问题的关系

首先明确f(w*)中的w为原问题中的解,f为原问题。
其次既然w
满足原问题中的解,那么限制条件就满足。
然后我们将带入w的原问题的限制条件带入对偶问题的公式中则有:
对偶问题的定义
gi(w
)为原问题中的限制条件,>=0.
hi(w*)为原问题中的限制条件,=0.
最后将对偶问题的限制条件αi,>=0.得出结果:
f(w*)>=θ(α*,β*)的证明结果

G:原问题和对偶问题的间距(本质上也是证明了原问题和对偶问题之间的关系)

在一些特定的情况下,G=0,原问题=对偶问题(也就是我们的强对偶定理)
在这里插入图片描述

1.6 由原问题和对偶问题的关系衍生到强对偶定理:

在这里插入图片描述

这样意味着什么呢? 说明对偶问题的解就是原问题的解,在公式上的结论如下:

原问题=对偶问题的结论
说明αi或者gi必定等于0(这也就是KKT条件,解决强对偶问题的条件)
在这里插入图片描述
演化为强对偶问题后,我们就能利用对偶问题去处理原问题的解。

2.如何将原问题化解为对偶问题

2.1 首先是明确定义:

首先,我们利用强对偶问题解决原问题,前提条件是原问题函数是一个凸函数。

然后明确定义,原问题f(w):求最大d那个。
其次是限制条件:对样本进行分类【yi(标签值)[权重向量通过函数映射到高维的X]+偏置】。
在这里插入图片描述

2.2 为什么原问题的函数一定要凸函数?

因为我们通过凸函数能够得到一个唯一的极值!【结论】,我们利用数学的方式给予证明【过程】:

在这里插入图片描述
我们将一个关于凸函数几何的问题转换成一个多维问题的解释【代数形式的定义】:
在这里插入图片描述

2.3 如何减少偏差?

目的:对比原题的最小化和约束条件,我们需要修改为标准形式。
1、首先得到减少误差后的对偶函数限制条件: 我们将左边的 gi(w) 转变为右侧的两条限制条件。
如何减少误差
**2、然后是对偶问题的转化:**我们带入对偶问题函数 L(w),将 w 转换为 w,α,β参数带入得:
原对偶函数
3、在减少误差环境下的新对偶函数:
在减少误差环境下的新对偶函数
4、如何减少对偶问题的函数:

我们需要寻找到能得到使L最小化结果的参数 w,γ,b
在这里插入图片描述
考研的知道,多元函数求极值【对变量求偏导令其为0即可求解】:
对参数求偏导图
然后我们将求偏导的式子代入回原式的 θ(α,β) 函数中,得:
带入原式子后的结果
发现我们用对偶问题不知不觉消掉了函数:
在这里插入图片描述
最后得到结论θ(α,β):

在这里插入图片描述
5.限制条件为什么是这个?
结合之前的对偶函数限制条件:
在这里插入图片描述
和之前推导减少误差后的θ函数公式的过程可得:
减少误差后的θ函数的限制条件
6.明确新函数的未知与已知:

kernel核函数都给定了,而α是未知变量

在这里插入图片描述

3.回到我们之前的测试流程求参数:

在这里插入图片描述
我们只要知道整个整体的情况,就 不需要知道单个升维函数,如下图所示,我们直接将W的转置代入如上测试函数中,得:
在这里插入图片描述
可以发现,我们无需函数,只要kernel核函数即可。这样我们的WT9(x)函数就出来了。

那么如何求b?

我们可以把所有αi(不等于0和C的)带入b的式子中求b,得到所有b的值后,然后求b的平均值。
求出b的值

4.总结

1. 训练流程:
1.输入训练数据
2.求的 θ(α) 函数(SMO函数进行求解)
3.算 b
会发现整个训练流程只出现了Kernel而没有那个升维函数。——> 把无限维的fai函数变成有限的计算
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1695935.html

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

相关文章

006、API_单线程

Redis使用了单线程架构和I/O多路复用模型来实现高性能的内存数据库 服务,本节首先通过多个客户端命令调用的例子说明Redis单线程命令处理 机制,接着分析Redis单线程模型为什么性能如此之高,最终给出为什么理 解单线程模型是使用和运维Redis的…

【Java EE】网络协议——HTTP协议

目录 1.HTTP 1.1HTTP是什么 1.2理解“应用层协议” 1.3理解HTTP协议的工作过程 2.HTTP协议格式 2.1抓包工具的使用 2.2抓包工具的原理 2.3抓包结果 3.协议格式总结 1.HTTP 1.1HTTP是什么 HTTP(全称为“超文本传输协议”)是一种应用非常广泛的应…

IDEA主题Drcula个性化改造

Darcula 主题整体色调看着舒服,但是代码区分不直观,比如直接看代码是看不出这个这个是类、接口、抽象类、枚举还是啥,而且左侧图标也很难区分。 该主题基于Darcula主题对类、接口、抽象类、注解在编辑区按颜色做了区分,同时图标也…

AI遇上遥感,未来会怎样?

随着航空、航天、近地空间等多个遥感平台的不断发展,近年来遥感技术突飞猛进。由此,遥感数据的空间、时间、光谱分辨率不断提高,数据量也大幅增长,使其越来越具有大数据特征。对于相关研究而言,遥感大数据的出现为其提…

RT-Thread Env开发探索——以HC-SR04超声波传感器为例

RT-Thread Env开发探索——以HC-SR04超声波传感器为例 0.前言一、BSP优化1.修改芯片功能配置2.修改RTT配置菜单 二、软件包加载1.外设配置2.驱动框架配置3.软件包配置 三、编译及运行四、源码分析五、总结 参考文章:RT Thread Env CLion环境搭建 0.前言 对比使用R…

# 文件或目录损坏且无法读取 的解决方案

文件或目录损坏且无法读取 的解决方案 一、问题描述: windows 系统下,当对某一个文件或文件夹操作时,出现【文件或目录损坏且无法读取】,这时不管对其进行修改、删除、更改属性等操作,都不能正常进行,在 …

Android Notes

maven 版本发布 1、小于 AGP7 使用 maven 插件 apply plugin: maven uploadArchives {repositories {mavenDeployer {pom.groupId GROUP_IDpom.artifactId ARTIFACT_IDpom.version VERSION//正式版本repository(url: RELEASE_URL) {authentication(userName: userName, p…

JS闭包、原型链简单理解

目录 1.闭包概念 1.1简单demo1: 1.2简单demo2 1.3使用let代替var解决这个问题 2.函数对象和原型链 ​编辑 2.1函数对象demo 2.2.原型链demo 3.使用闭包完成JQuery的一个小demo 1.闭包概念 1.当函数声明时,函数会通过内部属性[scope]来创建范围 2.闭包一个…

出书,是「盖你自己的房子」你知道吗?

出书是「盖你自己的房子」 尊敬的出书盟友: 你好!我希望这封信能够激发您对出书和阅读的热情。 在当今信息爆炸的时代,每个人都有机会分享自己的故事、思想和知识。而书籍作为一种流传百年的媒体,依旧承载着无限的力量和影响力…

HE TB PPDU MU-RTS

看起来像是MU-RTS的触发帧的应答不是HE TB PPDU,而是传统得的帧,应答CTS。 非AP 的STA,是不能发送触发帧,也就是说,触发帧,只能是由AP发送给STA

【CCF-CSP】 202309-3 梯度求解

思路: 将表达式整理成只有目标求导变量的无括号加法表达式,其他变量均代入其值,然后利用最简单的求导公式,求出最终值。 样例1 x1 x1 x1 * x2 *转换成 x1*x1*x1x1*x2 若求导x1,则只留下x1,变为 x1*x1*x1…

python:__set_name__使用

python:__set_name__使用 1 前言 在Python中,我们可以通过__set_name__方法来实现一些特殊的操作。该方法是在定义类的时候被调用,用于设置属性的名称。这样一来,我们就可以在类定义中动态地获取属性的名称,从而更好…

转行一年了

关注、星标公众号,直达精彩内容 ID:技术让梦想更伟大 整理:李肖遥 来公司一年了。 说是转行其实还是在半导体行业,熟悉我的朋友知道 ,我在18年开始进入半导体行业,那个时候想着行业很重要,站对了…

LearnOpenGL(二十)之立方体贴图

一、创建立方体贴图 首先,生成一个纹理,并将其绑定到纹理目标GL_TEXTURE_CUBE_MAP: unsigned int textureID; glGenTextures(1, &textureID); glBindTexture(GL_TEXTURE_CUBE_MAP, textureID); 因为立方体贴图包含有6个纹理&#xff0…

Go微服务: Http服务注册在Consul的示例(非Go-Micro)

概述 现在,我们使用consul客户端的api来把Http服务注册到consul上,非Go-Micro的形式其实,consul官方提供了对应的接口调用来实现,golang中的consul/api包对其进行了封装我们使用consul/api来进行展示 目录结构 gitee.com/go-mi…

Day39贪心算法part06

LC738单调递增的数字(未掌握) 思路分析:一旦出现strNum[i - 1] > strNum[i]的情况(非单调递增),首先想让strNum[i - 1]–,然后strNum[i]给为9字符串是不可变的,不可以使用s.char…

图像处理案例01

案例01 例011.1 目标1.2 步骤1.3 代码 例01 1.1 目标 找出图形中的圆弧。 1.2 步骤 读入图像。彩色图转灰度图。图像处理。读灰度图阈值分割,得到img_thre,除掉图中的蓝色和绿色,只留下白色。对img_thre做水平梯度得到gx,这样…

ESP32-C3模组上跑通OTA升级(9)

接前一篇文章:ESP32-C3模组上跑通OTA升级(8) 本文内容参考: 《ESP32-C3 物联网工程开发实战》 乐鑫科技 特此致谢! 七、固件版本 将不同功能的固件标记为不同版本是方便后期维护的一个重要手段。ESP-IDF提供了一些标…