【数学基础】第十九课:凸优化进阶

共轭函数,共轭函数的性质,对偶函数,对偶性

Posted by x-jeff on April 11, 2021

本文为原创文章,未经本人允许,禁止转载。转载请注明出处。

1.共轭函数

共轭函数(conjugate function)亦称对偶函数:如果$f:\mathbb R^n \to \mathbb R$是一个函数,那么$f$的共轭函数:

\[f^*(y)=\sup \limits_{x \in dom \ f} (y^Tx-f(x))\]

其中$f^*(y)$的定义域是使得等式右边有上界的那些$y$。

$x\in dom \ f$表示$x$在$f$的定义域内取值。

共轭函数的定义也可以写为(和上述定义等价):

\[f^*(t)=\max \limits_{x \in dom \ (f)} \{xt-f(x) \}\]

共轭函数的性质:

  1. 共轭函数$f^*$是一个凸函数。
  2. 如果$g$是$f$的凸闭包,那么$g^{*}=f^{*}$。
  3. 对一般的函数$f$,$f^{**} \leqslant f$。
  4. 如果$f$是一个凸函数,那么$f^{**}=f$。
  5. Fenchel不等式(当$f$可微时亦称为Young不等式):$f(x)+f^*(y) \geqslant x^T y$。
  6. 如果$f$是凸函数而且可微,那么$f^{*}(y)=x^{* T} \nabla f(x^{*})-f(x^{*})$,其中$x^{*}$满足$\nabla f(x^{*})=y$。
  7. 如果$g(x)=f(Ax+b)$,则$g^{*}(y)=f^{*}(A^{-T}y)-b^TA^{-T}y$。
  8. 如果$f(u,v)=f_1(u)+f_2(v)$,那么$f^{*}(w,z)=f^{*}_1(w)+f^{*}_2(z)$。

性质证明见下(性质7和性质8的证明,其计算过于复杂,在此不再赘述)。

1.1.性质1的证明

\[f^*(t)=\max \limits_{x \in dom \ (f)} \{xt-f(x) \}\]

以二维空间为例,$(xt-f(x))$其实是一堆直线:

对于每一个$t$,我们需要$(xt-f(x))$最大:

最终可得到的共轭函数$f^*(t)$的图像见下:

很明显,$f^*(t)$是一个凸函数。

简单来说,线性函数为凸函数,而任意多个凸函数的逐点上确界仍是凸函数,因此得证。

1.2.性质2的证明

共轭函数$f^*(y)$是线性函数$yx$和$f(x)$之间的最大差值。如上图所示(以二维为例),最大差值就是红色实线,即直线$yx$与和它平行的$f(x)$的支撑超平面在$y$方向上的差值。

其他位置的红色虚线要么比红色实线短,要么代表的是负值。

而$g$作为$f$的凸闭包,二者的支撑超平面是一样的,因此性质2得证。

1.3.性质3的证明

\[f^*(y)=\sup \limits_{x \in dom \ f} (y^Tx-f(x))\] \[f^*(y) \geqslant (y^Tx-f(x))\] \[f(x) \geqslant y^T x -f^*(y)\]

同理有:

\[f^*(y)=\sup \limits_{z \in dom \ f} (y^Tz-f(z))\] \[f^*(y) \geqslant (y^Tz-f(z))\] \[f(z) \geqslant y^Tz - f^*(y)\]

$y^Tz$和$z^Ty$是相等的,都是一个数字(即$ 1\times 1$维)。因此:

\[f^{**}(z)=\sup \limits_{y \in dom \ f^*} (z^Ty-f^*(y))\] \[f^{**}(z) \leqslant f(z)\]

性质5也在这个过程中得到了证明。

1.4.性质4的证明

函数$f(x)$的共轭函数如下:

\[f^*(t)=\max \limits_{x \in dom \ (f)} \{xt-f(x) \} \tag{1.4.1}\]

由于$f(x)$是凸函数,给定$t$,关于$x$的函数$xt-f(x)$的最大值在导数等于0的时候取得:

