凸优化学习:PART3凸函数的扩展——拟凸函数和对数凸函数

news/2024/12/11 20:35:10/

拟凸函数(Quasi Convex function)

拟凸函数是非凸优化中较容易的一种

定义及例子

函数f:Rn→Rf:\R^n\rightarrow \Rf:RnR称为拟凸函数(或者单峰函数),如果其定义域及所有下水平集
Sα={x∈domf∣f(x)≤α},α∈RS_{\alpha}=\{x\in\bold{dom}f|f(x)\leq \alpha\},\alpha\in \R Sα={xdomff(x)α},αR
都是凸集

fff是拟凹函数,如果−f-ff是拟凸函数,即每个上水平集{x∣f(x)≥α}\{x|f(x)\geq \alpha\}{xf(x)α}都是凸集。

若某函数既是拟凸函数又是拟凹函数,其为拟线性函数。函数为拟线性函数,如果其定义域和所有水平集{x∣f(x)=α}\{x|f(x)= \alpha\}{xf(x)=α}都是凸集。

image-20230205180734683

exe^xex为拟线性函数:

image-20230205183423261
  • 凸函数与拟凸函数的关系

    凸函数一定是拟凸函数,但是拟凸函数不一定是凸函数(甚至有可能是凹函数)

  • 拟凸函数的另一个名字:单模态函数

    不一定是凸问题,但是是比较简单的问题。但理论分析比较困难。


拟凸函数的例子:

image-20230205183935664 image-20230205191203601

关于凸函数的定义:

f:Rn→Rf:\R^n\rightarrow \Rf:RnR为凸,则domf\bold{dom}fdomf为凸,∀x,y∈domf,0≤θ≤1,θf(x)+(1−θ)f(y)≥f(θx+(1−θ)y)\forall x,y\in\bold{dom}f,0\leq \theta\leq 1,\theta f(x)+(1-\theta)f(y)\geq f(\theta x+(1-\theta)y)x,ydomf,0θ1,θf(x)+(1θ)f(y)f(θx+(1θ)y)

将上述的定义转换应用到拟凸函数:
max⁡{f(x),f(y)}≥f(θx+(1−θ)y)\max\{f(x),f(y)\}\geq f(\theta x +(1-\theta)y) max{f(x),f(y)}f(θx+(1θ)y)
从定义中也可以得知:一个函数如果是凸函数,那么一定是拟凸函数。

image-20230205191107587

拟凸函数的例子:

image-20230205191259553

证明方式:α−\alpha-α下水平集是否是凸集。

是一个子空间,所以一定是一个凸集。

image-20230205192326737

该集合是一个多面体,故是一个凸集。


拟凸优化问题例子

例:向量的零范数x∈Rn,f(x)=∣∣x∣∣0x\in \R^n,f(x)=||x||_0xRnf(x)=∣∣x0

image-20230205201432403

问题:min⁡∣∣x∣∣0\min ||x||_0min∣∣x0

s.t. x∈Cx\in CxC

  • 方式1:转换
image-20230205201946258
  • 方式2:逼近

    逼近的另一种方式

    image-20230205202242663

可微拟凸函数

一阶条件

