秩2演算法可以保證在任意第
k 步迭代下, 只要一維搜尋是精確的,近似矩陣hk
就是正定的。
dfp演算法令
k=0 ,選擇初始點x(
0),任意選擇乙個堆成正定實矩陣h0
。如果g
(k)=
0 , 停止迭代; 否則,令d(
k)=−
hkg(
k)計算 αk
=arg
minα≥0
f(x(
k)+α
d(k)
)x(k
+1)=
x(k)
+αkd
(k)
4.計算 δx
(k)=
αkd(
k)δg
(k)=
g(k+
1)−g
(k)h
k+1=
hk+δ
x(k)
δx(k
)tδx
(k)t
δg(k
)+[h
kδg(
k)][
hkδg
(k)]
tδg(
k)th
kδg(
k)5.令 k==
k+1 , 回到第二步。
定理18.1 利用dfp演算法求解二次型問題時,hessian矩陣為q=
qt,有
hk+1
δg(i
)=δx
(i),
0≤i≤
k 成立。
需要說明的是dfp演算法是一種共軛方法。
定理18.2 假定g(
k)≠0
,在dfp演算法中,只要矩陣hk
是正定的, hk
+1就一定是正定的。
dfp演算法能夠使得hk
是正定的,因此它由於秩1演算法,但是,處理一些規模較大的非二次型問題時,dfp演算法會被「卡住」,迭代無法繼續展開,原因是hk
矩陣接近稱為奇異矩陣了,後續的bfgs演算法可以解決這一問題。
最優化演算法3 擬牛頓法1
計算量大,每次都需要計算hesse矩陣,對於自變數維數較高的優化函式,計算量是相當大的 hesse矩陣可能存在不正定的問題,此時求得的迭代方向可能不是下降方向 為了解決上述問題,需要求hesse矩陣近似矩陣 b 將函式在 x 處二階展開 f x f x g t x x frac x x tg x x...
最優化演算法3 2 擬牛頓法 BFGS演算法
相較於 最優化演算法3 擬牛頓法1 bfgs演算法使用秩二矩陣校正hesse矩陣的近似矩陣 b 即 b b k alpha mu k mu k t beta nu k nu k t 將函式在 x 處二階展開 f x f x g t x x frac x x tg x x 上式求導等於0,得 g k ...
最優化學習4
根據已學習內容,解決現在遇到的問題 1.這是乙個凸優化問題嗎 經過一輪推導,對於變數為感測器位置,x,y,z。並不是凸函式 2.需要多少個等式對應多少個未知數 至少達到變數數,越多越好 3.如果使用lm方法,怎麼加入約束條件 涉及到的約束 手臂長度約束,不等式,20 感測器位置約束,不等式,4 x,...