函数定义 \color{orange}\textbf{函数定义} 函数定义
共轭函数在凸优化中有着非常重要的作用,是理解对偶的必不可少的元素。在书中,它被定义为
f ∗ ( y ) = sup ⁡ x ∈ d o m f ( y T x − f ( x ) ) f^*(y)=\sup_{x\in dom f}(y^Tx-f(x)) f(y)=xdomfsup(yTxf(x))
其中, f : R n → R , f ∗ : R n → R f:R^n\rightarrow R,f^*:R^n\rightarrow R f:RnRf:RnR f ∗ f^* f称为 f f f的共轭函数。也就是说,共轭函数是线性函数 y T x y^Tx yTx与原始函数 f ( x ) f(x) f(x)的最大gap.


物理意义 \color{orange}\textbf{物理意义} 物理意义
我们使用书中的图作为例子,可以看到,当 y y y固定的时候, y T x y^Tx yTx就是一个线性函数,这是一个经过空间原点,斜率为 y y y的线(二维空间),此时对于每一个 x x x y T x y^Tx yTx有一个值, f ( x ) f(x) f(x)也有一个值,共轭函数希望最大化前者减去后者的差。那么我们对上面的函数求一阶导数,就得到了 f ′ ( x ) = y f'(x)=y f(x)=y,即在该点, f ( x ) f(x) f(x)的斜率等于 y y y,也就是说我们将 y T x y^Tx yTx向下平移到一个不能再平移的位置,该位置所对应的 x x x即我们要的变量值。
在这里插入图片描述


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

  1. f ( x ) f(x) f(x)如果可微,则 f ∗ ( y ) f^*(y) f(y)所对应的 x x x必是 f ′ ( x ) = y f'(x)=y f(x)=y的一点。
    解释:我们对共轭函数的任意一个自变量 y y y,都会找到一个或者多个 x x x使得共轭函数的取值最大,而上面我们已经求导了,只有在 f ′ ( x ) = y f'(x)=y f(x)=y时,该函数的值最大。
  2. 无论 f ( x ) f(x) f(x)是不是凸函数,他的共轭函数 f ∗ ( y ) f^*(y) f(y)一定都是凸函数
    解释: 这是一个非常神奇而且重要的性质,给定一个任意的函数,我们都可以使用共轭创造一个凸函数。为什么他的共轭函数一定是凸函数呢?我们简单进行分析:对于 f ∗ ( y ) = sup ⁡ x ∈ d o m f ( y T x − f ( x ) ) f^*(y)=\sup_{x\in dom f}(y^Tx-f(x)) f(y)=supxdomf(yTxf(x)),这是一个关于 y y y的线性函数(第一项是线性,第二项无关),线性函数是凸函数唔注意!,那么我们有很多个 x x x,每个 x x x都对应一个凸函数 ( y T x − f ( x ) ) (y^Tx-f(x)) (yTxf(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 ) = a x + b , d o m f = R \color{grey}\mathbf{f(x)=ax+b,dom f=R} f(x)=ax+b,domf=R
此时共轭函数为:
在这里插入图片描述
f ( x ) = − log ⁡ x , d o m f = R + + \color{grey}\mathbf{f(x)=-\log x,dom f=R_{++}} f(x)=logx,domf=R++
此时, f ∗ ( y ) = sup ⁡ x ∈ d o m f ( y x + log ⁡ x ) f^*(y)=\sup_{x\in dom f}(yx+\log x) f(y)=supxdomf(yx+logx),根据第一条性质 f ′ ( x ) = y f'(x)=y f(x)=y得到 x = − 1 / y x=-1/y x=1/y,因为我们有 x > 0 x>0 x>0的约束,将这个结果带回原方程,我们得到:
在这里插入图片描述
注意 y > 0 y>0 y>0的时候因为 x > 0 x>0 x>0,所以 y x yx yx我们总能取到无穷, y = = 0 y==0 y==0的时候, log ⁡ x \log x logx为无穷,所以 y ≥ 0 y\geq 0 y0函数值取正无穷。
f ( x ) = 1 2 x T Q x , Q ∈ S + + n , d o m f = R n \color{grey}\mathbf{f(x)=\frac{1}{2}x^TQx,Q\in S^n_{++},dom f=R^n} f(x)=21xTQx,QS++n,domf=Rn
此时, f ∗ ( y ) = sup ⁡ x ∈ d o m f ( y T x − 1 2 x T Q x ) f^*(y)=\sup_{x\in dom f}(y^Tx-\frac{1}{2}x^TQx) f(y)=supxdomf(yTx21xTQx),同样我们可以使用第一条性质,他对 x x x求偏导得到的结果是 y − Q x = 0 y-Qx=0 yQx=0(注意不是 y T y^T yT)。正定矩阵的奇异值等于特征值全部大于0,因此Q是可逆的,那么 x = Q − 1 y x=Q^{-1}y x=Q1y,将 x x x带会原方程得到:
f ∗ ( y ) = y T Q − 1 y − 1 2 y T ( Q − 1 ) T y Q Q − 1 y \mathbf\color{red}f^*(y)=y^TQ^{-1}y-\frac{1}{2}y^T(Q^{-1})^TyQQ^{-1}y f(y)=yTQ1y21yT(Q1)TyQQ1y,again,Q是对称的,那么稍微进行化简我们就得到了 1 2 y T Q − 1 y \mathbf\color{red}\frac{1}{2}y^TQ^{-1}y 21yTQ1y。也就是把 x x x换成 y y y,将 Q Q Q换成了 Q − 1 Q^{-1} Q1


参考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

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