凸优化理论学习一|最优化及凸集的基本概念

文章目录

  • 一、优化问题
    • (一)数学优化
    • (二)凸优化
  • 二、凸集
    • (一)一些标准凸集
    • (二)保留凸性的运算
    • (三)正常锥和广义不等式
    • (四)分离和支撑超平面


一、优化问题

(一)数学优化

从本质上讲,人工智能的目标就是最优化——在复杂环境中与多体交互中做出最优决策。几乎所有的人工智能问题都会归结为一个优化问题。

  • 优化目标:minimize f 0 ( x ) f_0(x) f0(x)
  • 约束条件:
    • 非等式约束: f i ( x ) ≤ 0 , i = 1 , . . . , m f_i(x)\leq0,i=1,...,m fi(x)0i=1,...,m
    • 等式约束: g i ( x ) = 0 , i = 1 , . . . , m g_i(x)=0,i=1,...,m gi(x)=0i=1,...,m

将最优化问题用于求解最佳决策时, x x x代表决策,约束用于限制决策或对结果施加条件
将最优化问题用于求解最优模型时, x x x 表示模型中的参数,约束对模型参数提出要求(例如,非负性)

最优化问题一般情况下不能得到完全的解决,但是可以尝试近似地解决它,而且通常无伤大雅。这个问题的例外情况是:凸优化问题。

一般非凸问题的传统技术通常会涉及到一定的妥协:

  • 局部优化方法(非线性规划)
    • 在其附近的可行点中找到一个使 f 0 f_0 f0 最小的点
    • 可以处理大问题,例如神经网络训练
    • 需要初始猜测,并且通常需要算法参数微调
    • 不提供有关找到的点有多次优的信息
  • 全局优化方法
    • 找到(全局)解决方案
    • 最坏情况的复杂性随着问题的规模呈指数级增长
    • 通常基于解决凸子问题

(二)凸优化

凸优化问题是特殊形式的优化问题,包括线性规划 (LP)、二次规划 (QP) 等,我们通常能够可靠、高效地解决这些问题。

  • 优化目标:minimize f 0 ( x ) f_0(x) f0(x)
  • 约束条件:
    • 非等式约束: f i ( x ) ≤ 0 , i = 1 , . . . , m f_i(x)\leq0,i=1,...,m fi(x)0i=1,...,m
    • 等式约束: A x = b Ax=b Ax=b

凸优化问题与最优化问题的对比:

  • 凸优化问题的等式约束是线性的
  • f 0 , . . . , f m f_0,..., f_m f0,...,fm是凸的: θ ∈ [ 0 , 1 ] , f i ( θ x + ( 1 − θ ) y ) ≤ θ f i ( x ) + ( 1 − θ ) f i ( y ) \theta \in [0,1],f_i(\theta x+(1-\theta)y)\leq\theta f_i(x)+(1-\theta)f_i(y) θ[0,1],fi(θx+(1θ)y)θfi(x)+(1θ)fi(y)

二、凸集

(一)一些标准凸集

