天天看點

共轭函數共轭函數

共轭函數

這個 x ∈ d o m ( f ) x\in dom(f) x∈dom(f)是指x在f的定義域上取值

f ∗ ( t ) = max ⁡ x ∈ d o m ( f ) { x t − f ( t ) } f^*(t)= \max_{x \in dom(f)} \{xt-f(t)\} f∗(t)=x∈dom(f)max​{xt−f(t)}

legendre

談共轭函數之前,必須先談legendre變換:

f ( x , y ) — — — — l e g e n d r e — — — > G ( u , y ) f ( x , y ) = f ( x 1 . . . . . x n , y 1 . . . . . y n ) d f = ∂ f ∂ x 1 d x 1 + . . . . + ∂ f ∂ x n d x n + ∂ f ∂ y 1 d y 1 + . . . . . . + ∂ f ∂ y n d y n = ∑ ∂ f ∂ x i d x i + ∑ ∂ f ∂ y i d y i f(x,y)————legendre———>G(u,y)\\ f(x,y)=f(x_1.....x_n,y_1.....y_n)\\ df=\frac{\partial f}{\partial x_1}dx_1 +....+ \frac{\partial f}{\partial x_n}dx_n + \frac{\partial f}{\partial y_1}dy_1 +......+ \frac{\partial f}{\partial y_n}dy_n\\ =\sum \frac{\partial f}{\partial x_i}dx_i +\sum \frac{\partial f}{\partial y_i}dy_i f(x,y)————legendre———>G(u,y)f(x,y)=f(x1​.....xn​,y1​.....yn​)df=∂x1​∂f​dx1​+....+∂xn​∂f​dxn​+∂y1​∂f​dy1​+......+∂yn​∂f​dyn​=∑∂xi​∂f​dxi​+∑∂yi​∂f​dyi​

然後在假設 ∑ ∂ f ∂ x i = u i \sum \frac{\partial f}{\partial x_i}=u_i ∑∂xi​∂f​=ui​就成了這個:

d f = ∑ u i d x i + ∑ ∂ f ∂ y i d y i ∑ x i d u i − ∑ ∂ f ∂ y i d y i = d ( ∑ u i x i − f ) df=\sum u_idx_i+\sum \frac{\partial f}{\partial y_i}dy_i\\ \sum x_idu_i-\sum \frac{\partial f}{\partial y_i}dy_i = d(\sum u_ix_i -f) df=∑ui​dxi​+∑∂yi​∂f​dyi​∑xi​dui​−∑∂yi​∂f​dyi​=d(∑ui​xi​−f)

是以 G ( u , y ) = ∑ u i x i − f ( x , y ) = u t x − f ( x , y ) G ( u ) = u t x − f ( x ) G(u,y)=\sum u_ix_i - f(x,y) \\=u^tx-f(x,y)\\ G(u)=u^tx - f(x) G(u,y)=∑ui​xi​−f(x,y)=utx−f(x,y)G(u)=utx−f(x)

legendre變換:函數與切線聯系在一起

G(u)——>u這個變量是f(x)每個點的導數!!

G(u)=ux-f(x) (因為是二維,是以不是ut),u為(x,f(x))點的切線斜率。

例子:

f ( x ) = x 2 2 — — — — l e g e n d r e — — — — > g ( u ) = u t x − f ( x ) = x 2 − x 2 2 = 1 2 x 2 — — > u 2 2 f(x)=\frac{x^2}{2}————legendre————> g(u)=u^tx-f(x)=x^2-\frac{x^2}{2}=\frac{1}{2}x^2——>\frac{u^2}{2} f(x)=2x2​————legendre————>g(u)=utx−f(x)=x2−2x2​=21​x2——>2u2​

但是legendre變換對于不可導問題和非凸函數不行!

Fenchel:可以解決上述情況

Fenchel———>共轭函數

Fenchel:

f ∗ ( k ) = s u p { k x − f ( x ) } x ∈ d o m ( f ) f^*(k)=sup\{kx-f(x)\}\\x \in dom(f) f∗(k)=sup{kx−f(x)}x∈dom(f)

f*(k)的k變量是每一個點切線的斜率

其中有三個性質:

  1. Fenchel不等式: f ∗ ( k ) > = k T x − f ( x ) f^*(k)>= k^Tx-f(x) f∗(k)>=kTx−f(x)
  2. 如果 f是凸函數,可微,則共轭函數等于legendre
  3. 如果f是凸函數,f是閉集,則共轭的共轭等于其本身

繼續閱讀