凸优化理论,凸二次规划问题,对偶问题及KKT条件

凸优化理论

​ 研究凸优化之前我们不妨提出几个小问题:

  1. 什么是优化问题?
  2. 优化问题的解是什么?
  3. 什么是凸优化问题?
  4. 凸优化问题的解决方案是什么?
1.1 优化问题

​ 理解优化问题其实很简单,我们其实从高中事情就一直在做,优化问题的定义是:在一定约束条件下,寻找一个或一组最优解使得某个目标函数达到最大或最小的问题。如果没有约束条件就可以理解为求解函数的最大最小值问题,如果有约束条件我们也接触过,比如在高等数学多元微分中求解条件最值。

​ 求解优化问题一般有两种方案:第一种是数学分析法,如一元函数的优化问题,可以使用导数为零的方法找到极值点,另一种是数值优化方法,通过迭代地改进决策变量的值,逐步逼近最优解,而我们学习过的梯度下降算法就属于数值优化方法。

​ 优化问题的解一般是标量或者一个向量,比如说一元求导的结果往往会得到一个X的值,在X处取到函数的最大最小值。而对于基于样本进行对模型进行迭代优化的问题,优化问题的解往往是一个参数向量。

1.2 凸优化问题

我们直接给出凸优化问题的定义:

设f: R n R^ {n} Rn → \rightarrow R为目标函数,C ⊆ \subseteq R n R^ {n} Rn 为可行域。如果满足以下条件, 则该优化问题为凸优化问题:
1.目标函数f是凸函数,即对于任意x,y ∈ \in R n R^ {n} Rn 以及任意0 ⩽ \leqslant λ \lambda λ ⩽ \leqslant 1,都有
f ( λ x + ( 1 − λ ) y ) ⩽ λ f ( x ) + ( 1 − λ ) f ( y ) 。 f(\lambda x+(1- \lambda )y) \leqslant \lambda f(x)+(1- \lambda )f(y)。 f(λx+(1λ)y)λf(x)+(1λ)f(y)
2.可行域C是凸集,即对于任意x,y ∈ \in C以及任意0 ⩽ \leqslant λ \lambda λ ⩽ \leqslant 1,都有 λ \lambda λ x+(1- λ \lambda λ )y ∈ \in C。
那么凸优化问题可以表述为:
min ⁡ x ∈ C f ( x ) 。 \min_{x \in C} f(x)。 xCminf(x)
其中,求解的目标是在可行域C中找到一个点 $ x^ {*} $ ,使得目标函数f(x)取得最小值,并且满足凸函数和凸集的条件

​ 从几何的角度可以这样去理解凸函数,首先凸函数不要求连续和可导,其次凸函数可以理解为在图像中任取两点连线,如果函数图像在这个连线的下方,则为凸函数:

image-20241109113439388

​ 从几何角度也可以这样去理解凸集,在集合范围内任取两点连线,如果两个点的连线仍然在集合内,那么该集合为凸集,显然如果集合是一个圆或者椭圆则为凸集,如果集合是一个心形则是非凸集。

image-20241109114008108

1.3 凸优化问题的分类

​ 凸优化问题可以根据目标函数和约束条件划分为:

  • 凸线性规划问题:目标函数是线性的,约束条件是仿射
  • 凸二次规划问题:目标函数是二次函数,约束条件是仿射
  • 凸半定规划问题:目标函数和约束条件涉及半正定矩阵
1.4 凸二次规划通过拉格朗日对偶法转最小最大问题

问题的一般形式:设初始优化问题为P,则P为
min ⁡ f ( x ) s . t . C i ( x ) ≤ 0 , i = 1 , 2 , . . . k H j ( x ) = 0 , j = 1 , 2 , . . . l \min f(x) \\ s.t. \\ C_i(x)\leq 0,i=1,2,...k\\ H_j(x) =0,j=1,2,...l minf(x)s.t.Ci(x)0,i=1,2,...kHj(x)=0,j=1,2,...l
其中目标函数为f(x),优化变量为x,可行域为凸集,约束条件规定x的范围

