对数凹函数和对数凸函数
定义
如果对所有的 x∈domf 有 f(x)>0 且 logf 是凹函数,则称函数 f 是对数凹函数。如果 logf 是凸函数,则称函数 f 是对数凸函数。
因此,函数 f 是对数凸的,等价于函数 1/f 是对数凹的。
对数凹凸性可以不借助对数直接表达。考虑函数 f:Rn→R,其定义域是凸集,且对于 ∀x∈domf 有 f(x)>0,则函数是对数凹的,当且仅当对 ∀x,y∈domf,0⩽θ⩽1,有
f(θx+(1−θ)y)⩾f(x)θf(y)1−θ特别地,若令 θ=21,则可以得到如下结论:对数凹函数在两点中间的函数值不小于这两点函数的几何平均值,即
f(2x+y)⩾f(x)f(y)根据函数复合规则,我们知道如果函数 h 是凸函数,则函数 eh 是凸函数,因此对数凸函数是凸函数。类似地,非负凹函数是对数凹函数。此外,由于对数函数是单调增函数,所以对数凸函数是拟凸函数,对数凹函数是拟凹函数。
举例
-
仿射函数 f(x)=a⊤x+b 在 {x∣a⊤x+b>0} 上是对数凹函数。
-
幂函数 f(x)=xa 在 R++ 上当 a⩽0 时是对数凸函数,当 a⩾0 时是对数凹函数。
-
指数函数 f(x)=eax 既是对数凸函数也是对数凹函数。
-
Gauss 概率密度函数的累积分布函数是对数凹函数。
Φ(x)=2π1∫−∞xe−u2/2du
- Γ 函数在 [1,+∞) 上是对数凸函数。
Γ(x)=∫0∞ux−1e−udu
相关性质
二次可微的对数凸/凹函数
假设函数 f 是二次可微的,并且 domf 是凸的,那么
∇2logf(x)=f(x)1∇2f(x)−f(x)21∇f(x)∇f(x)⊤因此,判断函数 f 的对数凹凸性,只需要分别令二阶导数大于零(凸)和小于零(凹),即
f(x)∇2f(x)⪰∇f(x)∇f(x)⊤f(x)∇2f(x)⪯∇f(x)∇f(x)⊤乘积、求和与积分
乘积运算能够保持函数的对数凸性,这是因为对数运算和加法运算是能够保持函数的凸性。
h(x)logh(x)=f(x)g(x)=logf(x)+logg(x)然而,求和运算并不能够绝对保证函数的对数凸性。对数凹函数的和一般不是对数凹函数,而对数凸函数的和仍然是对数凸函数。
因此,对数凸函数的积分也是对数凸函数。例如,非负函数 p(x) 的 Laplace 变换:
P(z)=∫p(x)e−z⊤xdx对数凹函数的积分
对数凹函数的积分仍然是对数凹函数需要满足如下条件:如果函数 f:Rn×Rm→R 是对数凹函数,那么
g(x)=∫f(x,y)dy是对数凹函数(此时是在 Rm 上求积分)。
这个结论具有重要意义。它可以用来证明对数凹性对卷积运算也是封闭的,即如果函数 f 和 g 在 Rm 上是对数凹函数,则它们的卷积
(f∗g)(x)=∫f(x−y)g(y)dy仍然是对数凹函数。这是因为:1. 乘积是保对数凹凸性的;2. 对数凹函数的积分仍然是对数凹函数。
设 C⊆Rn 是凸集,w 是 Rn 上的随机向量,设其具有对数凹性的概率密度函数 p,则函数
f(x)=prob(x+w∈C)=∫g(x+w)f(w)dw是 x 的对数凹函数,其中 g 定义为
g(u)={10u∈Cu∈/C