当前位置: 首页 > news >正文

机器学习5_支持向量机_原问题和对偶问题——MOOC

目录

原问题与对偶问题的定义

定义该原问题的对偶问题如下

在定义了函数  的基础上,对偶问题如下:

综合原问题和对偶问题的定义得到:

定理一

对偶差距(Duality Gap)

强对偶定理(Strong Duality Theorem)

假如  成立,又根据定理一推出不等式

转化为对偶问题

首先将

得到

最小化:

限制条件:

再整理一下

最小化: 或  

限制条件:

用对偶理论求解该问题的对偶问题

对偶问题

按照对偶问题的定义,可以将对偶问题写成如下形式:

如何将原问题化为对偶问题


原问题(Prime Problem)

对偶问题(Dual Problem)

原问题与对偶问题的定义

最小化(Minimize):f\left ( \omega \right )

限制条件(Subject to):g_i(\omega )\leq 0,i=1\sim K

                                          h_i(\omega )= 0,i=1\sim m

自变量为 \omega\Leftarrow 多维向量

目标函数是 f\left ( \omega \right ) 

定义该原问题的对偶问题如下

定义函数:

L(\omega ,\alpha ,\beta )=f(\omega )+\displaystyle\sum_{i=1}^{K}\alpha _ig_i(\omega )+\displaystyle\sum_{i=1}^{K}\beta _ih_i(\omega )

向量的形式 \Rightarrow  =f(\omega )+\alpha ^Tg(\omega )+\beta ^Th(\omega )

其中 \alpha =[\alpha _1,\alpha _2,...,\alpha _k]^T\beta =[\beta _1,\beta _2,...,\beta _M]^T

g(\omega )=[g_1(\omega ),g_2(\omega ),...,g_K(\omega )]^Th(\omega )=[h_1(\omega ),h_2(\omega ),...,h_M(\omega )]^T

在定义了函数 L(\omega ,\alpha ,\beta ) 的基础上,对偶问题如下:

最大化:\theta (\alpha ,\beta )=inf\text{ }L(\omega ,\alpha ,\beta ),所有定义域内的 \omega

限制条件:\alpha _i\geq 0,i=1\sim K

综合原问题和对偶问题的定义得到:

定理一

如果 \omega ^* 是原问题的解,(\alpha ^*,\beta ^*) 是对偶问题的解则有:

f(\omega ^*)\geqslant \theta (\alpha ^*,\beta ^*)

证明:\theta (\alpha^* ,\beta ^*)=inf\text{ }L(\omega ,\alpha^* ,\beta ^*)

                             \leq L(\omega^* ,\alpha^* ,\beta^* )

                     =f(\omega ^*)+\alpha ^{*T}g(\omega ^*)+\beta ^{*T}h(\omega ^*)

                             \leq f(\omega ^*)

\because  \omega ^* 是原问题的解

\therefore  g(\omega ^*)\leqslant 0h(\omega ^*)= 0

\because  (\alpha ^*,\beta ^*) 是对偶问题的解

\therefore  \alpha (\omega ^*)\geqslant 0


对偶差距(Duality Gap)

f(\omega ^*)- \theta (\alpha ^*,\beta ^*)

根据定理一,对偶差距 \geqslant 0


强对偶定理(Strong Duality Theorem)

如果 g(\omega )=A\omega +bh(\omega )=C\omega +df(\omega ) 为凸函数,则有 f(\omega ^*)= \theta (\alpha ^*,\beta ^*),则对偶差距为0。

如果:原问题的目标函数是凸函数,限制条件是线性函数。

那么原问题的解 f(\omega ^*)= \theta (\alpha ^*,\beta ^*),对偶差距等于0。

假如 f(\omega ^*)= \theta (\alpha ^*,\beta ^*) 成立,又根据定理一推出不等式

若 f(\omega ^*)= \theta (\alpha ^*,\beta ^*),则定理一中必然能够推出,对于所有的 i=1\sim K,要么 \alpha _i=0,要么 g_i(\omega ^*)=0。这个条件成为KKT条件


转化为对偶问题

支持向量机的原问题满足强对偶定理

首先将

\delta _i\geq 0(i=1\sim N) 转换成 \delta _i\leq 0(i=1\sim N)

得到

最小化:\frac{1}{2}\left \| \omega \right \|^2-C \displaystyle\Sigma _{i=1}^N \delta _i
限制条件:

        (1)\delta _i\leq 0(i=1\sim N)

        (2)y_i[\omega ^T\varphi (X_i)+b]\geq 1+\delta _i,(i=1\sim N)

再整理一下

最小化:\frac{1}{2}\left \| \omega \right \|^2-C \displaystyle\Sigma _{i=1}^N \delta _i 或  \frac{1}{2}\left \| \omega \right \|^2+C \displaystyle\Sigma _{i=1}^N \delta _i

                \Uparrow 情况1                          \Uparrow 情况2

