凸优化学习(1)——什么是凸优化、凸集、凸函数

news2024/9/22 1:02:13

🍅 写在前面
👨‍🎓 博主介绍:大家好,这里是hyk写算法了吗,一枚致力于学习算法和人工智能领域的小菜鸟。
🔎个人主页:主页链接(欢迎各位大佬光临指导)
⭐️近期专栏:机器学习与深度学习
                       LeetCode算法实例
                       张量分解

凸优化系列知识,详见下方链接:

凸优化学习(1)——什么是凸优化、凸集、凸函数
本系列文章主要参考:卡耐基梅隆 凸优化系列课程

目录

  • 什么是凸优化
    • 优化
    • 凸优化
  • 凸集
  • 凸函数
  • 向量范数
  • 凸优化一般形式

什么是凸优化

优化

首先介绍什么是优化问题。优化可等同于数学规划,指的是在一系列可行解中找到最优的元素。

凸优化

在凸集上进行的最优化过程就是凸优化。在众多最优化过程中,凸优化是一种最为常见并且最重要的优化过程。因为凸优化有一个良好的性质:局部最优解也是全局最优解。 有了这个性质,我们就不需要证明局部解是否能收敛到全局最优。因此,凸优化有着广泛的应用范围,在有的问题不是凸的时候,我们往往也会将问题转化为凸优化问题来解决。

凸集

在这里插入图片描述
即凸集中任意两点连线均还在凸集中,下图中左侧为凸集,右侧为非凸集。
在这里插入图片描述

凸函数

h(x)为在n维空间定义域为凸集S的函数,若对于任意实数 α ( 0 < α < 1 ) \alpha (0<\alpha<1) α(0<α<1),以及凸集S中任意两个不同的点x和y,都有:

h ( α x + ( 1 − α ) y ) ≤ α h ( x ) + ( 1 − α ) h ( y ) h(\alpha x+(1-\alpha) y) \leq \alpha h(x)+(1-\alpha) h(y) h(αx+(1α)y)αh(x)+(1α)h(y)
即任意两点的连线都在函数的上方,下图就是一个标准的凸函数。
在这里插入图片描述
凸函数f拥有以下几个重要性质
1、一阶特性

f ( y ) ≥ f ( x ) + ∇ f ( x ) ( y − x ) f(y) \ge f(x) + \nabla f(x)(y - x) f(y)f(x)+f(x)(yx)
2、二阶特性
∇ 2 f ( x ) ≻ 0 {\nabla ^2}f(x) \succ 0 2f(x)0
这里的 f ( x ) ≻ 0 f(x) \succ 0 f(x)0表示的是矩阵是半正定的
3、Jensen不等式

f ( E ( x ) ) ≤ E ( f ( x ) ) f(E(x)){\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \le {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} E(f(x)) f(E(x))E(f(x))

向量范数

这里补充一个非常重要的概念,很多运算都是基于其:向量范数
1、0范式: ∥ x ∥ 0 {\left\| x \right\|_0} x0表示向量或集合中非零元素的个数。
2、1范式: ∥ x ∥ 1 {\left\| x \right\|_1} x1表示向量或集合中所有元素绝对值之和。
3、2范式: ∥ x ∥ 2 {\left\| x \right\|_2} x2表示向量或集合中所有元素平方和的平方根。

凸优化一般形式

在这里插入图片描述
当f(x),g(x)均为凸函数,而h(x)为仿射函数时,该优化问题是一个凸优化问题。凸优化也可以解释为目标函数 f(x) 为凸函数而起约束围成的可行域为一个凸集。

常见的凸优化问题有:线性规划(linear programs)、二次规划(quadratic programs)、半正定规划(semidefinite programs)。接下来详细介绍每一种凸优化问题的形式。

  • 线性规划(c为向量,D、A为矩阵)
    min ⁡ x c T x s . t . D x ≤ d A x = b {\min _x}{\kern 1pt} {\kern 1pt} {c^T}x\\ s.{\kern 1pt} {\kern 1pt} t.{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} Dx \le d\\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} Ax = b xmincTxs.t.DxdAx=b
  • 二次规划(要求Q为半正定矩阵)
    min ⁡ x c T x + 1 2 x T Q x s . t . D x ≤ d A x = b {\min _x}{\kern 1pt} {\kern 1pt} {c^T}x + \frac{1}{2}{x^T}Qx\\ s.{\kern 1pt} {\kern 1pt} t.{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} Dx \le d\\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} Ax = b xmincTx+21xTQxs.t.DxdAx=b
  • 半正定规划(X一般表示矩阵)

