一、泰勒展開:
泰勒公式是一個用函數在某點的信息描述其附近取值的公式。這個公式來自於微積分的泰勒定理,泰勒定義描述了一個可微函數,如果函數足夠光滑的話,在已知函數在某一點的各階導數值的情況之下,泰勒公式可以用這些導數值做係數構建一個多項式來近似函數在這一點的鄰域中的值,這個多項式稱爲泰勒多項式。
泰勒定理:
設n是一個正整數,如果定義在一個包含a的區間上的函數f在a點處n+1次可導,那麼對於這個區間上的任意x,都有:
f(x)=f(a)+1!f′(a)(x−a)+2!f(2)(a)(x−a)2+...+n!f(n)(a)(x−a)n+Rn(x)
其中的多項式稱爲函數在a處的泰勒展開式,剩餘的Rn(x)是泰勒展開式的餘項,爲(x−a)n的高階無窮小。
二、泰勒展開和Hassian矩陣的關係
二元函數f(x1,x2)在X(0)(x1(0),x2(0))的泰勒展開爲:
f(x1,x2)=f(x1(0),x2(0))+∂x1∂f∣X(0)△x1+∂x2∂f∣X(0)△x2+21[∂x12∂2f∣X(0)△x12+2∂x1∂x2∂2f∣X(0)△x1△x2+∂x22∂2f∣X(0)△x22]+...
將上述表達式寫成矩陣形式:
f(X)=f(X(0))+(∂x1∂f,∂x2∂f)X(0)(△x1△x2)+21(△x1,△x2)(∂x12∂2f∂x2∂x1∂2f∂x1∂x2∂2f∂x22∂2f)X(0)(△x1△x2)+...
令:
▽f(X(0))T=(∂x1∂f∂x2∂f)X(0),△X=(△x1△x2),G(X(0))=(∂x12∂2f∂x2∂x1∂2f∂x1∂x2∂2f∂x22∂2f)X(0)
此時上式可表示爲:
f(X(0))=f(X(0))+▽f(X(0))T△X+21△XTG(X(0))△X+....
這個G(X(0))就是f(x1,x2)在X(0)點處的Hassian矩陣。
同時注意這個▽f(X(0))是雅可比矩陣
https://baike.baidu.com/item/%E9%BB%91%E5%A1%9E%E7%9F%A9%E9%98%B5
三、拉格朗日函數:
3.1定義:
設給定二元函數z=f(x,y)和附加條件ϕ(x,y)=0,爲尋找z=f(x,y)在附加條件下的極值點,先做拉格朗日函數F(x,y,ϕ)=f(x,y)+λϕ(x,y),其中λ是參數
首先令F(x,y,λ)對x,y,λ的一階導數爲零,即:
Fx′=fx′(x,y)+λϕx′(x,y)=0
Fy′=fy′(x,y)+λϕy′(x,y)=0
Fλ′=ϕ(x,y)=0
由上述方程解出x,y,λ,如此求得的(x,y),就是函數z=f(x,y)在附加條件ϕ(x,y)=0下的可能極值點。
如果這樣的點只有一個,由實際問題可直接確定此即所求的點。
https://baike.baidu.com/item/%E6%8B%89%E6%A0%BC%E6%9C%97%E6%97%A5%E4%B9%98%E6%95%B0%E6%B3%95/8550443
3.2 理解:
拉格朗日函數本身只是一種構造方式,這種方式本身是沒有意義的,但它可以使求條件極值的步驟變得相對簡單方便一些,所以大家傾向於使用構造拉格朗日函數這種方式來求極值。
以二元函數爲例,假設變量x,y滿足約束條件f(x,y)=0,求g(x,y)的極值:
對f(x,y)=0微分可以得到:df=∂x∂fdx+∂y∂fdy=0 (1)
同時g(x,y)取極值的必要條件是dg=∂x∂gdx+∂y∂gdy=0 (2)
聯立(1)(2),這個方程組可以看成關於dx,dy的齊次線性方程組。要使該方程組有非零解(dx,dy雖然是小量,但不是真正的零),則該方程組的行列式爲零,即:
∂x∂f∂y∂g−∂y∂f∂x∂g=0 (3)
也就是說(3)就是g(x,y)取極值的一個條件,將(3)與f(x,y)聯立,就能求出極值點。
上面是按定義求極值的方法,接下來構造拉格朗日函數看能否得到(3)這個式子。
令拉格朗日函數h(x,y)=g(x,y)+λf(x,y)。其無條件極值點滿足:
∂x∂h=∂x∂g+λ∂x∂f=0 (4)
∂y∂h=∂y∂g+λ∂y∂f=0 (5)
聯立(4)(5),這個方程組可以看成關於μ,λ(這個μ只是一個臨時引入的變量)的一個齊次線性方程組:
μ∂x∂g+λ∂x∂f=0
μ∂y∂g+λ∂y∂f=0
且已知該方程組有非零解μ=1
根據齊次線性方程組有非零解的條件可知,該方程的係數矩陣的行列式爲零,即:
∂x∂g∂y∂f−∂x∂f∂y∂g=0 (6)
可以看出(3)和(6)是完全等價的,也就是說用拉格朗日函數來求條件極值,和用定義求條件極值是等價的。所以我們可以通過解(4)(5)這個方程組,來求g(x,y)的條件極值。
https://www.zhihu.com/question/64044033
四、廣義拉格朗日函數:
給定不等式約束問題:
KaTeX parse error: Invalid delimiter: 'm' after '\middle' at position 9: \middle m̲in f(x)\\s.t.\\…
定義廣義拉格朗日函數:
L(x,α,β)=f(x)+∑i=1kαici(x)+∑j=1lβjhj(x)
這裏x=(x(1),x(2),...,x(n))T∈Rn,αi,βj是拉格朗日乘子,αi≥0,考慮x的函數
θP(x)=maxα,β,αi≥0L(x,α,β)
則
θP(x)={f(x),x滿足原始問題約束+∞,其他
(有嚴格證明,這裏跳過)
極小化問題minxθp(x)=minxmaxα,β,αi≥0L(x,α,β)與原始優化問題有相同的解。
廣義拉格朗日函數相當於構造了一個含參函數,在滿足約束條件的情況下,這個函數的值總是小於等於目標函數f(x),而我們此時選取合適的參數α,β令該函數最大可使等號成立,即L(x,α,β)=f(x);若不滿足約束條件,則總存在α,β使得該函數趨向於+∞
定義原始問題的最優值爲p∗=minxθp(x)
4.1對偶問題
定義θD(α,β)=minxL(x,α,β)
我們得到極大極小問題
maxα,βθD(α,β)=maxα,βminxL(x,α,β)
s.t.ai≥0,i=1,2,...,k
稱爲原問題(極小極大問題)的對偶問題
定義對偶問題的最優解爲d∗=maxα,β,αi≥0θ(α,β)
4.2 原始問題和對偶問題的關係
4.2.1 性質1
(弱對偶性)d∗≤p∗。p是先求最大的一塊區域然後在這塊區域求最小,d是先求最小的一塊區域然後在這塊區域求最大,最大里面的最小,總會比最小裏面的最大要大
4.2.2 性質2
(強對偶充分條件)若f(x)和ci(x)是凸函數,hj(x)是仿射函數,並且不等式是嚴格可行的(即∃x,∀i,有ci(x)<0),則存在x∗,α∗,β∗使得x∗是原始問題的解,α∗,β∗是對偶問題的解,並且
p∗=d∗=L(x∗,α∗,β∗)
4.2.3 性質3
(強對偶充要條件)若f(x)和ci(x)是凸函數,hj(x)是仿射函數,並且不等式是嚴格可行的,則x∗是原始問題的解,α∗,β∗是對偶問題的解的充要條件就是他們滿足KKT(Karush-Kuhn-Tucker)條件