函数定义
共轭函数在凸优化中有着非常重要的作用,是理解对偶的必不可少的元素。在书中,它被定义为
f∗(y)=x∈domfsup(yTx−f(x))
其中,f:Rn→R,f∗:Rn→R,f∗称为f的共轭函数。也就是说,共轭函数是线性函数yTx钰钰原始函数f(x)的最大gap.
物理意义
我们使用书中的图作为例子,可以看到,当y固定的时候,yTx就是一个线性函数,这是一个经过空间原点,斜率为y的线(二维空间),此时对于每一个x,yTx有一个值,f(x)也有一个值,共轭函数希望最大化前者减去后者的差。那么我们对上面的函数求一阶导数,就得到了f′(x)=y,即在该点,f(x)的斜率等于y,也就是说我们将yTx向下平移到一个不能再平移的位置,该位置所对应的x即我们要的变量值。

重要性质
共轭函数之所以重要,而且被很多理论广泛使用,是因为他有几条很好的性质
-
f(x)如果可微,则f∗(y)所对应的x必是f′(x)=y的一点。
解释:我们对共轭函数的任意一个自变量y,都会找到一个或者多个x使得共轭函数的取值最大,而上面我们已经求导了,只有在f′(x)=y时,该函数的值最大。
-
无论f(x)是不是凸函数,他的共轭函数f∗(y)一定都是凸函数。
解释: 这是一个非常神奇而且重要的性质,给定一个任意的函数,我们都可以使用共轭创造一个凸函数。为什么他的共轭函数一定是凸函数呢?我们简单进行分析:对于f∗(y)=supx∈domf(yTx−f(x)),这是一个关于y的线性函数(第一项是线性,第二项无关),线性函数是凸函数唔注意!,那么我们有很多个x,每个x都对应一个凸函数(yTx−f(x)),那么,f∗(y)即一系列凸函数的逐点上确界,这是一个保凸运算,即f∗(y)一定为凸。
- 对于复数而言,复数的共轭的共轭是他自身。但是对于函数而言是不一定的。因为函数的共轭一定是凸函数,那么函数的共轭的共轭一定也是凸函数。如果原函数不是凸函数,那么二者肯定不一样,否则如果原函数是凸的而且是闭函数,那么共轭的共轭确实等于它自身。
Simple Examples
f(x)=ax+b,domf=R
此时共轭函数为:

f(x)=−logx,domf=R++
此时,f∗(y)=supx∈domf(yx+logx),根据第一条性质f′(x)=y得到x=−1/y,因为我们有x>0的约束,将这个结果带回原方程,我们得到:

注意y>0的时候因为x>0,所以yx我们总能取到无穷,y==0的时候,logx为无穷,所以y≥0函数值取正无穷。
f(x)=21xTQx,Q∈S++n,domf=Rn
此时,f∗(y)=supx∈domf(yTx−21xTQx),同样我们可以使用第一条性质,他对x求偏导得到的结果是y−Qx=0(注意不是yT)。正定矩阵的奇异值等于特征值全部大于0,因此Q是可逆的,那么x=Q−1y,将x带会原方程得到:
f∗(y)=supx∈domf(yTQ−1y−21yT(Q−1)TyQQ−1y),again,Q是对称的,那么稍微进行化简我们就得到了21yTQ−1y。也就是把x换成y,将Q换成了Q−1。
参考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