\[(xt-f(x))'=0 \tag{1.4.2}\]

即:

\[t=f'_x(x) \tag{1.4.3}\]

$f’_x(x)$指的是$f(x)$对$x$求导。如果下标为$t$,则指的是对$t$求导。

也就是说给定$t$,$f’_x(x)=t$时,$xt-f(x)$取到最大值,所以$f^*(t)$又可以写成:

\[f^*(t)=xt-f(x) \ | \ f'_x(x)=t \tag{1.4.4}\]

$f^*(t)$的共轭函数如下:

\[f^{**}(s) = \max \limits_{t \in dom \ (f^*)} \{ ts-f^*(t) \} \tag{1.4.5}\]

同理,对于给定的$s$,$(ts-f^*(t))_t’=0$时,取最大值:

\[(ts-f^*(t))_t'=s-(f^*(t))'_t=0 \tag{1.4.6}\]

结合式(1.4.4):

\[s=(f^*(t))'_t=x+ tx'_t - f'_x(x) x'_t \tag{1.4.7}\]

由于式(1.4.3),$x$可以看成关于$t$的函数。

代入式(1.4.3),上述等式等价于:

\[s=(f^*(t))'_t=x+tx'_t-tx'_t=x \tag{1.4.8}\]

即对于给定的$s$,$x=s$时,$ts-f^*(t)$取到最大值,即:

\[f^{**}(s)=tx-f^*(t) \tag{1.4.9}\]

代入式(1.4.4):

\[f^{**}(s)=tx-f^*(t)=tx-(xt-f(x))=f(x)=f(s) \tag{1.4.10}\]

1.5.性质6的证明

根据性质2的证明,我们可以知道在取到最大值时,直线$yx$和$f(x)$的支撑超平面是平行的,即:

\[\nabla f(x)=y\]

又因为$f$是凸函数而且可微,所以我们是可以直接取到最大值的:

\[f^*(y)=y^Tx-f(x)=(\nabla f(x))^Tx-f(x)\]

用$x^*$代替$x$:

\[f^*(y)=(\nabla f(x^*))^Tx^*-f(x^*)\]

又$(\nabla f(x^{*}))^Tx^{*}=x^{* T} \nabla f(x^{*})$,所以有:

\[f^*(y)=x^{*T} \nabla f(x^*)-f(x^*)\]

1.6.共轭函数的例子

求函数$f(x)=x\ln x$的共轭函数。

求解见下:

\[f^*(y)=\sup \limits_{x \in dom \ f} (y^Tx-x\ln x)\]

对等式的后半部分求关于$x$的导数:

\[\frac{d}{dx} (y^Tx-x\ln x)=y^T-1-\ln x\]

因为$(y^Tx-x\ln x)$是可微的,所以在取到最大值时,上述导数会等于0,因此:

\[\ln x=y^T-1\] \[x=e^{y^T-1}\]

代入性质6求得最终的共轭函数$f^*(y)$:

\[f^*(y)=y^T e^{y^T-1} - e^{y^T-1} \ln (e^{y^T-1})=e^{y^T-1}\]

2.拉格朗日对偶函数

拉格朗日函数及对偶问题相关内容请见:【机器学习基础】第八课:线性判别分析

当优化问题的限制条件是⚠️线性条件⚠️时,可以利用共轭函数的一些性质方便的得到对偶问题。

  • 最小化:$f_0(x)$
  • 不等条件:$Ax \leqslant b$
  • 等式条件:$Cx=d$

这里不等条件的比较$u<v$指的是$u$里面每一个分量都小于$v$里面对应的分量。

其对偶函数$g$为:

\[\begin{align} g(\lambda,v) & = \inf \limits_{x} (f_0(x) + \lambda^T (Ax-b) + v^T(Cx-d)) \\ & = -b^T \lambda - d^T v + \inf \limits_{x} (f_0(x) + (A^T\lambda + C^T v)^T x ) \\ &= -b^T \lambda - d^T v - f^*_0 (-A^T\lambda - C^T v ) \end{align}\]

上述式子需要用到下面的推导结果:

\[\begin{align} \inf (y^Tx+f_0(x)) &= -\sup (-y^Tx-f_0(x)) \\&= -f^*(-y) \end{align}\]

使$y=(A^T\lambda + C^T v)$即可。对偶函数的定义域为:

\[dom \ g=\{(\lambda,v): -A^T\lambda - C^T v \in dom \ f^*_0 \}\]

3.对偶性

弱对偶性总是成立的,但是强对偶性不一定总成立。

对偶性相关讲解:对偶性

满足强对偶性的条件:

3.1.条件1

几乎所有的凸优化问题都满足强对偶性。为什么说“几乎所有”?因为其还是有一个限制条件的,具体描述见下(称为slater条件):

对于一个凸优化问题:

  • 最小化:$f_0(x)$
  • 不等条件:$f_i(x) \leqslant b,i=1,\cdots,m$
  • 等式条件:$h_i(x)=0,i=1,\cdots,p$

如果存在一个可行域中的点$x$使得$f_i(x)<0,i=1,\cdots,m$,那么这个凸优化问题就满足强对偶条件。

4.参考资料

  1. 共轭函数
  2. 共轭函数两个性质的证明