拟凸函数(Quasi Convex function)
拟凸函数是非凸优化中较容易的一种
定义及例子
函数f:Rn→Rf:\R^n\rightarrow \Rf:Rn→R称为拟凸函数(或者单峰函数),如果其定义域及所有下水平集
Sα={x∈domf∣f(x)≤α},α∈RS_{\alpha}=\{x\in\bold{dom}f|f(x)\leq \alpha\},\alpha\in \R Sα={x∈domf∣f(x)≤α},α∈R
都是凸集。
fff是拟凹函数,如果−f-f−f是拟凸函数,即每个上水平集{x∣f(x)≥α}\{x|f(x)\geq \alpha\}{x∣f(x)≥α}都是凸集。
若某函数既是拟凸函数又是拟凹函数,其为拟线性函数。函数为拟线性函数,如果其定义域和所有水平集{x∣f(x)=α}\{x|f(x)= \alpha\}{x∣f(x)=α}都是凸集。
exe^xex为拟线性函数:
-
凸函数与拟凸函数的关系
凸函数一定是拟凸函数,但是拟凸函数不一定是凸函数(甚至有可能是凹函数)
-
拟凸函数的另一个名字:单模态函数
不一定是凸问题,但是是比较简单的问题。但理论分析比较困难。
拟凸函数的例子:
关于凸函数的定义:
f:Rn→Rf:\R^n\rightarrow \Rf:Rn→R为凸,则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,y∈domf,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)
从定义中也可以得知:一个函数如果是凸函数,那么一定是拟凸函数。
拟凸函数的例子:
证明方式:α−\alpha-α−下水平集是否是凸集。
是一个子空间,所以一定是一个凸集。
该集合是一个多面体,故是一个凸集。
拟凸优化问题例子
例:向量的零范数x∈Rn,f(x)=∣∣x∣∣0x\in \R^n,f(x)=||x||_0x∈Rn,f(x)=∣∣x∣∣0
问题:min∣∣x∣∣0\min ||x||_0min∣∣x∣∣0
s.t. x∈Cx\in Cx∈C
- 方式1:转换
-
方式2:逼近
逼近的另一种方式
可微拟凸函数
一阶条件
设函数f:Rn→Rf:\R^n\rightarrow \Rf:Rn→R可微,则fff是拟凸函数的充要条件是,domf\bold{dom}fdomf是凸集,且对于任意的x,y∈domfx,y\in\bold{dom}fx,y∈domf有:
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(y−x)≤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−θ)(y−x)f(θx+(1−θ)y)−f(θx+(1−θ)x)(1−θ)(y−x)≤0
当θ→1\theta\rightarrow 1θ→1时,上式等价于:
f′(x)(y−x)≤0f'(x)(y-x)\leq 0 f′(x)(y−x)≤0
再证明⇐\Leftarrow⇐∀x,y∈domf,\forall x,y\in\bold{dom}f,∀x,y∈domf,均有f(y)≤f(x)f(y)\leq f(x)f(y)≤f(x)则∇Tf(x)(y−x)≤0\nabla ^Tf(x)(y-x)\leq 0∇Tf(x)(y−x)≤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)的情况不存在
拟凸函数一阶偏导为零可能的情况:
二阶条件
凸函数的二阶条件:
拟凸函数的二阶条件:
domf\bold{dom}fdomf为凸集,∀y∈Rn\forall y\in \R^n∀y∈Rn,且$y^T\nabla f(x)\geq 0\Rightarrow yT\nabla2f(x)y> 0 $
对数凸函数与对数凹函数
定义
称f:Rn→Rf:\R^n\rightarrow \Rf:Rn→R对数凹,如果x∈domfx\in\bold{dom}fx∈domf有f(x)>0f(x)>0f(x)>0且logf\log flogf是凹函数。
称f:Rn→Rf:\R^n\rightarrow \Rf:Rn→R对数凸,如果x∈domfx\in\bold{dom}fx∈domf有f(x)>0f(x)>0f(x)>0且logf\log flogf是凸函数。
-
意义:很多问题都是乘积的形式,取对数后问题会变得简单。
-
二者与凹函数和凸函数有什么关系?
-
若f(x)f(x)f(x)为logconvex\log \ convexlog convex,则fff为凸函数
elogfe^{\log f}elogf是凸函数,所以fff是凸函数。
-
若f(x)f(x)f(x)为convave,f>0convave,f>0convave,f>0,则logf\log flogf为对数凹
-