min ⁡ C X s . t . A i X ≤ b i , i = 1 , . . . . . m X ≻ 0 \begin{array}{l} {\min _{{\kern 1pt} {\kern 1pt} {\kern 1pt} }}CX\\ s.{\kern 1pt} {\kern 1pt} t.{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {A_i}X \le {b_i},i = 1,.....m\\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} X \succ 0 \end{array} minCXs.t.AiXbi,i=1,.....mX0

下一节讲解如何具体进行凸优化方法分析问题。

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

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

相关文章

铲屎官都该知道的除浮毛神器——希喂、美的、352宠物空气净化器

为什么明明在南方&#xff0c;却能感受到北方柳絮漫天飞舞&#xff0c;鼻子被堵住的感觉&#xff1f;这都是家里的猫咪在作怪。最近我感觉家里的空气特别闷&#xff0c;打开窗户通风了很久都没什么用就没去管了。早上起来的时候鼻子异物感很重&#xff0c;甚至还咳嗽不止&#…

Android TextView 学习备忘

android:gravity 与 android:layout_gravity&#xff1a; Android TextView文本位置_mob649e8166858d的技术博客_51CTO博客https://blog.51cto.com/u_16175509/8597723

【重学 MySQL】三、RDBMS 和非 RDBMS

【重学 MySQL】三、RDBMS 和非 RDBMS 关系型数据库&#xff08;RDBMS&#xff09;关系型数据库的核心概念关系型数据库的优点关系型数据库的缺点 非关系型数据库&#xff08;非 RDBMS&#xff09;定义与特点主要特点常见类型应用场景优缺点NoSql 的演变早期阶段&#xff08;20世…

langgraph tool如何发送自定义事件

在工具调用过程中&#xff0c;如何将中间状态返回到的stream&#xff0c;可以使用from langchain_core.callbacks import dispatch_custom_event方法实现。示例如下 from langchain_core.callbacks import dispatch_custom_event from langchain_core.tools import tooltool d…

分布式技术概览

文章目录 分布式技术1. 分布式数据库&#xff08;Distributed Databases&#xff09;2. 分布式文件系统&#xff08;Distributed File Systems&#xff09;3. 分布式哈希表&#xff08;Distributed Hash Tables, DHTs&#xff09;4. 分布式缓存&#xff08;Distributed Caching…

QT 联合opencv 易错点

https://blog.csdn.net/qq_51699436/article/details/135777911 网上已经有大量优秀切详尽的文章来讲述QT联合opencv了&#xff0c;我把容易出错的点列出来备忘 1、在进行opencv进行编译时&#xff0c;要确认好是32位还是64位&#xff0c;因为在创建QT项目的时候QT和opencv要匹…

Vue(7)——工程化开发

目录 工程化开发 组件化开发 普通组件的注册使用 局部注册 全局注册 组件三大组成部分说明 template style script 组件通信 父子关系 prpo prpos校验 类型校验 其他校验 prop与data、单向数据流 工程化开发 工程化开发模式&#xff1a;基于构建工具的环境…

LLM大模型学习:AI大模型原理、应用与未来趋势!

1. 引言 在自然语言处理&#xff08;NLP&#xff09;与人工智能&#xff08;AI&#xff09;的广袤星海中&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;宛如一颗璀璨的星辰&#xff0c;正悄然改变我们与语言和机器的互动方式。本章将引领您步入一…

Python从入门到高手1.1节-在windows中安装Python

1.1.1 为什么要安装Python解释器&#xff1f; Python是一种解释型语言&#xff0c;代码的执行需由解释器来逐行读取、转换成机器语言并执行。没有Python解释器&#xff0c;我们编写的Python代码便无法在计算机中运行。 同学们对语言翻译器一定不陌生&#xff0c;我们通过翻译器…

MySQL之DQL-分组函数