仿射集包含通过集合中任意两个不同点的线(通过 x 1 x_1 x1 x 2 x_2 x2两点的线: x = θ x 1 + ( 1 − θ ) x 2 , θ ∈ R x=\theta x_1+(1-\theta)x_2,\theta \in R x=θx1+(1θ)x2,θR

  • 函数形式为f=Ax+b,则称函数是仿射的,即线性函数加常数的形式。
  • 比如线性方程组的解 { x ∣ A x = b } \{x |Ax = b\} {xAx=b},并且每个仿射集都可以表示为线性方程组的解集
    在这里插入图片描述

凸集包含集合中任意两点之间的线段( x 1 x_1 x1 x 2 x_2 x2两点间的线段: x = θ x 1 + ( 1 − θ ) x 2 , 0 ≤ θ ≤ 1 x=\theta x_1+(1-\theta)x_2,0\leq\theta\leq1 x=θx1+(1θ)x2,0θ1

  • 凸集满足对于 x 1 , x 2 ∈ C , 0 ≤ θ ≤ 1 x_1,x_2\in C,0\leq\theta\leq1 x1,x2C,0θ1,有 θ x 1 + ( 1 − θ ) x 2 ∈ C \theta x_1+(1-\theta)x_2\in C θx1+(1θ)x2C
  • 以下为一个凸集和两个非凸集的示意:
    在这里插入图片描述

为什么 x = θ x 1 + ( 1 − θ ) x 2 x=\theta x_1+(1-\theta)x_2 x=θx1+(1θ)x2可以表示任意两点连接线段的所有点?将上式展开得:
x = θ x 1 + ( 1 − θ ) x 2 = θ x 1 + x 2 − θ x 2 = θ ( x 1 − x 2 ) + x 2 x=\theta x_1+(1-\theta)x_2=\theta x_1+x_2-\theta x_2=\theta(x_1-x_2)+x_2 x=θx1+(1θ)x2=θx1+x2θx2=θ(x1x2)+x2
在这里插入图片描述

凸包: S 中所有点的凸组合的集合( x 1 , . . . , x k x_1,...,x_k x1,...,xk的凸组合: x = θ 1 x 1 + θ 2 x 2 + . . . + θ k x k x=\theta_1 x_1+\theta_2 x_2+...+\theta_k x_k x=θ1x1+θ2x2+...+θkxk,其中 θ 1 + . . . + θ k = 1 , θ i ≥ 0 \theta_1+...+\theta_k =1,\theta_i \geq 0 θ1+...+θk=1,θi0
在这里插入图片描述
凸锥体: 包含集合中点的所有圆锥组合的集合( x 1 x_1 x1 x 2 x_2 x2的圆锥组合: x = θ 1 x 1 + θ 2 x 2 x=\theta_1 x_1+\theta_2 x_2 x=θ1x1+θ2x2,且 θ 1 ≥ 0 , θ 2 ≥ 0 \theta_1\geq0,\theta_2\geq0 θ10,θ20

在这里插入图片描述

超平面: 形式为 { x ∣ a T x = b } \{x | a^T x = b\} {xaTx=b}的集合,其中 a ≠ 0 a ≠ 0 a=0半空间: 形式为 { x ∣ a T x ≤ b } \{x | a^T x \leq b\} {xaTxb}的集合,其中 a ≠ 0 a ≠ 0 a=0。(a是法向量,超平面是仿射和凸的;半空间是凸的)
在这里插入图片描述

欧几里得球: B ( x c , r ) = { x ∣ ∣ ∣ x − x c ∣ ∣ 2 ≤ r } = { x c + r u ∣ ∣ ∣ u ∣ ∣ 2 ≤ 1 } B(x_c,r)=\{x|\ ||x-x_c||_2\leq r\} = \{x_c+ru|\ ||u||_2\leq1\} B(xc,r)={x ∣∣xxc2r}={xc+ru ∣∣u21}

椭球: { x ∣ ( x − x c ) T P − 1 ( x − x c ) ≤ 1 } = { x c + r u ∣ ∣ ∣ u ∣ ∣ 2 ≤ 1 } = { x c + A u ∣ ∣ ∣ u ∣ ∣ 2 ≤ 1 } \{x|\ (x-x_c)^T P^{-1}(x-x_c)\leq 1\} = \{x_c+ru|\ ||u||_2\leq1\} = \{x_c+Au|\ ||u||_2\leq1\} {x (xxc)TP1(xxc)1}={xc+ru ∣∣u21}={xc+Au ∣∣u21},其中 P ∈ S + + n P\in S^n_{++} PS++n,也就是说P 对称正定,A平方且非奇异。

中心为 x c x_c xc,半径为 r r r 的标准球: { x ∣ ∣ ∣ x − x c ∣ ∣ ≤ r } \{x|\ ||x − x_c|| ≤ r\} {x ∣∣xxc∣∣r}

标准锥: { ( x , t ) ∣ ∣ ∣ x ∣ ∣ ≤ t } \{(x, t) |\ ||x||≤t\} {(x,t) ∣∣x∣∣t}

欧几里得范数锥: { ( x , t ) ∣ ∣ ∣ x ∣ ∣ 2 ≤ t } \{(x, t) |\ ||x||_2≤t\} {(x,t) ∣∣x2t}

多面体 是有限多个线性不等式和等式的解集,也是有限数量的半空间和超平面的交集。 { x ∣ A x ≤ b , C x = d } \{x| Ax\leq b,Cx=d\} {xAxb,Cx=d}

(二)保留凸性的运算

证明集合 C 凸性的方法:

  • 基于定义:如果 x 1 , x 2 ∈ C , 0 ≤ θ ≤ 1 x_1,x_2\in C,0\leq\theta\leq 1 x1,x2C,0θ1,则有 θ x 1 + ( 1 − θ ) x 2 ∈ C \theta x_1+(1-\theta)x_2\in C θx1+(1θ)x2C
  • 使用凸函数;
  • 表明 C 是通过保留凸性的操作从简单凸集(超平面、半空间、范数球……)获得的;

交运算:(任意数量的)凸集的交集是凸的。
在这里插入图片描述

仿射映射:凸集的仿射映射也是凸的。(函数形式为f=Ax+b,则称函数是仿射的,即线性函数加常数的形式。)

在这里插入图片描述(仿射变换就认为是一个矩阵变换,足球可以映射成一个橄榄球,依然是凸集。)

由仿射变换推出凸集的和也是凸集:
在这里插入图片描述

透视函数:凸集在透视下的像和逆像都是凸的(透视函数实际上就是对向量进行伸缩规范化)
在这里插入图片描述

线性分数函数是仿射映射函数和透视变换的复合函数,依然还是保凸运算,凸集在线性分数函数下的像和逆像都是凸的。从联合概率到条件概率的变换是一个线性分数函数。

在这里插入图片描述

(三)正常锥和广义不等式

正常锥的定义:如果凸锥体 K ⊆ R n K⊆R_n KRn满足如下条件,则称锥 K ⊆ R n K⊆R_n KRn为正常锥。

  • K是凸的
  • K是闭的
  • K是实的,即K有非空的内部
  • K是尖的,即K不包含任何直线

在这里插入图片描述

广义不等式满足类似普通不等式的性质,如传递性,反对称性等等。 广义不等式和普通不等式最大的区别是不是任意两点都是可比的。即 x ≤ y x≤y xy y ≤ x y≤x yx对于普通不等式二者必居其一。而对于广义不等式这不一定成立。所以最小,最大这些概念对于广义不等式变得很复杂。

(四)分离和支撑超平面

分离超平面:利用超平面将两个不相交的凸集分离开来,即得到超平面分离定理。
在这里插入图片描述在这里插入图片描述
支撑超平面:如果C是凸的,那么在C的每个边界点都存在一个支持超平面。
在这里插入图片描述在这里插入图片描述支撑超平面不完全逆定理:如果一个集合是闭的,具有非空内部并且其边界上每个点均存在支撑超平面,那么它是凸的。

参考:
凸优化之保凸运算
广义不等式
【最优化理论与算法】数学预备知识、凸集和凸函数

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

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

相关文章

dos命令改3389端口,通过dos命令更改3389端口的操作

要使用DOS命令更改3389端口,通常涉及修改Windows注册表中的相关键值。请注意,直接操作注册表具有一定的风险,因此在进行任何更改之前,请确保您了解正在进行的操作,并已经采取了适当的备份措施。 以下是一个基本的操作步…

原子学习笔记4——GPIO 应用编程

一、应用层如何操控 GPIO 与 LED 设备一样,GPIO 同样也是通过 sysfs 方式进行操控,进入到/sys/class/gpio 目录下,如下所示: gpiochipX:当前 SoC 所包含的 GPIO 控制器,我们知道 I.MX6UL/I.MX6ULL 一共包…

Threejs Shader动态修改Merge合并几何体中单个Mesh的颜色

目录 Merge合并 现象 思路 实现 为单个geometry添加映射 通过id检索Merge后的Geometry映射属性,获取顶点坐标 onBeforeCompile修改编译前材质的着色代码 编译前材质的顶点着色代码 编译前材质的片元着色代码 着色器代码 注意 效果 Merge合并 mergeBuf…

redis深入理解之数据存储

1、redis为什么快 1)Redis是单线程执行,在执行时顺序执行 redis单线程主要是指Redis的网络IO和键值对读写是由一个线程来完成的,Redis在处理客户端的请求时包括获取(socket 读)、解析、执行、内容返回 (socket 写)等都由一个顺序串行的主线…

sqli-labs第一关

1、提示我们需要传递一个id的参数 ?id1 2、判断是什么类型的注入(字符or整形)结果:存在字符型注入 ?id1 ?id1 -- 3、使用联合查询,查看有几列。结果:有3列 ?id1 order by 4 -- 4、查看这3列中哪几列会在页面显…

Lombok介绍、使用方法和安装

目录 1 Lombok背景介绍 2 Lombok使用方法 2.1 Data 2.2 Getter/Setter 2.3 NonNull 2.4 Cleanup 2.5 EqualsAndHashCode 2.6 ToString 2.7 NoArgsConstructor, RequiredArgsConstructor and AllArgsConstructor 3 Lombok工作原理分析 4. Lombok的优缺点 5. 总结 1 …

QueryPerformanceCounter实现高精度uS(微妙)延时

参考连接 C# 利用Kernel32的QueryPerformanceCounter封装的 高精度定时器Timer_kernel32.dll queryperformancecounter-CSDN博客https://blog.csdn.net/wuyuander/article/details/111831973 特此记录 anlog 2024年5月11日

土地档案管理关系参考论文(论文 + 源码)

【免费】javaEE土地档案管理系统.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89296786 土地档案管理关系 摘 要 研究土地档案管理关系即为实现一个土地档案管理系统。土地档案管理系统是将现有的历史纸质档案资料进行数字化加工处理,建成标准化的…

探索Linux:深入理解各种指令与用法

文章目录 cp指令mv指令cat指令more指令less指令head指令tail指令与时间相关的指令date指令 cal指令find指令grep指令zip/unzip指令总结 上一个Linux文章我们介绍了大部分指令,这节我们将继续介绍Linux的指令和用法。 cp指令 功能:复制文件或者目录 语法…

基于Qt的Model-View显示树形数据

目标 用qt的模型-视图框架实现树型层次节点的显示,从QAbstractItemModel派生自己的模型类MyTreeItemModel,用boost::property_tree::ptree操作树型数据结构,为了演示,此处只实现了个只读的模型 MyTreeItemModel的定义 #pragma o…

张驰咨询:AI与六西格玛——携手共进,非彼此替代

在历史的洪流中,技术与方法的演进如同波澜壮阔的画卷,不断书写着人类文明的篇章。六西格玛,作为一种追求极致品质与效率的方法论,是现代工业文明中的瑰宝。而当我们面对AI(人工智能)这一新时代的产物时&…

[leetcode] 68. 文本左右对齐

文章目录 题目描述解题方法贪心java代码复杂度分析 题目描述 给定一个单词数组 words 和一个长度 maxWidth ,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单词&#xff…

视频监控系统中,中心录像服务器的录像文件实际大小和理论值相差很大的问题解决

目录 一、现象描述 二、视频监控的录像文件计算 (一)计算方法 1、仅视频部分 2、视频和音频部分 3、使用平均码率 (二)计算工具 1、关注威迪斯特公众号 2、打开“计算容量”的小工具 三、原因分析 (一&…

Redis 实战之命令请求的执行过程

命令请求的执行过程 发送命令请求读取命令请求命令执行器(1):查找命令实现命令执行器(2):执行预备操作命令执行器(3):调用命令的实现函数命令执行器(4&#x…

【回溯算法】【Python实现】最大团问题

文章目录 [toc]问题描述回溯算法Python实现时间复杂性 问题描述 给定无向图 G ( V , E ) G (V , E) G(V,E),如果 U ⊆ V U \subseteq V U⊆V,且对任意 u u u, v ∈ U v \in U v∈U有 ( u , v ) ∈ E (u , v) \in E (u,v)∈E,则称…

Navicat导出表结构到Excel或Word

文章目录 sql语句复制到excel复制到Word sql语句 SELECTcols.COLUMN_NAME AS 字段,cols.COLUMN_TYPE AS 数据类型,IF(pks.CONSTRAINT_TYPE PRIMARY KEY, YES, NO) AS 是否为主键,IF(idxs.INDEX_NAME IS NOT NULL, YES, NO) AS 是否为索引,cols.IS_NULLABLE AS 是否为空,cols.…

13.Netty组件EventLoopGroup和EventLoop介绍

EventLoop 是一个单线程的执行器(同时维护了一个Selector),里面有run方法处理Channel上源源不断的io事件。 1.继承java.util.concurrent.ScheduledExecutorService因此包含了线程池中所有的方法。 2.继承netty自己的OrderedEventExecutor …

JDBC调用MogDB存储过程返回ref_cursor的方法和注意事项

MogDB在处理存储过程的时候,有时候需要返回结果集,类型为ref_cursor,但有时候可能会报错。而大部分应用程序都是使用Java JDBC. 根据我们这几年的数据库国产化改造经验,给大家分享一下JDBC调用 MogDB存储过程返回ref_cursor的方法…

算法设计与分析 例题解答 解空间与搜索

1.请画出用回溯法解n3的0-1背包问题的解空间树和当三个物品的重量为{20, 15, 10},价值为{20, 30, 25},背包容量为25时搜索空间树。 答: 解空间树: 搜索空间树: 2. 考虑用分支限界解0-1背包问题 给定n种物品和一背包…

2 GPIO控制

ESP32的GPIO的模式,一共有输入和输出模式两类。其中输入模式:上拉输入、下拉输入、浮空输入、模拟输入;输出模式:输出模式、开漏输出(跟stm32八种输入输出模式有所不同)。库函数中控制引脚的函数如下&#…