SVM原问题与对偶问题

目的:求出我们的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.mzph.cn/diannao/15773.shtml

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

相关文章

【漏洞复现】英飞达医学影像存档与通信系统 WebJobUpload 任意文件上传漏洞

0x01 产品简介 英飞达医学影像存档与通信系统 Picture Archiving and Communicaton System,它是应用在医院影像科室的系统,主要的任务就是把日常产生的各种医学影像(包括核磁,CT,超声,各种X光机,各种红外仪…

LeetCode - 数组 - 四数之和

题目地址 描述 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复)&#x…

cs与msf权限传递以及mimikatz抓取win2012明文密码

简单的介绍 cs与msf的简单介绍 我查找过资料得出,Cobalt Strike 的前身是 Armitage,而 Armitage 又可以理解为 Metasploit Framework 的图形界面版,因此 Cobalt Strike 与 Metasploit Framework 在很多地方都是兼容的,所以我们便…

人工智能 框架 paddlepaddle 飞桨 使用指南 使用例子 线性回归模型demo 详解

安装过程&使用指南&线性回归模型 使用例子 本来预想 是安装 到 conda 版本的 11.7的 但是电脑没有gpu 所以 安装过程稍有变动,下面简单讲下 conda create -n paddle_env117 python=3.9 由于想安装11.7版本 py 是3.9 所以虚拟环境名称也是 paddle_env117 activa…

下载和安装AD19 - Altium Designer 19.1.9 Build 167

虽然有AD24 的安装资源,但是我比较喜欢19 这个数字[doge] 下载 仍然是从毛子网站源头进货:https://rutracker.net/forum/viewtopic.php?t5754276,网盘: https://pan.baidu.com/s/1ic31N4h7HS2FBu7JFll0YQ?pwdvjum 提取码: vjum 安装 压…

【DevOps】深入了解RabbitMQ:AMQP协议基础、消息队列工作原理和应用场景

目录 一、核心功能 二、优势 三、核心概念 四、工作原理 五、交换机类型 六、消息确认 七、持久性和可靠性 八、插件和扩展 九、集群和镜像队列 十、客户端库 十一、管理界面 十二、应用场景 RabbitMQ是一个基于AMQP协议的消息队列中间件,提供高可用、可…

[MRCTF2020]Xor

32位程序 主要逻辑 flagMSAWB~FXZ:J:tQJ"N bpdd}8g for i in range(len(flag)):print(chr(ord(flag[i])^i),end)

react 权限树形结构实现

项目背景 react ant design 实现效果 1 将后台返回的平铺数据 , 转成树形结构 const [roleId, setRoleId] useState() //存储角色id// 弹权限弹窗const empowerHandle async record > {setRoleId(record.roleId)//获取单独的权限const res1 await getPermission({ role…

力扣96. 不同的二叉搜索树

Problem: 96. 不同的二叉搜索树 文章目录 题目描述思路复杂度Code 题目描述 思路 一个数字做根节点的话可能的结果为:其左边数字做子树的组合数字乘以其右边数字做子树的个数之积 1.创建备忘录memo; 2.递归分别求取当前数字左边和右边数字做子树的数量&…

Vue 中 diff 算法原理

1. Diff 概念 vue 基于虚拟 DOM 做更新 。diff 的核心就是比较两个虚拟节点的差异 。Vue 的 diff 算法是平级比较,不考虑跨级比较的情况。内部采用深度递归的方式 + 双指针的方式进行比较。 2. Vue2 Diff 比较流程. 1.1先比较是否是相同节点 key tag 1.2相同节点比较属性,并…

【数据结构与算法 刷题系列】移除链表元素

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:数据结构与算法刷题系列(C语言) 期待您的关注 目录 一、问题描述 二、解题思路 三、源代码实现 一、问题…

基于trunk、yew构建web开发脚手架

trunk 构建、打包 rust wasm 程序;yewweb 前端开发库; 项目仓库yew-web trunk 之前已经简单介绍了trunk,全局安装: $> cargo install --locked trunk常用命令: trunk build 基于wasm-bindgen构建 wasm 程序。trunk watch …

vue17:v-bind对css样式的控制增强

代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><styl…

『USB3.0Cypress』FPGA开发(3)GPIF II短包零包时序分析

文章目录 1.时序参数2.FX3_PCLK3.短包和零包3.1短包时序3.2零包ZLP时序 4.传送门 1.时序参数 AN65974文档中明确了操作GPIF II接口时的时序参数&#xff0c;上一篇文章中给出了读写时序图&#xff0c;本篇第二节给出ZLP写周期时序&#xff0c;这里说明相关的时序参数。应该注意…

用户态下屏蔽全局消息钩子 —— ClientLoadLibrary 指针覆盖

目录 前言 一、研究 SetWindowsHookEx 的机制 二、概念验证 三、运行效果分析 四、总结与展望 参考文献 原文出处链接&#xff1a;[https://blog.csdn.net/qq_59075481/article/details/139206017] 前言 SetWindowsHookEx 函数帮助其他人员注入模块到我们的进程&#x…

【代码随想录训练营】【Day 27 and 28】【回溯1-2】| Leetcode 77, 216, 17

【代码随想录训练营】【Day 27 and 28】【回溯1-2】| Leetcode 77, 216, 17 需强化知识点 组合问题&#xff1a;感受遍历的横向和纵向 题目 77. 组合 注意path要深拷贝 class Solution:def combine(self, n: int, k: int) -> List[List[int]]:result []def backtrac…

Kubernetes(k8s) v1.30.1 本地集群部署 安装metallb 支持LoadBalancer 生产环境 推荐 BGP模式部署

1 metallb 安装参考:Kubernetes(k8s) v1.30.1 本地集群部署 默认不支持LoadBalancer metallb来解决-CSDN博客 2 删除 Layer 2 模式 配置 kubectl delete -f IPAddressPool.yaml kubectl delete -f L2Advertisement.yaml kubectl delete -f discuz-srv.yaml 3 配置 k8s Metal…

nacos-opera(k8s)安装问题解决

整理一些关于k8s部署nacos出现的一些恶心的问题 网上说其他说的更改数据库连接都未解决。 在用nacos-opera想安装高可用nacos时连接mysql数据库报错: 报错具体项: No DataSource set 具体就是说没找到数据源。 第一个 检查一下nacos连接数据库配置 : 第二个 检查一下数据库…

[笔试训练](三十三)097:跳台台阶扩展问题098:包含不超过两种字符的最长子串099:字符串的排列

目录 097:跳台台阶扩展问题 098:包含不超过两种字符的最长子串 099:字符串的排列 097:跳台台阶扩展问题 题目链接:跳台阶扩展问题_牛客题霸_牛客网 (nowcoder.com) 题目&#xff1a; 题解&#xff1a; 规律题: 1.跳上n级台阶的跳法等于前面1~(n-1)级台阶跳法的总和1。 2.跳…