BFGSアップデートの直感的な動機


15

私は数値分析調査クラスを教えており、最適化の背景/直感が限られている学生のためのBFGS法の動機付けを求めています!

JのKX K - Xのk - 1= F X K- F Xのk - 1JkJk1あちこち2Jkバツkバツk1=fバツkfバツk1

BFGSアップデートの派生は、はるかに複雑で曖昧なようです!特に、更新がランク2であるか、特定の形式をとるべきであるとアプリオリに仮定したくない。BroydenのようなBFGS Hessianの更新には、変則的に見える短い動機がありますか?


4
任意の更新を許可する場合、Newtonのメソッドで完全なヘッセ行列を使用できます。低ランク更新の1つの主要な計算上の利点は、近似ヘッセ行列の分解を非常に迅速に更新できることです。
ブライアンボーチャーズ

回答:


12

BFGSの導出は、(厳密に)凸コスト関数を考慮すると、より直感的です。

ただし、いくつかの 背景 情報が必要です。たとえば、関数 を最小化するとし 近似解x_kがあるとします。そして、1は最小の近似Fを切り捨てテイラー展開の最小値によって F(X_K + P)\約F(X_K)+ \ナブラF(X_K)^ Tpを+ \ FRAC {1} {2} P ^ TH( x_k)p。\ quad(*) つまり、(*)が最小になるようにpを探し、x_ {k + 1}:= x_k + pを設定します。(*)の勾配を計算します-「pに関して」-そしてそれをゼロに設定すると関係が得られます X K F F X 、K + P F X 、K+ F X 、K Tの P + 1

fバツバツRn
バツkfP * X K + 1= X K + P * P H X K[ X K + 1 - X K ] = F X 、K + 1- F X 、K
fバツk+pfバツk+fバツkTp+12pTHバツkp
pバツk+1:=バツk+pp
Hバツk[バツk+1バツk]=fバツk+1fバツk
ここで、Hは「勾配のヤコビアン」またはヘッセ行列です。

ヘッセ行列の計算と反転は高価なので...


... 短い答え

(Broydenの更新を参照)BFGS更新H_ {k + 1} ^ {-1} は、賢明に選択された重み付きフロベニウスノルムで \ | H_k ^ {-1}-H ^ {-1} \ | _W Hk+11最小化する かもしれません。の対象

Hk1H1W
  1. H[バツk+1バツk]=fバツk+1fバツk -これが目的です-そして
  2. HT=Hヘッセ行列は対称であるため、H ^ T = Hです。

重量の次に選択にの逆数として平均ヘッセ、cf。ここでは、ステートメントではあるが証明なしで、BFGS更新式を提供します()。WHW:=W1/2HW1/2F G:=01Hバツk+τpdταk=1

主なポイントは次のとおりです。

  • 二次近似の解によって実際のコストの解を近似しようとします
  • ヘッセ行列とその逆の計算は高価です。単純な更新が好まれます。
  • 更新は、実際のヘッセ行列ではなく、逆行列に対して最適に選択されます。
  • ランク2の更新であることは、フロベニウスノルムの重みの特定の選択の結果です。

長い答えは、非凸問題(探索方向のスケーリング必要と湾曲状態が表示され、この作品を作る方法を、重みを選択する方法を含むべきである)、そしてどのように更新のため、実際の式を導出します。参照はこちら(ドイツ語)。p


ありがたいことに、これは素晴らしいことです(そして、Nocedal&Wrightでの議論に基づいて、多かれ少なかれ期待していました)。残っている質問の1つは、なぜと標準を選択するのかということです。私はそれがユニットに関係していることを理解していますが、これを行うと規範の多くの潜在的な選択があります。WW
ジャスティンソロモン

そうですね。よくわかりません。1つの答えは、計算が簡単で適切に機能する更新式を提供することです。歴史的に、このアップデートへのアプローチ-アップデートの違いを最小限に抑える-はShannoによるものでした。重みの特定の選択がブロイデンとフレッチャーの公式につながることを発見したのは審判(ゴールドファーブ)でした。BFGSの開発者の直観については、この博士論文(BFGS secantメソッドの歴史的発展)を参照してください。ただし、3つのアプローチはすべて非常に抽象的です。
1

1
興味深いことに、ガイダンスをありがとう!私の現在の記事(助けが必要ないくつかの数学の間違い)はここにあります:graphics.stanford.edu/courses/cs205a-13-fall/assets/notes / ...(もしあなたがあなたの助けに感謝し たいなら私はそれを喜んで提供します) -適切な連絡先情報をメールで送信してください)
ジャスティンソロモン

@janなぜあなたの方程式はであり によって与えられた割線条件ではない
Hバツk[バツk+1バツk]=fバツk+1fバツk
Hバツk+1[バツk+1バツk]=fバツk+1fバツk
Hk+1sk=yk。ここで、です。ありがとう!sk=バツk+1バツkyk=fk+1fk
ジェフファラチ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.