【凸优化】Legendre变换、共轭函数、对偶

news2024/10/22 23:38:50

推荐文章

[凸优化-凸共轭]Legendre and Legendre-Fenchel transforms - 知乎 (zhihu.com)

一、Legendre变换

1、几何解释1

Legendre 变换通过选择斜率 u 作为新的自变量,将函数描述为它的斜率与相应的 x 的函数值之间的关系。几何上,它可以理解为用函数的斜率信息重新描述该函数,极大地拓展了我们在不同变量下描述物理系统的能力。

假设凸函数f(x)的Legendre 变换为G(u),则G(u)的定义域为f(x)的斜率的取值范围,G(u)的取值为f(x)中斜率为 u 的点的函数值。对于凸函数f(x)G(u)中包含的f(x)的所有信息。

2、数学推导

f(x)f(x_{i})是凸函数。

一维情况下的推导  和  多维情况下的推导

3、几何解释2

这部分来看一下Legendre变换后的函数在几何上于原函数的关系:

G(u)=ux-f(x),画在图像上:

公式中的ux等于图中的(F+G),公式中的f(x)等于图中的F,所以公式中的G(u)等于图中的G

即函数切线的负截距。

所以有以下几何解释:

Legendre 变换本质上是将一个曲线的点用该点上的切线表示。换句话说,你将函数的点集换成斜率 u 和切线的截距(由 G(u) 表示)。也就是从一个点集转化为了一个“切线集”,点集中的每个点都包含两个信息:x和y,“切线集”中的每个切线也都包含两个信息:斜率和负截距。

反向推导:

对于f(x),其在某点(x_{0},f(x_{0}))处的切线方程为f(x)=f{}'(x_{0})(x-x_{0})+f(x_{0})

切线方程的斜率为f{}'(x_{0}),负截距为f{}'(x_{0})x_{0}-f(x_{0})

G(u)=ux-f(x)

4、Legendre 变换的Legendre 变换是函数本身

数学推导

几何直观

f(x)上一点(x_{0},f(x_{0}))处的切线为:f(x)=u(x_{0})x-G(u(x_{0}))

G(u)上一点(u_{0},G(u_{0}))处的切线为:G(u)=x(u_{0})u-f(x(u_{0}))

所以他们是Legendre 变换是相互的。

也就是说f(x)的切线的斜率为自变量,负截距为函数值组成的函数G(u)G(u)的切线的斜率和负截距分别是xf(x) 。

5、从Legendre 变换函数到原函数的几何直观

对于一个凸且光滑的函数f(x),在每个点处,有且仅有一个切线与之对应, 而这个切线又可以由G(u)中唯一的一个点来表示,所以f(x)G(u)是唯一对应的,他们相互包含着对方的所有信息。那么如何从G(u)得到f(x)呢?当然可以使用解析的方法,即对G(u)进行Legendre 变换得到f(x)。那么这个过程如何从几何视角来理解呢?

当从f(x)G(u)的变换过程中,G(u)中的每个点都是f(x)中相应点的切线信息,那么通过G(u)即可画出f(x)的所有切线,如图:

当画出所有切线时,在切线的上方将会形成一个保包络,这个包络即是f(x)

同样的,由于f(x)G(u)是相对的,用f(x)上的每个点画出G(u)的所有切线时,切线上的包络也是G(u)的图像。

二、共轭函数

1、定义及理解

了解了Legendre变换后,我们知道,f(x)存在Legendre变换的条件是它可微且是凸函数。对于是否可微,暂且不做讨论。想象一下,当f(x)不是凸函数时,那么仍的Legendre变换,将会出现什么。

显然,其Legendre变换G(u)将会出现一对多的情况,这时取函数值的最大值,即此时Legendre变换的结果G(u)即是f(x)的共轭函数:

                                           f^{*}(y)=\underset{x\epsilon domf}{sup}(y^{T}x-f(x))

对于这个函数,自变量是f(x)的切线的斜率,因变量是切线负截距的最大值。

2、几何直观理解非凸函数的共轭函数