Step1: 构造拉格朗日函数
L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i C i ( x ) + ∑ j = 1 l β j H j ( x ) s . t . α i ≥ 0 L(x,\alpha,\beta)=f(x)+\sum_{i=1}^k \alpha_iC_i(x)+\sum_{j=1}^l \beta_j H_j(x)\\ s.t.\\ \alpha_i \geq 0 L(x,α,β)=f(x)+i=1kαiCi(x)+j=1lβjHj(x)s.t.αi0
Step2:转换优化问题,则初始问题P可以转化为极小极大拉格朗日函数问题:
p = min ⁡ x max ⁡ α , β L ( x , α , β ) p = \min_x \max_{\alpha,\beta} L(x,\alpha,\beta) p=xminα,βmaxL(x,α,β)
Step3.将原问题转为对偶问题
p ∗ = max ⁡ α , β min ⁡ x L ( x , α , β ) p^* = \max_{\alpha,\beta} \min_x L(x,\alpha,\beta) p=α,βmaxxminL(x,α,β)
Step4.求解出x与 α , β \alpha,\beta α,β的关系,代入L,对 α , β \alpha,\beta α,β极大化求解

​ 那么为什么原问题P能转换为极小极大拉格朗日函数问题呢?我们可以来仔细分析一下:
∵ i f α i ≥ 0 ∵ C i ( x ) ≤ 0 若取 max ⁡ α i C i ( x ) ∴ α i = 0 o r C i ( x ) = 0 ∵ H j ( x ) = 0 ∴ β j H j ( x ) = 0 ∴ p = min ⁡ x { f ( x ) , H j ( x ) = 0 , C i ( x ) ≤ 0 ∞ , o t h e r \because if \quad\alpha_i\geq 0 \\ \because C_i(x)\leq 0 \quad 若取\max{\alpha_iC_i(x)} \\ \therefore \alpha_i =0 \quad or \quad C_i(x)=0 \\ \because H_j(x) =0 \\ \therefore \beta_j H_j(x)=0 \\ \therefore p= \min_x \begin{cases} f(x), & H_j(x)=0, C_i(x)\leq 0\\ \infty, & other \end{cases} ifαi0Ci(x)0若取maxαiCi(x)αi=0orCi(x)=0Hj(x)=0βjHj(x)=0p=xmin{f(x),,Hj(x)=0,Ci(x)0other

1.5 极小极大的对偶问题

​ 什么是对偶问题呢?我们直接给出形式再进行分析,以上面的极大极小问题为例?
p = min ⁡ x max ⁡ α , β L ( x , α , β ) p = \min_x \max_{\alpha,\beta} L(x,\alpha,\beta) p=xminα,βmaxL(x,α,β)
​ 它的对偶问题是:
p ∗ = max ⁡ α , β min ⁡ x L ( x , α , β ) p^* = \max_{\alpha,\beta} \min_x L(x,\alpha,\beta) p=α,βmaxxminL(x,α,β)

​ 这样的好处在于,当我们求解时可以先对x进行求解,将 α , β \alpha,\beta α,β看作参数,这样会一定程度上降低我们求解的麻烦,其次求原问题min的时候x是已经被约束的,所以要考虑x的可行域,但是我们在求对偶问题的时候,因为先对x进行最小化求解,所以这个时候x是没有被约束,也就是x的可行域属于R。

​ 为什么会这样呢?我们可以通过放缩直观的分析到:
p ∗ ≤ max ⁡ α , β min ⁡ x ∈ 可行域 L ( x , α , β ) p^* \leq \max_{\alpha,\beta} \min_{x \in 可行域}L(x,\alpha,\beta) pα,βmaxx可行域minL(x,α,β)
​ 由于 p ∗ p^* p中x取的是全局最小,而现在缩小x的范围,因而能得到 p ∗ p^* p要更小一些

​ 同时:
max ⁡ α , β min ⁡ x ∈ 可行域 L ( x , α , β ) ≤ min ⁡ x ∈ 可行域 f ( x ) \max_{\alpha,\beta} \min_{x \in 可行域}L(x,\alpha,\beta) \leq \min_{x \in 可行域} f(x) α,βmaxx可行域minL(x,α,β)x可行域minf(x)
​ 当x属于可行域范围内时,会使得 ∑ j = 1 l β j H j ( x ) \sum_{j=1}^l \beta_j H_j(x) j=1lβjHj(x)这一项为0,使得 ∑ i = 1 k α i C i ( x ) ≤ 0 \sum_{i=1}^k \alpha_iC_i(x) \leq 0 i=1kαiCi(x)0,从而拉格朗如函数肯定是小于f(x)的。

​ 最终我们得到:
p ∗ ≤ max ⁡ α , β min ⁡ x ∈ 可行域 L ( x , α , β ) ≤ min ⁡ x ∈ 可行域 f ( x ) p^* \leq \max_{\alpha,\beta} \min_{x \in 可行域}L(x,\alpha,\beta) \leq \min_{x \in 可行域} f(x) pα,βmaxx可行域minL(x,α,β)x可行域minf(x)
​ 也就是说对偶问题极小值为我们的原始问题提供了一个极小值的下界。当然这个等式并不是最优的,我们十分渴望知道什么时候可以取等号。在解决这个问题之前我们应该先解决一个小问题?

​ 所有的问题都可以采用对偶问题吗?原来的极小极大问题什么时候可以通过取对偶问题来简化计算?

​ 当原凸优化问题满足Slater条件时该问题可以转为一个强对偶性(对偶问题的解可以和原问题的解取等号,也就是上面等号成立的情况)的凸优化问题。

​ Slater条件:Slater条件是对凸优化问题中不等式约束的限制,我们假设每一个不等式的约束为一个凸集,如果这些凸集相交且有公共交集,则称该问题符合Slater条件,否则则称不符合。如下图,图一为符合slater条件的情况图二则不符合Slater条件,无法转为对偶问题。

image-20241110214523384

​ 接下来我们解决等号的问题,其实我们已经解决了,如果一个凸优化问题同时这个问题符合Slater条件,则代表存在强对偶性,则原问题的解可以等于对偶问题的解。

​ 那么我们又将提出一个问题?是,现在是可以等于对偶问题的解,如此复杂的式子,这个解当然可以根据先求最小再求最大去求,有没有什么简单做法呢?KKT条件

1.6 KKT条件

​ 根据上文,我们直观的了解到,如果一个式子可以转为对偶问题,我们已经能很方便的去对这个问题进行求解,但是强对偶性是一个非常特殊的条件,它的特殊就体现再它又提供给了我们一个方法去求解,也就是KKT条件。KKT条件是解的充分条件,也就是说如果对偶问题具有强对偶性,则该问题的解可以通过KKT条件计算出来,也就是:
{ ∂ x L ( x , α , β ) = 0 α i C i ( x ) = 0 互补松弛条件 C i ( x ) ≤ 0 α i ≥ 0 h j ( x ) = 0 \begin{cases} \partial_x L(x,\alpha,\beta)=0\\ \alpha_iC_i(x) =0 & 互补松弛条件 \\ Ci(x) \leq 0 \\ \alpha_i \geq 0 \\ h_j(x) =0 \end{cases} xL(x,α,β)=0αiCi(x)=0Ci(x)0αi0hj(x)=0互补松弛条件
​ 根据KKT条件求出的x为原问题的最优解 α , β \alpha,\beta α,β 为对偶问题的最优解,从这个角度,KKT条件建立了原问题和对偶问题的联系。

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

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

相关文章

智能的编织:C++中auto的编织艺术

在C的世界里,auto这个关键字就像是一个聪明的助手,它能够自动帮你识别变量的类型,让你的代码更加简洁和清晰。下面,我们就来聊聊auto这个关键字的前世今生,以及它在C11标准中的新用法。 auto的前世 在C11之前&#x…

The Rank-then-Encipher Approach

原始观点 Format-Preserving Encryption 4 The Rank-then-Encipher Approach 引用1 Hybrid diffusion-based visual image encryption for secure cloud storage 2.2 Sum-preserving encryption Bellare introduced the concept of format-preserving encryption (FPE)…

江西省补贴性线上职业技能培训管理平台(刷课系统)

江西省补贴性线上职业技能培训管理平台(刷课系统) 目的是为了刷这个网课 此系统有两个版本一个是脚本运行,另外一个是可视化界面运行 可视化运行 技术栈:flask、vue3 原理: 通过分析网站接口,对某些接口加密的参数进行逆向破解,从而修改请求…

Linux基础4-进程5(程序地址空间详解)

上篇文章:Linux基础4-进程4&#xff08;环境变量&#xff0c;命令行参数详解&#xff09;-CSDN博客 本章重点&#xff1a; 1 重新理解c/c地址空间 2 虚拟地址空间 一. c/c地址空间 地址空间布局图: 运行下列代码&#xff0c;进行观察 #include <stdio.h> #include <…

动态规划-背包问题——[模版]01背包(背包母题)

1.题目解析 题目来源 [模版]01背包_牛客题霸_牛客网 测试用例 2.算法原理 1.状态表示 第一小问&#xff1a;求最大价值 第二小问&#xff1a;求充满时的价值 2.状态转移方程 第一小问&#xff1a;求最大价值 第二小问&#xff1a;求充满时的价值 3.初始化 第一小问&#xff1a…

JavaWeb之会话跟踪技术

前言 这一节主要讲会话跟踪技术 1.补充 为了提交Gitee我修改了模块的目录&#xff0c;就是移动了模块&#xff0c;导致模块不是Maven了&#xff0c;可以在右边的Maven小工具&#xff0c;点加号&#xff0c;把模块重新添加为Maven 2. 概述 3. Cookie 3.1 基本使用 //发送coo…

第二十周周报:回顾篇

目录 摘要 Abstract 1 深度学习基础知识 1.1 学习率 1.1.1 自适应学习率 1.1.2 学习率调度 1.2 归一化 1.2.1 批量归一化 1.2.2 特征归一化 1.3 激活函数 1.3.1 Sigmoid函数 1.3.2 Tanh函数 1.3.3 ReLU函数 1.3.4 Leak ReLU函数 1.3.5 PReLU函数 1.3.6 ELU函数…

智能化SCRM方案助力企业高效管理与营销转型

内容概要 现代企业面临着复杂多变的市场环境&#xff0c;传统的管理与营销方式常常无法满足日益增长的需求。这时&#xff0c;智能化SCRM方案便应运而生&#xff0c;为企业带来了新的机遇与挑战。智能化SCRM方案不仅仅是一个单一的工具&#xff0c;它更像是一个全面的解决方案…

PRD2012学习笔记

图例位置&#xff1a; 使用 loc‘upper left’ 指定图例的基本位置为左上角。 使用 bbox_to_anchor(0.1, 0.9) 来进行自定义位置调整&#xff0c;其中 (0.1, 0.9) 指定图例相对于图形区域的坐标 (x, y)。 0.1 表示距离左边界的比例位置&#xff0c;0.9 表示距离上边界的比例位置…

【01课_初识算法与数据结构】

一、理解算法 1、算法的概念 算法&#xff0c;个人理解就是计算一段逻辑&#xff0c;最简化&#xff0c;最快速的方式、方法 每个函数&#xff0c;就包含了一定的算法&#xff0c;执行一定的计算逻辑 算法是一系列程序指令&#xff0c;用于解决特定的运算和逻辑问题 2、衡…

《⼆叉搜索树》

《⼆叉搜索树》 1. ⼆叉搜索树的概念2. ⼆叉搜索树的性能分析3 二叉树的功能说明及实现3.1 ⼆叉搜索树的插⼊3.2 ⼆叉搜索树的查找3.3 ⼆叉搜索树的删除 4二叉搜索树的实现代码5 ⼆叉搜索树key和key/value使⽤场景5.1 key搜索场景&#xff1a;5.2 key/value搜索场景&#xff1a…

stm32 踩坑笔记

串口问题&#xff1a; 问题&#xff1a;会改变接收缓冲的下一个字节 串口的初始化如下&#xff0c;位长度选择了9位。因为要奇偶校验&#xff0c;要选择9位。但是接收有用数据只用到1个字节。 问题原因&#xff1a; 所以串口接收时会把下一个数据更改

卫星授时服务器,单北斗授时服务器,北斗卫星时钟服务器

当前NTP授时服务器已经实现内部的元器件及芯片实现采用国产化&#xff0c;已经证明了国产产品已经摆脱需要依靠进口元器件及芯片才能实现的产品研发、也证明了大国崛起。下来我们来分析下国产化服务器具备的优势。 1、采用国产操作系统&#xff1a;使用国产化系统Linux更加可靠…

Windows11免密码自动登录

按winR&#xff0c;打开运行&#xff0c;输入Control Userpasswords2&#xff0c;打开用户账户。 打开该设置&#xff0c;取消选中该选项&#xff0c;点击应用&#xff0c;输入想要自动登录的账户和密码&#xff0c;即可开机后自动登录Windows。 若此界面无该选项&#xff0c;…

C++使用开源ConcurrentQueue库处理自定义业务数据类

ConcurrentQueue开源库介绍 ConcurrentQueue是一个高性能的、线程安全的并发队列库。它旨在提供高效、无锁的数据结构&#xff0c;适用于多线程环境中的数据交换。concurrentqueue 支持多个生产者和多个消费者&#xff0c;并且提供了多种配置选项来优化性能和内存使用。 Conc…

中仕公考:2025年省考可以开始准备了!

“各省公务员考试”&#xff0c;是选拔和招录公务员的一种重要方式。该考试由各省级主管部门统一安排&#xff0c;编制归属于各个省份。 考试时间 各省的考试时间有所不同&#xff0c;但通常省联考的时间一般安排在3-5月之间。 户籍限制 部分岗位对考生的户籍有限制&#x…

保姆级教程,免费短链平台

神行短链 开源代码: https://github.com/EASTCATV/openShortLink.git 保姆级教程,5分钟打造属于自己的短链 免费短链平台 免费使用 短链生成 免费使用 地址: short.godsdo.com short.godsdo.com 打包命令 sbt clean && sbt packagedocker run -d \ --name shot…

三十六、Python基础语法(JSON操作)

JSON&#xff08;JavaScript Object Notation&#xff09;是一种基于文本&#xff0c;轻量级的数据交换格式。它易于人阅读和编写&#xff0c;同时也易于机器解析和生成&#xff0c;在自动化测试中经常用来存放测试数据。 JSON的特点&#xff1a; 基于文本&#xff0c;不包含图…

linux基础-完结(详讲补充)

linux基础-完结 一、Linux目录介绍 二、基础命令详细讲解 1. ls&#xff08;列出目录内容&#xff09; 2. cd&#xff08;更改目录&#xff09; 3. clear&#xff08;清除终端屏幕&#xff09; 4. pwd(显示你当前所在的目录) 5. vim(文本编辑器) 6. touch&#xff08;创…

【SAP】关于权限的继承

关于权限的父role和子role的权限继承&#xff0c;既可以 从子role主动去父role那里“取”。从父role“推”到子role 我自己之前一直用的是方法1&#xff0c;但由于子role很多&#xff0c;一个一个手工维护花了不少时间。 后来得知有方法2&#xff0c;特此测试。 我准备了父R…