拟凸函数(Quasi Convex function)
拟凸函数是非凸优化中较容易的一种
定义及例子
函数
f
:
R
n
→
R
f:\R^n\rightarrow \R
f:Rn→R称为拟凸函数(或者单峰函数),如果其定义域及所有下水平集
S
α
=
{
x
∈
d
o
m
f
∣
f
(
x
)
≤
α
}
,
α
∈
R
S_{\alpha}=\{x\in\bold{dom}f|f(x)\leq \alpha\},\alpha\in \R
Sα={x∈domf∣f(x)≤α},α∈R
都是凸集。
f f f是拟凹函数,如果 − f -f −f是拟凸函数,即每个上水平集 { x ∣ f ( x ) ≥ α } \{x|f(x)\geq \alpha\} {x∣f(x)≥α}都是凸集。
若某函数既是拟凸函数又是拟凹函数,其为拟线性函数。函数为拟线性函数,如果其定义域和所有水平集 { x ∣ f ( x ) = α } \{x|f(x)= \alpha\} {x∣f(x)=α}都是凸集。
![image-20230205180734683](https://i-blog.csdnimg.cn/blog_migrate/ed60d22f9fcf440c8da67be11cdd5344.png)
e x e^x ex为拟线性函数:
![image-20230205183423261](https://i-blog.csdnimg.cn/blog_migrate/9014ef0739d959aebffbeb191b05edfa.png)
-
凸函数与拟凸函数的关系
凸函数一定是拟凸函数,但是拟凸函数不一定是凸函数(甚至有可能是凹函数)
-
拟凸函数的另一个名字:单模态函数
不一定是凸问题,但是是比较简单的问题。但理论分析比较困难。
拟凸函数的例子:
![image-20230205183935664](https://i-blog.csdnimg.cn/blog_migrate/e1f0c28367f4a6981d44b6fabf178550.png)
![image-20230205191203601](https://i-blog.csdnimg.cn/blog_migrate/fabc2e1b78534c14a82c5b2a80aac94c.png)
关于凸函数的定义:
f : R n → R f:\R^n\rightarrow \R f:Rn→R为凸,则 d o m f \bold{dom}f domf为凸, ∀ x , y ∈ d o m f , 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)
从定义中也可以得知:一个函数如果是凸函数,那么一定是拟凸函数。
![image-20230205191107587](https://i-blog.csdnimg.cn/blog_migrate/7f843c92c71848e91fd05d9e364013e9.png)
拟凸函数的例子:
![image-20230205191259553](https://i-blog.csdnimg.cn/blog_migrate/bf43e05d586ce855204638c0291b588d.png)
证明方式: α − \alpha- α−下水平集是否是凸集。
是一个子空间,所以一定是一个凸集。
![image-20230205192326737](https://i-blog.csdnimg.cn/blog_migrate/49b6d6faad5e69f5a2f05645e5a460e7.png)
该集合是一个多面体,故是一个凸集。
拟凸优化问题例子
例:向量的零范数 x ∈ R n , f ( x ) = ∣ ∣ x ∣ ∣ 0 x\in \R^n,f(x)=||x||_0 x∈Rn,f(x)=∣∣x∣∣0
![image-20230205201432403](https://i-blog.csdnimg.cn/blog_migrate/8b198a24949185130afc638b3181c882.png)
问题: min ∣ ∣ x ∣ ∣ 0 \min ||x||_0 min∣∣x∣∣0
s.t. x ∈ C x\in C x∈C
- 方式1:转换
![image-20230205201946258](https://i-blog.csdnimg.cn/blog_migrate/423b7c27b7f6e83c289f1a65216f637e.png)
-
方式2:逼近
逼近的另一种方式
可微拟凸函数
一阶条件
设函数
f
:
R
n
→
R
f:\R^n\rightarrow \R
f:Rn→R可微,则
f
f
f是拟凸函数的充要条件是,
d
o
m
f
\bold{dom}f
domf是凸集,且对于任意的
x
,
y
∈
d
o
m
f
x,y\in\bold{dom}f
x,y∈domf有:
f
(
y
)
≤
f
(
x
)
⇒
∇
f
(
x
)
T
(
y
−
x
)
≤
0
f(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 ) ≤ 0 f(\theta x+(1-\theta)y)-f(x)\leq 0 f(θx+(1−θ)y)−f(x)≤0,等价于 f ( θ x + ( 1 − θ ) y ) − f ( θ x + ( 1 − θ ) x ) ≤ 0 f(\theta x+(1-\theta)y)-f(\theta x+(1-\theta)x)\leq 0 f(θ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 ) ≤ 0 f'(x)(y-x)\leq 0 f′(x)(y−x)≤0
再证明 ⇐ \Leftarrow ⇐∀ x , y ∈ d o m f , \forall x,y\in\bold{dom}f, ∀x,y∈domf,均有 f ( y ) ≤ f ( x ) f(y)\leq f(x) f(y)≤f(x)则 ∇ T f ( 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)的情况不存在
![image-20230206130021366](https://i-blog.csdnimg.cn/blog_migrate/3c8aada481e8cb3475694f61a2747f4f.png)
![image-20230206130603344](https://i-blog.csdnimg.cn/blog_migrate/4fec0b19f47345d3b70f49bd6d164cd1.png)
![image-20230206112401997](https://i-blog.csdnimg.cn/blog_migrate/daf68d765ec8e82b7f4ee3d8b3efb564.png)
拟凸函数一阶偏导为零可能的情况:
![image-20230206112639586](https://i-blog.csdnimg.cn/blog_migrate/bd90915ee741e43ef4f6056f228a9f6a.png)
![image-20230206102204357](https://i-blog.csdnimg.cn/blog_migrate/9e1f9bd82883ece6ed57f3788752c560.png)
二阶条件
凸函数的二阶条件:
![image-20230206112729631](https://i-blog.csdnimg.cn/blog_migrate/3008e2d7ea633b29bfc7e91cc92209c7.png)
拟凸函数的二阶条件:
d o m f \bold{dom}f domf为凸集, ∀ y ∈ R n \forall y\in \R^n ∀y∈Rn,且$y^T\nabla f(x)\geq 0\Rightarrow yT\nabla2f(x)y> 0 $
![image-20230206115517908](https://i-blog.csdnimg.cn/blog_migrate/d7fdef74c47ffbc69aee411808a4973c.png)
对数凸函数与对数凹函数
定义
称 f : R n → R f:\R^n\rightarrow \R f:Rn→R对数凹,如果 x ∈ d o m f x\in\bold{dom}f x∈domf有 f ( x ) > 0 f(x)>0 f(x)>0且 log f \log f logf是凹函数。
称 f : R n → R f:\R^n\rightarrow \R f:Rn→R对数凸,如果 x ∈ d o m f x\in\bold{dom}f x∈domf有 f ( x ) > 0 f(x)>0 f(x)>0且 log f \log f logf是凸函数。
-
意义:很多问题都是乘积的形式,取对数后问题会变得简单。
-
二者与凹函数和凸函数有什么关系?
-
若 f ( x ) f(x) f(x)为 log c o n v e x \log \ convex log convex,则 f f f为凸函数
e log f e^{\log f} elogf是凸函数,所以 f f f是凸函数。
-
若 f ( x ) f(x) f(x)为 c o n v a v e , f > 0 convave,f>0 convave,f>0,则 log f \log f logf为对数凹
-