深入理解共轭函数及相关性质解析


函数定义\color{orange}\textbf{函数定义}

函数定义
共轭函数在凸优化中有着非常重要的作用,是理解对偶的必不可少的元素。在书中,它被定义为

f?(y)=sup?xdomf(yTx?f(x))f^*(y)=\sup_{x\in dom f}(y^Tx-f(x))

f?(y)=x∈domfsup?(yTx?f(x))
其中,

f:RnRf?:RnRf:R^n\rightarrow R,f^*:R^n\rightarrow R

f:Rn→R,f?:Rn→R,

f?f^*

f?称为

ff

f的共轭函数。也就是说,共轭函数是线性函数

yTxy^Tx

yTx钰钰原始函数

f(x)f(x)

f(x)的最大gap.


物理意义\color{orange}\textbf{物理意义}

物理意义
我们使用书中的图作为例子,可以看到,当

yy

y固定的时候,

yTxy^Tx

yTx就是一个线性函数,这是一个经过空间原点,斜率为

yy

y的线(二维空间),此时对于每一个

xx

x,

yTxy^Tx

yTx有一个值,

f(x)f(x)

f(x)也有一个值,共轭函数希望最大化前者减去后者的差。那么我们对上面的函数求一阶导数,就得到了

f(x)=yf'(x)=y

f′(x)=y,即在该点,

f(x)f(x)

f(x)的斜率等于

yy

y,也就是说我们将

yTxy^Tx

yTx向下平移到一个不能再平移的位置,该位置所对应的

xx

x即我们要的变量值。
在这里插入图片描述


重要性质\color{orange}\textbf{重要性质}

重要性质
共轭函数之所以重要,而且被很多理论广泛使用,是因为他有几条很好的性质

  1. f(x)f(x)

    f(x)如果可微,则

    f?(y)f^*(y)

    f?(y)所对应的

    xx

    x必是

    f(x)=yf'(x)=y

    f′(x)=y的一点。
    解释:我们对共轭函数的任意一个自变量

    yy

    y,都会找到一个或者多个

    xx

    x使得共轭函数的取值最大,而上面我们已经求导了,只有在

    f(x)=yf'(x)=y

    f′(x)=y时,该函数的值最大。

  2. 无论
    f(x)f(x)

    f(x)是不是凸函数,他的共轭函数

    f?(y)f^*(y)

    f?(y)一定都是凸函数。
    解释: 这是一个非常神奇而且重要的性质,给定一个任意的函数,我们都可以使用共轭创造一个凸函数。为什么他的共轭函数一定是凸函数呢?我们简单进行分析:对于

    f?(y)=sup?xdomf(yTx?f(x))f^*(y)=\sup_{x\in dom f}(y^Tx-f(x))

    f?(y)=supx∈domf?(yTx?f(x)),这是一个关于

    yy

    y的线性函数(第一项是线性,第二项无关),线性函数是凸函数唔注意!,那么我们有很多个

    xx

    x,每个

    xx

    x都对应一个凸函数

    (yTx?f(x))(y^Tx-f(x))

    (yTx?f(x)),那么,

    f?(y)f^*(y)

    f?(y)即一系列凸函数的逐点上确界,这是一个保凸运算,即

    f?(y)f^*(y)

    f?(y)一定为凸。

  3. 对于复数而言,复数的共轭的共轭是他自身。但是对于函数而言是不一定的。因为函数的共轭一定是凸函数,那么函数的共轭的共轭一定也是凸函数。如果原函数不是凸函数,那么二者肯定不一样,否则如果原函数是凸的而且是闭函数,那么共轭的共轭确实等于它自身。

Simple Examples\color{orange}\textbf{Simple Examples}

Simple Examples

f(x)=ax+b,domf=R\color{grey}\mathbf{f(x)=ax+b,dom f=R}

f(x)=ax+b,domf=R
此时共轭函数为:
在这里插入图片描述

f(x)=?log?x,domf=R++\color{grey}\mathbf{f(x)=-\log x,dom f=R_{++}}

f(x)=?logx,domf=R++?
此时,

f?(y)=sup?xdomf(yx+log?x)f^*(y)=\sup_{x\in dom f}(yx+\log x)

f?(y)=supx∈domf?(yx+logx),根据第一条性质

f(x)=yf'(x)=y

f′(x)=y得到

x=?1/yx=-1/y

x=?1/y,因为我们有

x>0x>0

x>0的约束,将这个结果带回原方程,我们得到:
在这里插入图片描述
注意

y>0y>0

y>0的时候因为

x>0x>0

x>0,所以

yxyx

yx我们总能取到无穷,

y==0y==0

y==0的时候,

log?x\log x

logx为无穷,所以

y0y\geq 0

y≥0函数值取正无穷。

f(x)=12xTQx,QS++n,domf=Rn\color{grey}\mathbf{f(x)=\frac{1}{2}x^TQx,Q\in S^n_{++},dom f=R^n}

f(x)=21?xTQx,Q∈S++n?,domf=Rn
此时,

f?(y)=sup?xdomf(yTx?12xTQx)f^*(y)=\sup_{x\in dom f}(y^Tx-\frac{1}{2}x^TQx)

f?(y)=supx∈domf?(yTx?21?xTQx),同样我们可以使用第一条性质,他对

xx

x求偏导得到的结果是

y?Qx=0y-Qx=0

y?Qx=0(注意不是

yTy^T

yT)。正定矩阵的奇异值等于特征值全部大于0,因此Q是可逆的,那么

x=Q?1yx=Q^{-1}y

x=Q?1y,将

xx

x带会原方程得到:

f?(y)=sup?xdomf(yTQ?1y?12yT(Q?1)TyQQ?1y)\mathbf\color{red}f^*(y)=\sup_{x\in dom f}(y^TQ^{-1}y-\frac{1}{2}y^T(Q^{-1})^TyQQ^{-1}y)

f?(y)=supx∈domf?(yTQ?1y?21?yT(Q?1)TyQQ?1y),again,Q是对称的,那么稍微进行化简我们就得到了

12yTQ?1y\mathbf\color{red}\frac{1}{2}y^TQ^{-1}y

21?yTQ?1y。也就是把

xx

x换成

yy

y,将

QQ

Q换成了

Q?1Q^{-1}

Q?1。


参考blog\color{orange}\textbf{参考blog}

参考blog

https://blog.csdn.net/shenxiaolu1984/article/details/78194053
https://blog.csdn.net/xiaocj423/article/details/50831001?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1