1、分组函数 1. 分组函数语法 分组函数也叫聚合函数。是对表中一组记录进行操作&#xff0c;每组只返回一个结果。我们只讲如下5个常用的分组函数&#xff1a; 分组函数 含义 MAX 求最大值 MIN 求最小值 SUM 求和 AVG 求平均值 COUNT 求个数 分组函数的语法如下…

一款企业网盘,支持多种文件存储方式如FTP,SFTP,MINIIO等以及跨平台管理(附源码)

前言 随着数字化转型的推进&#xff0c;企业越来越依赖于云端技术来存储、管理和共享重要的业务文件。传统的本地存储处理方案虽然可靠&#xff0c;但在灵活性、可访问性和协作方面显得力不从心。尤其在远程工作变得日益普遍的今天&#xff0c;如何高-效地管理分散团队之间的文…

【IEEE独立出版 | 往届快至会后2个月检索,刊后1个月检索】2024年第四届电子信息工程与计算机科学国际会议(EIECS 2024)

在线投稿&#xff1a;学术会议-学术交流征稿-学术会议在线-艾思科蓝 电子信息的出现与计算机技术、通信技术和高密度存储技术的迅速发展并在各个领域里得到广泛应用有着密切关系。作为高技术领域中重要的前沿技术之一&#xff0c;电子信息工程具有前瞻性、先导性的特点&#x…

代码随想录训练营day42|188.买卖股票的最佳时机IV,309.最佳买卖股票时机含冷冻期,714.买卖股票的最佳时机含手续费

188.买卖股票的最佳时机IV 变成了最多可以买卖k只股票 class Solution { public:int maxProfit(int k, vector<int>& prices) {vector<vector<int>> dp(prices.size(),vector<int>(2*k1,0));for(int i1;i<2*k1;i2){dp[0][i]-prices[0];}//初始…

【ESP32】fopen 无法创建.html文件

Long filename support设置为Long filename buffer in heap 后fopen正常创建.html文件

springBoot 集成https

springBoot 集成https 1、springBoot默认的证书格式 pring Boot 需要 .p12 或 .jks 格式的证书。如果你只有 .pem 和 .key 文件&#xff0c;可以使用 openssl 工具将它们转换成 .p12 文件 2、转换.p12 我的证书文件如下&#xff0c;需要转换 2.1 下载openssl https://slpr…

C#EF框架

EF概念: 实体框架&#xff08;Entity Framework&#xff09;是一种对象关系映射器&#xff08;O/RM&#xff09;&#xff0c;它使.NET开发人员能够通过.NET对象来操作数据库。它消除了开发人员通常需要编写的大多数数据访问代码的需求。ORM框架有个优势&#xff1a;解放开发人…

游戏开发| Unreal5.2-5.4接入chatGPT定制游戏NPC

引擎版本UE5.2 (也支持到5.4,有试用其它插件所以选择之前版本) 使用插件(免费) 1.VArest (插件官方介绍:Plugin that makes REST communications much easier.)可以让REST(Representational State Transfer)通信变得更加容易,涉及客户端与服务器之间通过 HTTP 协议…

帧缓冲 framebuffer

一、基本概念 framebuffer: 帧缓存、帧缓存&#xff08;显示设备&#xff09; Linux内核为显示提供的一套应用程序接口。&#xff08;驱动内核支持&#xff09; 分辨率&#xff1a; 像素点 显示屏&#xff1a;800 * 600&#xff08;横向有800个像素点&#xff0c;纵向有60…

9.10总结

今天学习了树形dp 根据题目意思可以建出一颗树&#xff0c;先dfs递到叶节点&#xff0c;在归的时候有递推方程 dp[n][0]max(dp[s][1],dp[s][0]); dp[n][1]dp[s][0]; s为n的子节点&#xff0c;那么递推方程就写出来了&#xff0c;今天还做了几道dp&#xff0c;都是线性dp 总…

【电子通识】半导体工艺——刻蚀工艺

在文章【电子通识】半导体工艺——光刻工艺中我们讲到人们经常将 Photo Lithography&#xff08;光刻&#xff09;缩写成 Photo。光刻工艺是在晶圆上利用光线来照射带有电路图形的光罩&#xff0c;从而绘制电路。光刻工艺类似于洗印黑白照片&#xff0c;将在胶片上形成的图像印…