限制条件:

        (1)\delta _i\leq 0(i=1\sim N)

        (2)1+\delta _i-y_i\omega ^T\varphi (X_i)-y_ib\leq 0 ,(i=1\sim N) 

两个限制条件都是线性的,支持向量机的目标函数是凸的,它满足强对偶定理。

用对偶理论求解该问题的对偶问题

对偶问题

自变量 \omega 等于这里的 \left ( \omega ,b,\delta _i \right )

不等式 g_i(\omega )\leq 0 在这里被分成了两部分,

        一部分:\delta _i\leq 0(i=1\sim N)

        另一部分:1+\delta _i-y_i\omega ^T\varphi (X_i)-y_ib\leq 0 ,(i=1\sim N)

不存在 h_i(\omega )

按照对偶问题的定义,可以将对偶问题写成如下形式:

最大化:

\theta (\alpha ,\beta )=inf_{\omega ,\delta _i,b} \left \{ \frac{1}{2}\left \| \omega \right \|^2-C \sum_{i=1}^{N}\beta _i\delta _i+\sum_{i=1}^{N} \alpha _i\left [1+\delta _i-y_i\omega ^T\varphi (X_i)-y_ib \right ] \right \}

限制条件:

        (1)\alpha _i\geq 0

        (2)\beta _i\geq 0

如何将原问题化为对偶问题

遍历所有 \left ( \omega ,b,\delta _i \right ) 求最小值

对 \left ( \omega ,b,\delta _i \right ) 求导并令导数为 \textbf{0}

(1)\frac{\partial \theta }{\partial\omega }=\omega-\sum_{i=1}^{N}\alpha _i\varphi (X_i)y_i=0 \text{ } \Rightarrow \text{ } \omega=\sum_{i=1}^{N}\alpha _iy_i\varphi (X_i)

(2)\frac{\partial \theta }{\partial\delta _i }=-C+\alpha _i+\beta _i=0 \text{ } \Rightarrow \text{ }\alpha _i+\beta _i=C

(3)\frac{\partial \theta }{\partial b }=-\sum_{i=1}^{N}\alpha _iy_i=0 \text{ } \Rightarrow \text{ } \sum_{i=1}^{N}\alpha _iy_i=0

(1)用的是向量的求导准则,(2)、(3)用的是常规的自变量求导。

将获得的三个式子代入到表达中

将支持向量机的原问题化为对偶问题:

最大化:

\theta (\alpha ,\beta )=\sum_{i=1}^{N}\alpha _i-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}y_i y_j\alpha _i\alpha _j\varphi (X_i)^T\varphi (X_j)

限制条件:

        (1)0\leq \alpha _i\leq C,(i=1\sim N)

前面:\alpha _i\geq 0,\beta _i\geq 0

根据:\alpha _i+\beta _i=C \text{ }

        \Rightarrow \text{ }\beta _i=C-\alpha_i\geqslant 0

        (2)\sum_{i=1}^{N}\alpha _iy_i=0,(i=1\sim N)

相关文章:

机器学习5_支持向量机_原问题和对偶问题——MOOC

