对数凹函数和对数凸函数

对数凹函数和对数凸函数

定义

如果对所有的 xdomfx \in \operatorname{dom} ff(x)>0f(x) > 0logf\log f 是凹函数,则称函数 ff对数凹函数。如果 logf\log f 是凸函数,则称函数 ff对数凸函数

因此,函数 ff 是对数凸的,等价于函数 1/f1/f 是对数凹的。

对数凹凸性可以不借助对数直接表达。考虑函数 f:RnRf: \mathbf{R}^n \rightarrow \mathbf{R},其定义域是凸集,且对于 xdomf\forall x \in \operatorname{dom} ff(x)>0f(x) > 0,则函数是对数凹的,当且仅当对 x,ydomf\forall x, y \in \operatorname{dom} f0θ10 \leqslant \theta \leqslant 1,有

f(θx+(1θ)y)f(x)θf(y)1θ f(\theta x+(1-\theta) y) \geqslant f(x)^{\theta} f(y)^{1-\theta}

特别地,若令 θ=12\theta = \frac{1}{2},则可以得到如下结论:对数凹函数在两点中间的函数值不小于这两点函数的几何平均值,即

f(x+y2)f(x)f(y) f(\frac{x + y}{2}) \geqslant \sqrt{f(x)f(y)}

根据函数复合规则,我们知道如果函数 hh 是凸函数,则函数 ehe^h 是凸函数,因此对数凸函数是凸函数。类似地,非负凹函数是对数凹函数。此外,由于对数函数是单调增函数,所以对数凸函数是拟凸函数,对数凹函数是拟凹函数。

举例

  • 仿射函数 f(x)=ax+bf(x) = a^{\top}x + b{xax+b>0}\{ x \mid a^{\top}x + b > 0 \} 上是对数凹函数。

  • 幂函数 f(x)=xaf(x) = x^aR++\mathbf{R}_{++} 上当 a0a \leqslant 0 时是对数凸函数,当 a0a \geqslant 0 时是对数凹函数。

  • 指数函数 f(x)=eaxf(x) = e^{ax} 既是对数凸函数也是对数凹函数。

  • Gauss 概率密度函数的累积分布函数是对数凹函数。

Φ(x)=12πxeu2/2du \Phi(x)=\frac{1}{\sqrt{2 \pi}} \int_{-\infty}^{x} e^{-u^{2} / 2} \mathrm{d} u
  • Γ\Gamma 函数在 [1,+)[1, +\infty) 上是对数凸函数。
Γ(x)=0ux1eudu \Gamma(x)=\int_{0}^{\infty} u^{x-1} e^{-u} \mathrm{d} u
  • 行列式 detX\det XS++n\mathbf{S}^n _{++} 上是对数凹函数。

  • 行列式与迹之比 detX/trX\det X / \operatorname{tr} XS++n\mathbf{S}^n _{++} 上是对数凹函数。

相关性质

二次可微的对数凸/凹函数

假设函数 ff 是二次可微的,并且 domf\operatorname{dom} f 是凸的,那么

2logf(x)=1f(x)2f(x)1f(x)2f(x)f(x) \nabla^{2} \log f(x)=\frac{1}{f(x)} \nabla^{2} f(x)-\frac{1}{f(x)^{2}} \nabla f(x) \nabla f(x)^{\top}

因此,判断函数 ff 的对数凹凸性,只需要分别令二阶导数大于零(凸)和小于零(凹),即

f(x)2f(x)f(x)f(x)f(x)2f(x)f(x)f(x) \begin{aligned} f(x) \nabla^{2} f(x) \succeq \nabla f(x) \nabla f(x)^{\top} \\ f(x) \nabla^{2} f(x) \preceq \nabla f(x) \nabla f(x)^{\top} \end{aligned}

乘积、求和与积分

乘积运算能够保持函数的对数凸性,这是因为对数运算和加法运算是能够保持函数的凸性。

h(x)=f(x)g(x)logh(x)=logf(x)+logg(x) \begin{aligned} h(x) &= f(x)g(x) \\ \log h(x) &= \log f(x) + \log g(x) \end{aligned}

然而,求和运算并不能够绝对保证函数的对数凸性。对数凹函数的和一般不是对数凹函数,而对数凸函数的和仍然是对数凸函数。

因此,对数凸函数的积分也是对数凸函数。例如,非负函数 p(x)p(x) 的 Laplace 变换:

P(z)=p(x)ezxdx P(z)=\int p(x) e^{-z^{\top} x} \mathrm{d} x

对数凹函数的积分

对数凹函数的积分仍然是对数凹函数需要满足如下条件:如果函数 f:Rn×RmRf: \mathbf{R}^n \times \mathbf{R}^m \rightarrow \mathbf{R} 是对数凹函数,那么

g(x)=f(x,y)dy g(x) = \int f(x, y) \mathrm{d} y

是对数凹函数(此时是在 Rm\mathbf{R}^m 上求积分)。

这个结论具有重要意义。它可以用来证明对数凹性对卷积运算也是封闭的,即如果函数 ffggRm\mathbf{R}^m 上是对数凹函数,则它们的卷积

(fg)(x)=f(xy)g(y)dy (f * g)(x)=\int f(x-y) g(y) \mathbf{d} y

仍然是对数凹函数。这是因为:1. 乘积是保对数凹凸性的;2. 对数凹函数的积分仍然是对数凹函数。

CRnC \subseteq \mathbf{R}^n 是凸集,wwRn\mathbf{R}^n 上的随机向量,设其具有对数凹性的概率密度函数 pp,则函数

f(x)=prob(x+wC)=g(x+w)f(w)dw \begin{aligned} f(x) &= \operatorname{prob} (x + w \in C) \\ &= \int g(x + w)f(w) \mathrm{d} w \end{aligned}

xx 的对数凹函数,其中 gg 定义为

g(u)={1uC0uC g(u)=\left\{\begin{array}{ll} 1 & u \in C \\ 0 & u \notin C \end{array}\right.