对于凸函数,其共轭函数就是其Legendre变换,共轭函数上的每个点对于原函数的每个点,即共轭函数包含原函数的所有信息,对于非凸函数,共轭函数上的每个点与原函数的对应关系是怎样的呢?从定义可以得知,非凸函数的Legendre变换会出现多对一的情况,共轭函数是取函数值的最大值所以原非凸函数就会有一些点的信息丢失,不会传递到共轭函数,即存在斜率重复的一部分点的信息会丢失。

如图,红色部分的信息将会丢失,不会传递到共轭函数。

同样的,当对共轭函数再做Legendre变换时也不会再出现原函数中的红色段,得到的是边缘的两段函数,断点处直接直线连接。即当原函数不是凸函数时,其共轭函数的共轭函数不再是它本身。

三、Legendre变换与共轭函数的关系

从上面的分析已经可以得出Legendre变换与共轭函数的关系,即

当原函数是凸函数时,其Legendre变换就是其共轭函数;当原函数不是凸函数时,其不再符合Legendre变换的条件,当仍要对其做Legendre变换并取函数值的上确界时,得到的就是非凸函数的共轭函数。

四、对偶

1、Legendre 变换在对偶空间中的解释

Legendre 变换可以看作是将一个函数的表示从原空间映射到对偶空间。这意味着我们将一个函数的输入变量从原空间的变量 x 转换为对偶空间的变量 p(导数),并且通过这种转换构造了一个新函数,这个新函数描述的是原空间中的几何结构在对偶空间中的表现。

Legendre 变换将原始函数 f(x) 中的所有信息通过导数 p 转换到对偶空间 p-空间,描述了在对偶空间中的最大线性泛函形式。也就是说,Legendre 变换在对偶空间中找到了与原空间中曲线 f(x) 对应的线性表示。

2、共轭函数在对偶空间中的解释

共轭函数通过将原函数 f(x) 中的点和切线信息映射到对偶空间 p,从而给出原函数在对偶空间中所有可能的线性映射。这就意味着,我们不再直接处理原空间中的点,而是处理这些点的“线性效应”,这体现了对偶空间中的信息。

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

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

相关文章

Vert.x,认证与授权 - HTTP基本认证

几乎所有的线上系统都离不开认证和授权,Vert.x auth相关组件提供了丰富(Session,JTW, OAuth,…),便捷的认证和授权支持。 当前,使用最多是Web应用,所以在后续讨论中,都是关于Vert.x auth在Web应…

kernel32.dll下载地址:如何安全地恢复系统文件

关于从网络上寻找kernel32.dll的下载地址,这通常不是一个安全的做法,而且可能涉及到多种风险。kernel32.dll是Windows操作系统的核心组件之一,负责内存管理、进程和线程管理以及其他关键系统功能。因为kernel32.dll是系统的基础文件&#xff…

IDEA如何给debug断点加上筛选条件判断

前言 我们在使用IDEA开发Java应用时,经常是需要进行代码调试的,这就需要打断点进行操作。但有些时候,我们只希望在符合某种条件的情况下,才去到这个断点,不符合的情况下,直接跳过断点,这其实也…

【linux】线程 (三)

13. 常见锁概念 (一)了解死锁 死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程占有的,且不释放的资源,而处于的一种永久等待状态 (二)死锁四个必要条件 互斥条件…

深度学习(一)基础:神经网络、训练过程与激活函数(1/10)

深度学习基础:神经网络、训练过程与激活函数 引言: 深度学习作为机器学习的一个子领域,近年来在人工智能的发展中扮演了举足轻重的角色。它通过模仿人脑的神经网络结构,使得计算机能够从数据中学习复杂的模式和特征,…

COLA架构生成DDD项目

1.下载代码 https://github.com/alibaba/COLA 2.执行命令 2.1 shell Linux mvn archetype:generate \-DgroupIdcom.xxc \-DartifactIdcola-springboot-demo \-Dversion0.0.1 \-Dpackagecom.xxc.demo \-DarchetypeArtifactIdcola-framework-archetype-web \-DarchetypeGrou…

我是类(最终版)

文章目录 再看构造函数类型转换static静态成员友元内部类匿名对象对象拷贝时的编译器优化 再看构造函数 本标题的目的是解决如下问题:当实现MyQueue时,我们不需要写默认构造函数,因为编译器会调用Stack的默认构造,但是&#xff0…