目录 原问题与对偶问题的定义 定义该原问题的对偶问题如下 在定义了函数 的基础上,对偶问题如下: 综合原问题和对偶问题的定义得到: 定理一 对偶差距(Duality Gap) 强对偶定理(Strong Duality Theo…...

索引的细节

目录 什么是线性 搜索算法? 算法:二进制搜索算法 二进制搜索如何工作? 什么是二叉排序树? 构建二叉排序树 什么是AVL树? AVL树的性能分析 什么是线性 搜索算法? 线性搜索是一种非常简单的搜索算法。在…...

LeetCode 540.有序数组中的单一元素

思路一:hash,键存入元素,值存入次数,然后遍历,不是最优解 思路二:二分查找 假设数组为 [1, 1, 2, 2, 3, 4, 4],其中唯一出现一次的元素是 3。在一个有序数组中,如果没有唯一的元素&…...

【图文】【DIY便签】如何自行编译OPENCV使用动态库

1 去官网下载安装包和源码 下面红色圈中的是源码,绿色圈中的是安装包: 2 配置工具链 安装过程不说了,教程到处都是。编译的话使用CMAKE,配置如下: 上面两个路径分别是: 源码目录编译生成的文件放置的位…...

WordPress文章自动提交Bing搜索引擎:PHP推送脚本教程

随着网站SEO优化的重要性日益增加,将新发布的内容快速提交到搜索引擎显得尤为重要。尤其对于Bing站长平台,自动化推送能让Bing尽快发现和索引我们网站的新内容。本文将详细介绍如何通过PHP脚本自动推送WordPress当天发布的文章至Bing站长平台,确保新文章被Bing及时收录。 前…...

C++题目分享

嗨嗨嗨,我又来更新这个系列了,很久没更新了。让我们看一看有那些有趣的题目: 题目一: 1.以单链表作为存储结构,实现线性表的就地逆置(提示,就地逆置:在不使用额外的数据结构或空间…...

【Spring 框架】初识 Spring

文章目录 前言1. 什么是 Spring2. 什么是 Maven3. 第一个 SpringBoot 项目4. 项目讲解结语 前言 在前面我们一起学习了 JavaSE 的基础知识,随着学习的深入,我们也将逐步介绍 JavaEE 的内容,像 Spring 框架,Mybatis 等等。在本篇博…...

链表(Linkedlist)

序言 我们都了解链表是一种数据的存储结构,在Java使用中逻辑与c,c语言数据结构别无二致,但主要由于Java中不存在指针的说法,从而导致在实现过程中的代码不同,所以在学习的过程中我们无需过于担心,逻辑都是…...

信息安全工程师(79)网络安全测评概况

一、定义与目的 网络安全测评是指参照一定的标准规范要求,通过一系列的技术、管理方法,获取评估对象的网络安全状况信息,并对其给出相应的网络安全情况综合判定。其对象主要为信息系统的组成要素或信息系统自身。网络安全测评的目的是为了提高…...

保研考研机试攻略:python笔记(3)

🐨🐨🐨11sort 与 sorted 区别 sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 list 的 sort 方法返回的是对已经存在的列表进行操作, 无返回值,而内建函数 sorted 方法返回的…...

刘卫国MATLAB程序设计与应用课后答案PDF第三版

刘卫国《MATLAB程序设计与应用》(第三版)是对普通高等教育“十一五”国家级规划教材《MATLAB程序设计与应用》(第二版)的一次全面修订。全书总体保持第二版原有体系结构,但根据技术发展和应用的需要扩充了许多新内容。全书强调数学方法、算法…...

【鉴权】Web 会话管理:Cookie、Session 和 Token 深度对比

目录 引言一、Cookie二、Session三、Token (JWT)四、总结对比五、Token、Session 和 Cookie 的选择总结 引言 在现代 Web 开发中,Cookie、Session 和 Token 都是用于用户身份验证和状态管理的常见技术。每种技术有其特定的应用场景和优缺点,理解它们之间…...

ArkTS--应用状态

应用状态 应用状态相关的内容需要使用模拟器或真机调试,在API 11开始也支持preview 1.LocalStorage LocalStorage是页面级的UI状态存储,通过Entry装饰器接收参数可以在页面内共享数据 1.1 页面内共享数据 import {MyUser} from ../model/MyUser //用户对…...

yolov8涨点系列之引入CBAM注意力机制

文章目录 YOLOv8 中添加注意力机制 CBAM 具有多方面的好处特征增强与选择通道注意力方面空间注意力方面 提高模型性能计算效率优化: yolov8增加CBAM具体步骤CBAM代码(1)在__init.pyconv.py文件的__all__内添加‘CBAM’(2)conv.py文件复制粘贴CBAM代码(3)修改task.py…...

java标准JavaBean类

1. public class test {//属性private String username;private String password;private String email;private String gender;private int age;//快捷键//altinsert//altFninsert//插件PTG1秒生成标准Javabean //插件ptg c//空参public test() {}//全部参数…...

MATLAB界面设计全攻略:从基础入门到高级应用

引言 MATLAB作为一种功能强大的科学计算软件,不仅可以进行各种复杂的数值计算,还可以通过其图形用户界面设计工具(GUI)为用户提供可视化操作界面。本教程旨在详细介绍MATLAB界面设计的全过程,为初学者提供从入门到精通…...

JavaScript API部分知识点

一、Dom获取&属性操作 (一)、 Web API 基本认知 1、变量声明 const 声明的值不能更改,而且const声明变量的时候需要里面进行初始化 但是对于引用数据类型,const声明的变量,里面存的不是 值,是 地址…...

钉钉调试微应用整理2

第一步 新建应用 钉钉开放平台](https://open-dev.dingtalk.com/) 去新增应用 第二步 配置应用信息 把本地代码运行起来&#xff0c;并设置本地地址 第三步 在本地代码添加调试命令 这里有2中添加方式 哪一种都可以 方式一&#xff1a; index.html页面中 <!DOCTYPE h…...

C++初级入门(1)

第一部分 基础语法入门 一、基础 1、变量与常量 1、变量 变量存在的意义:方便管理内存空间 2、常量 用于记录程序中不可更改的数据 #define 常量名 常量值 const 数据类型 常量名常量值 ; 2、数据类型 1、整型 short 2字节 int 4字节 long Wi…...

group_concat配置影响程序出bug

在 ThinkPHP 5 中&#xff0c;想要临时修改 MySQL 数据库的 group_concat_max_len 参数&#xff0c;可以使用 原生 SQL 执行 来修改该值。你可以通过 Db 类来执行 SQL 语句&#xff0c;从而修改会话&#xff08;Session&#xff09;级别的变量。 步骤 设置 group_concat_max_l…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...