前情提要:勒讓德變換
定義
對於原函數\(f(x),x \in D\),其共軛函數為
\[f^*(y)=\sup_{x \in D}(<y,x>-f(x)) \]
其中注意\(<y,x>\)
- 對於標量:\(y \cdot x\)
- 對於向量:\(y^Tx\)
- 對於矩陣:\({\rm tr}(yx)\)
並且\(<y,x>-f(x) < -\infty\),即一定有上界
幾何表示
對於共軛函數的每一個自變量\(y=\bar y\),其取值相當於一條直線與原函數之差的最大值
對\(x\)求導得到最大值
\[\frac {\partial (<y,x>-f(x))} {\partial x}=0 \ \Rightarrow \nabla f(x)=y \]
下圖二維空間中,紅色部分就是\(xy-f(x)\),其中xy是過原點的直線,豎的黑線就是找到的最大差值
將\(xy\)向下平移與\((x_0,f(x_0))\)相切,那么切線可表示為\(h(x)=y(x-x_0)+f(x_0)\)
令\(x=0, \ h(0)=-yx_0+f(x_0)\)
那么就可以發現
\[\begin{align*} f^*(y)=&\sup_{x \in D}(yx-f(x))\\ =&yx_0-f(x_0) \end{align*} \]
那么綜合上面的切線可得
\[f^*(y)=-h(0) \]
也就是說\(f^*(y)\)是切線的負截距
下邊給出幾個函數與他們的共軛函數
意義
共軛函數的主要作用就是
一個函數即便不是凸函數,但通過共軛法獲得一個凸函數,很方便求解全局最優解的問題
\(f^*(y)\)是對\(y\)的仿射函數,一簇仿射函數的逐點上確界,一定是個凸函數,如下圖所示