4.5.2. BFGS法

アルゴリズム

B(k+1)B _ {(k+1)}​を以下の BFGS 公式によって更新する

B(k+1)=B(k)B(k)s(k)s(k)TB(k)<s(k),B(k)s(k)>+y(k)y(k)T<s(k),y(k)>B _ {(k+1)} = B _ {(k)} - \frac{B _ {(k)} s _ {(k)} s_ {(k)} ^ \mathrm{T} B _ {(k)}}{\left<s _ {(k)}, B _ {(k)} s _ {(k)} \right>} + \frac{y _ {(k)} y _ {(k)} ^ \mathrm{T}}{\left<s _ {(k)}, y _ {(k)} \right>}

あるいはその逆行列H(k+1)=B(k+1)1H _ {(k+1)} = B _ {(k+1)} ^ {-1}を次の式で更新することもできる(上の式を Sherman-Morrison の公式で反転したものであり、DFP 法の式とよく似ているので間違えないように注意する)

H(k+1)=(Is(k)y(k)T<s(k),y(k)>)H(k)(Is(k)y(k)T<s(k),y(k)>)T+s(k)s(k)T<s(k),y(k)>H _ {(k+1)} = \left( I - \frac{s _ {(k)} y _ {(k)} ^ \mathrm{T}}{\left<s _ {(k)}, y _ {(k)} \right>} \right) H _ {(k)} \left( I - \frac{s _ {(k)} y _ {(k)} ^ \mathrm{T}}{\left<s _ {(k)}, y _ {(k)} \right>} \right) ^ \mathrm{T} + \frac{s _ {(k)} s _ {(k)} ^ \mathrm{T}}{\left<s _ {(k)}, y _ {(k)} \right>}

原理

あとで。

Last updated