數值最優化

2021-07-10 12:29:32 字數 3369 閱讀 2136

多元函式

1. 設多元函式 f:

rn→r

二次連續可微,則

f 在

x 處的梯度和hessian矩陣為:∇f

(x)=

(∂f(

x)∂x

1,∂f

(x)∂

x2,⋯

,∂f(

x)∂x

n)t∇

2f(x

)=⎛⎝

⎜⎜⎜⎜

⎜⎜⎜∂

f(x)

∂x21

⋮∂f(

x)∂x

n∂x1

⋯⋯∂f

(x)∂

x1∂x

n⋮∂f

(x)∂

x2n⎞

⎠⎟⎟⎟

⎟⎟⎟⎟

2. 多元函式的taylor展開式:一階

:f(x

)=f(

y)+∇

f(y)

t(x−

y)+o

(||x

−y||

)二階:

f(x)

=f(y

)+∇f

(y)t

(x−y

)+12

(x−y

)t∇2

f(y)

(x−y

)+o(

||x−

y||2

) 一元函式與多元函式

給定的x,

y∈rn

,定義一元函式ϕ:

r→r 如下: ϕ(

t)=f

[y+t

(x−y

)],經計算可得: ϕ′

(t)=

∇f[y

+t(x

−y)]

t(x−

y)ϕ′′

(t)=

(x−y

)t∇2

f[y+

t(x−

y)](

x−y)

數值最優化的一般方法是,初始選取乙個點x1

,通過導數等資訊得到當前的乙個下降方向dk

(k=1

,2,⋯

) ,在這個方向的基礎上,計算步長αk

,得到新的點xk

+1=x

k+αk

dk,這樣的迭代始終能保證f(

xk+1

)xk) ,從而得到極小值點(非最小值)。

因此,數值最優化無非就是圍繞方向d和步長

α 的選取。再進一步地,對於步長

α 的搜尋,基本方法主要有精確線性搜尋和非精確線性搜尋。其中精確線性搜尋有公式法和**分割法,非精確線性搜尋主要有armijo型線性搜尋和wolfe-powell型線性搜尋,都是比較簡單的一元函式知識,因為步長

α 是一元的。

由此,數值最優化的各種演算法的主要不同之處就在於下降方向d的選取了,d的構造方式確定了各種不同的演算法。關於構造的d如何保證是下降方向呢,只要保證向量d滿足∇f

(x)t

d<

0 ,證明如下:

證明:利用taylor展開式,不難得到:當

α>

0 充分小時f(

x+αd

)=f(

x)+α

∇f(x

)d+o

(α)x)

即d是f在x處的乙個下降方向。

夾帶私貨:∇f

(x)t

d<

0 的幾何理解:∇f

(x) 表示在x的各個分量xi

上每增加乙個單位,相應的函式值分量yi

增加∂f

∂xi 個單位,∇f

(x)t

d<

0 是∇f

(x) 和d對應元素相乘之和,也就是說,在各分量xi

上增加了di

個單位(在各個方向上前進了這麼多步),那麼,∇f

(x)t

d<

0 的意義就是在各個方向上增加的函式值之和,也就是近似的函式值增加量了。只要乙個單位量足夠逼近0,近似值也就逼近真實值,直至收斂。

牛頓法的基本思想是,在離點xk

足夠近的距離,f(

x)可以近似看作乙個二次函式。即,在xk

附近使用f(

x)的二次近似來尋找比xk

處函式值更小的點。

由泰勒公式,將f(

x)在固定點比xk

處展開,則有:f(

xn+δ

x)≈f

(xn)

+δxt

∇f(x

n)+1

2δxt

(∇2f

(xn)

)δx

當||δx||→0時,上面的近似展開式是成立的。

對δx求導取0,得:δx

∗=−h

−1ng

n 基本思想

先看一下擬牛頓法的基本框架 qu

asin

ewto

n(f,

x0,h

−10,

quasiupdate):

for n=

0,1,

…(until converged)

:// compute search direction and step-size d=

h−1n

gnα←

minα≥0

f(xn

−αd)

xn+1

←xn−

αd// store the input and gradient deltas gn

+1←∇

f(xn

+1)s

n+1←

xn+1

−xny

n+1←

gn+1

−gn// update inverse hessian h−

1n+1

←quasiupdate(h

−1n,

sn+1

,yn+

1)初始時,給了乙個引數h−

10,之後每一次迭代通過quasiupdatequasiupdate方法加上輸入變數與梯度的差值(sn

和yn )作為引數,產生出下乙個h−

1 的估計。

可以發現,若quasiupdatequasiupdate每次都返回單位矩陣,則擬牛頓法退化為梯度下降方法(每一次都沿著梯度方向搜尋)。

若quasiupdatequasiupdate能夠返回∇2

f(xn

+1) ,則擬牛頓法與牛頓法就等價了。

從上述偽**中可以看出,擬牛頓法僅僅需要函式值和梯度資訊,並不需要二階導資訊。

最優化 數值優化演算法

核心思路 對梯度方向做一些修正,使得每次迭代尋找最優點都在可行域的內部進行。我們從可行域內部的某個點開始搜尋,一開始沿著梯度方向進行迭代搜尋,一旦碰到邊界 說明下一步可能會離開可行域 就要扭轉方向,使得搜尋過程始終在可行域的內部進行。當點落在可行域外部時,該怎樣選擇搜尋方向,衍生出了下列的演算法。1...

機器學習筆記 數值最優化 1 最優化條件

方向導數 設x k是經k 步迭代後 得到的迭 代點,d k是xk 在xk使 f x 下降的方 向,k 0是 沿k的步 長,則第 k 1個 迭代待是 xk 1 x k k dk滿足 f xk 1 f xk 終止準則 f xk 1 f x k 足夠小 設 當前點為xk 搜尋方向是dk 視為 的 函式 h...

最優化理論與方法 《數值與最優化方法》(目錄)

對於每乙個方法,都大致按照 問題形式 演算法步驟 和 收斂分析 來進行展開的。而對於科研中常用方法,則講透本質思想。數值與最優化方法 一 包括 一.無約束最優化計算方法1.1 數學基礎 1.1.1 等值線 1.1.2 可微與梯度 1.1.3 方向導數 1.1.4 hesse矩陣 1.1.5 多元函式...