设函数f:Rn→Rf:\R^n\rightarrow \Rf:RnR可微,则fff是拟凸函数的充要条件是,domf\bold{dom}fdomf是凸集,且对于任意的x,y∈domfx,y\in\bold{dom}fx,ydomf有:
f(y)≤f(x)⇒∇f(x)T(y−x)≤0f(y)\leq f(x)\Rightarrow \nabla f(x)^T(y-x)\leq 0 f(y)f(x)f(x)T(yx)0
证明:

  • 考虑最简单的一维情况:

    先证明⇒\Rightarrow

    已知f(x)f(x)f(x)是拟凸函数,那么max⁡{f(x),f(y)}≥f(θx+(1−θ)y)\max\{f(x),f(y)\}\geq f(\theta x+(1-\theta)y)max{f(x),f(y)}f(θx+(1θ)y)

    f(y)≤f(x)f(y)\leq f(x)f(y)f(x),那么f(x)≥f(θx+(1−θ)y)f(x)\geq f(\theta x+(1-\theta)y)f(x)f(θx+(1θ)y),则有f(θx+(1−θ)y)−f(x)≤0f(\theta x+(1-\theta)y)-f(x)\leq 0f(θx+(1θ)y)f(x)0,等价于f(θx+(1−θ)y)−f(θx+(1−θ)x)≤0f(\theta x+(1-\theta)y)-f(\theta x+(1-\theta)x)\leq 0f(θx+(1θ)y)f(θx+(1θ)x)0,进一步等价为:
    f(θx+(1−θ)y)−f(θx+(1−θ)x)(1−θ)(y−x)(1−θ)(y−x)≤0\frac{f(\theta x+(1-\theta)y)-f(\theta x+(1-\theta)x)}{(1-\theta)(y-x)}(1-\theta)(y-x)\leq 0 (1θ)(yx)f(θx+(1θ)y)f(θx+(1θ)x)(1θ)(yx)0
    θ→1\theta\rightarrow 1θ1时,上式等价于:
    f′(x)(y−x)≤0f'(x)(y-x)\leq 0 f(x)(yx)0
    再证明⇐\Leftarrow

    ∀x,y∈domf,\forall x,y\in\bold{dom}f,x,ydomf均有f(y)≤f(x)f(y)\leq f(x)f(y)f(x)∇Tf(x)(y−x)≤0\nabla ^Tf(x)(y-x)\leq 0Tf(x)(yx)0
    KaTeX parse error: Expected 'EOF', got '&' at position 2: &̲ \max\{f(y),f(x…

    上述证明不够合理,只能保证在θ→1\theta\rightarrow 1θ1时成立,下面使用另一种证明方式:反证f(z)>f(x)f(z)>f(x)f(z)>f(x)的情况不存在

image-20230206130021366 image-20230206130603344
image-20230206112401997

拟凸函数一阶偏导为零可能的情况:

image-20230206112639586 image-20230206102204357
二阶条件

凸函数的二阶条件:

image-20230206112729631

拟凸函数的二阶条件:

domf\bold{dom}fdomf为凸集,∀y∈Rn\forall y\in \R^nyRn,且$y^T\nabla f(x)\geq 0\Rightarrow yT\nabla2f(x)y> 0 $

image-20230206115517908

对数凸函数与对数凹函数

定义

f:Rn→Rf:\R^n\rightarrow \Rf:RnR对数凹,如果x∈domfx\in\bold{dom}fxdomff(x)>0f(x)>0f(x)>0log⁡f\log flogf是凹函数。

f:Rn→Rf:\R^n\rightarrow \Rf:RnR对数凸,如果x∈domfx\in\bold{dom}fxdomff(x)>0f(x)>0f(x)>0log⁡f\log flogf是凸函数。

  • 意义:很多问题都是乘积的形式,取对数后问题会变得简单。

  • 二者与凹函数和凸函数有什么关系?

    • f(x)f(x)f(x)log⁡convex\log \ convexlog convex,则fff为凸函数

      elog⁡fe^{\log f}elogf是凸函数,所以fff是凸函数。

    • f(x)f(x)f(x)convave,f>0convave,f>0convave,f>0,则log⁡f\log flogf为对数凹


http://www.ppmy.cn/news/22604.html

相关文章

Java设计模式--建造者模式

目录 1. 概述 2. 建造者的四个角色 3. 用例图 4. 示例代码 5. 实际应用 6. 建造者模式的注意事项和细节 1. 概述 建造者模式(创建型):又叫生成器模式,可以将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现…

Tarjan算法的中的low值

参考链接: 强连通分量 - OI Wiki (oi-wiki.org)graphs - Tarjan’s SCC : example showing necessity of lowlink definition and calculation rule? - Computer Science Stack Exchange《算法竞赛》罗永军,郭卫斌 错误解释: lowlowlow值是…

Python-项目实战--飞机大战-pygame快速入门(2)

项目准备新建飞机大战项目新建一个hm_01_pygame入门.py导入游戏素材图片游戏的第一印象把一些静止的图像绘制到游戏窗口中根据用户的交互或其他情况,移动这些图像,产生动画效果根据图像之间是否发生重叠,判断敌机是否被摧毁等其他情况1.使用p…

【单元测试】C++单元测试框架Google Test入门之六:运行参数

文章目录一、前言二、基本介绍三、参数列表3.1 测试案例集合3.2 测试案例输出3.3 对案例的异常处理四、XML报告输出格式五、总结一、前言 使用gtest编写的测试案例通常本身就是一个可执行文件,因此运行起来非常方便。同时,gtest也为我们提供了一系列的运…

Spring Boot(五):Spring Boot项目配置详解

文章目录 Spring Boot项目配置详解 一、properties配置文件 二、yml配置文件 1、基本格式要求 2、配置文件存放位置 3、配置文件存放读取优先级 三、bootstrap配置文件 四、SpringBoot项目结构 Spring Boot项目配置详解 一、properties配置文件 SpringBoot默认读取项…

【C++】模板详解(特化后面补)

目录前言一、泛型编程二、函数模板三、函数模板实例化四、模板参数的匹配原则五、类模板六、非类型模板参数七、模板的分离编译前言 在我们学习模板之前,我们实现过很多的函数和类,其中函数主要是针对某种数据类型的方法,类主要是存储某种数据…

带你看懂串口服务器!如何使用一看便知!

在这个万物互联的时代,数据与数据之间的相互传输交流,显得尤为重要。那么要怎样才能使计算机与传统的物联设备相连接呢?这时,串口服务器这一媒介的作用就凸显出来了。那么,你知道什么是串口服务器吗?串口服…

大数据---Hadoop安装教程(二)

Hadoop环境配置及安装 前期工作: 大数据—Hadoop安装教程(一) 文章目录Hadoop环境配置及安装解压配置文件目录添加JAVA_HOME目录修改core-site.xml修改hdfs-site.xml修改mapred-site.xml修改yarn-site.xml修改profile文件刷新配置文件格式化命令重启had…