01 设计模式-创造型模式-工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一,它提供了一种创建对象的方式,使得创建对象的过程与使用对象的过程分离。 工厂模式提供了一种创建对象的方式,而无需指定要创建的具体类。 通过使用工厂模式…

vue 页面导出gif图片 img 导出gif 超简单~

1.首先需要新建一个文件件 新建gif文件夹。这两个文件在文章最后面需要可自提 2.出gif分为两种情况 第一种情况 页面是img标签,直接导出图片作为gif 第二种情况 页面是div标签,需要导出div里面的图片作为gif 2.1页面是img标签,直接导出图…

电脑异常情况总结

文章目录 笔记本无症状息屏黑屏 笔记本无症状息屏黑屏 🍎 问题描述: 息屏导致黑屏;依次操作计算机--》右键--》管理--》事件查看器--》Windows日志--》系统;从息屏到异常黑屏之间出现了很多错误,如下:事件…

使用CMake生成动态链接库(.dll和.so)和静态链接库(.lib和.a)的方法

(一)简介 对于大型软件开发,动态连接库是必不可少的。不仅可以实现模块的封装,而且可以实现软件的热更新(即替换windows下的.dll或Linux下的.so文件后直接实现软件更新,无需重新编译)。有时也需…

力扣 困难 52.N皇后II

文章目录 题目介绍题解 题目介绍 题解 法一:返回51题N皇后List的长度 法二: class Solution {private int n, ans;private boolean[] onPath, diag1, diag2;public int totalNQueens(int n) {this.n n;onPath new boolean[n];diag1 new boolean[n * …

Standard IO

为了提高可移植性,将通用IO接口经过再封装就形成了标准IO,标准IO不仅适用于Unix环境,也兼容非Unix环境,这也是为什么说我们应该尽可能的使用标准IO,通用IO通过文件描述符fd来与文件交互,为了以示区分&#…

element plus e-table表格中使用多选,当翻页时已选中的数据丢失

摘要: 点击第一页选中两个,再选择第二页,选中,回到第一页,之前选中的要保留! element ui table 解决办法: :row-key“getRowKeys” (写在el-table中) methods中声明 ge…

多一DY4100数字式接地电阻测试仪使用测量方法

接地电阻二线法测量步骤 1、找出一套简易测试线,一根红色两插头线和一根短绿线; 2、找出一根辅助地钉,距离被测接地桩/扁铁约五米远整根打下去; 3、绿线插头接仪器E孔(绿色孔),夹子夹需测的接…

ArcGIS002:软件自定义设置

摘要:本文详细介绍安装arcgis10.2后软件自定义设置内容,包括工具条的启用、扩展模块的启用、如何加载项管理器、快捷键设置、样式管理器的使用以及软件常规设置。 一、工具条的启用 依次点击菜单栏【自定义】->【工具条】,根据工作需求勾…

医院信息化与智能化系统(5)

医院信息化与智能化系统(5) 这里只描述对应过程,和可能遇到的问题及解决办法以及对应的参考链接,并不会直接每一步详细配置 如果你想通过文字描述或代码画流程图,可以试试PlantUML,告诉GPT你的文件结构,让他给你对应的…

【漏洞修复/安全补丁】5.4之前版本通过api/products接口进行sql注入的问题

5.4之前版本,会使用api/products接口的selectId参数进行sql注入 修复办法 1、修改crmeb/app/api/controller/v1/store/StoreProductController.php文件中的lst方法里面的接收参数,修改成下图 如果你的版本没有coupon_category_id参数的话,…

No.19 笔记 | WEB安全 - 任意文件操作详解 part 1

1. 任意文件上传漏洞基础 什么是文件上传功能? 在网站和应用中,我们经常会看到允许用户上传文件的功能,比如: 更换头像:让用户上传自己的照片作为头像发布图片:在社交媒体或论坛上传图片提交文档:在办公系统中上传Word、Excel等文档 这些都是常见的文件上传功能。 任意文…

Kettle9.4支持Clickhouse数据源插件开发以及性能测试

前言 最近业务这边有个指标需要用到大数据这边的列式数据库进行处理,由于kettle不支持clickhouse数据源驱动,这里查了一下网上的相关资料,发现了一些别人开发好的驱动包,下载下来后使用效果不尽人意。总结下来有以下几个问题&…