最优化学习笔记(十七)——拟牛顿法(3)
生活随笔
收集整理的這篇文章主要介紹了
最优化学习笔记(十七)——拟牛顿法(3)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
秩1修正公式
????在秩1修正公式中,修正項為αkz(k)z(k)T,αk∈R,z(k)∈Rn,是一個對稱矩陣,近似矩陣的更新方程為:
注意:
rankz(k)z(k)T=rank(????????z(k)1z(k)2?z(k)n????????[z(k)1,z(k)2,…,z(k)n])=1
所以稱為秩1修正算法。如果 Hk是對稱的,則 Hk+1也是對稱的。
????接下來的問題是在給定的 Hk,Δg(k),Δx(k)的前提下,確定合適的 αk,z(k), 保證:
Hk+1Δg(k)=(Hk+αkz(k)z(k)T)Δg(k)=Δx(k)
注意, z(k)TΔg(k)是一個標量,因此:
Δx(k)?HkΔg(k)=(αkz(k)TΔg(k))z(k)(1)
有:
z(k)=Δx(k)?HkΔg(k)αk(z(k)TΔg(k))
可得:
αkz(k)z(k)T=(Δx(k)?HkΔg(k))(Δx(k)?HkΔg(k))Tαk(z(k)TΔg(k))2
那么近似矩陣的中間更新方程為:
Hk+1=Hk+(Δx(k)?HkΔg(k))(Δx(k)?HkΔg(k))Tαk(z(k)TΔg(k))2(2)
在(1)式兩端同乘以 Δg(k)T:
Δg(k)TΔx(k)?Δg(k)THkΔg(k)=Δg(k)T(αkz(k)TΔg(k))z(k)
因為 αk,z(k)TΔg(k)=Δg(k)Tz(k)是標量,所以:
Δg(k)TΔx(k)?Δg(k)THkΔg(k)=αk(z(k)TΔg(k))2
將上式代入2式可得:
Hk+1=Hk+(Δx(k)?HkΔg(k))(Δx(k)?HkΔg(k))TΔg(k)T(Δx(k)?HkΔg(k))
????根據以上討論,可得秩1算法的步驟:
1. 令 k=0,選擇初始點 x(0),任選一個對稱正定實矩陣 H0。
2. 如果 g(k)=0,停止迭代,否則,令 d(k)=?Hkg(k)
3. 計算
αk=argminα≥0f(x(k)+αd(k))x(k+1)=x(k)+αd(k))
4.計算
Δx(k)=αd(k)Δg(k)=g(k+1)?g(k)Hk+1=Hk+(Δx(k)?HkΔg(k))(Δx(k)?HkΔg(k))TΔg(k)T(Δx(k)?HkΔg(k))
5. 令 k=k+1, 回到第二步。
????需要秩1并不完全令人滿意。首先,該算法產生的矩陣Hk+1并不一定是正定的,這將導致d(k+1)可能不是下降方向,其次,如果Δg(k)T(Δx(k)?HkΔg(k))接近0,Hk+1可能面臨計算困難。
總結
以上是生活随笔為你收集整理的最优化学习笔记(十七)——拟牛顿法(3)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搭架SSH服务器学习笔记
- 下一篇: linux查看磁盘挂载的三种方法