Armijoルールに関する混乱


13

行検索で使用されるArmijoルールについてこの混乱があります。追跡線の検索を読み返していましたが、このArmijoのルールが何であるかがわかりませんでした。誰もArmijoのルールを詳しく説明できますか?ウィキペディアはうまく説明していないようです。ありがとう


方程式で変数xがベクトルではなく行列の場合はどうなりますか?Armijoルールはどのように更新する必要がありますか?
フランクPuk

何も変わりません。行列を(列)ベクトルx kに単純に変形する必要があります。Xkxk
GoHokies

それは私が立ち往生したところです。場合マトリックスになり、左側の値(F X 、K + α のP kが)は依然としてスカラーです。しかし、右側の値ではない-その代わり、それはマトリックスだ(fはX 、Kであり、Aスカラーおよびβ α F X 、K TのPのkは行列である。)xkfバツk+αpkfバツkβαfバツkTpk
フランクプーク

行列ではなくベクトルを使用する必要があります。したがって、制御変数の行列(X kで表した)をN 2のベクトルx kに再整形します。N×NバツkバツkN2要素のます。検索方向と勾配も要素のベクトルになります。この方法では、Armijo条件のRHSとLHSの両方がスカラーであり、比較できます。N2
GoHokies

回答:


19

目的関数f x )の下降方向を取得したら、「適切な」ステップ長を選択する必要があります。新しいポイントでの関数が現在のポイントよりも大きくなるような大きすぎるステップを実行したくない場合。同時に、収束するのに永遠に時間がかかるほどステップを小さくしすぎたくありません。pfバツ

Armijoの状態は、基本的に、「良い」ステップ長は、新しいポイントでを「十分に減少」させることを示唆しています。条件は、数学的に記載されてF X 、K + α のp K)をfはX 、K+ β α F X 、K T Pのk個のp kはで下降方向であるX K及びβ 0 1 f

fバツk+αpkfバツk+βαfバツkTpk
pkxkβ(0,1)

f(xk+αpk)xkpk


1
βα

これがまったく重要な理由、つまり「良い」ステップが必要な理由は、Paulが言うように、多くの最適化スキームの収束が遅くなるか、まったく収束しない可能性があるためです。そのため、いくつかの種類がありますが、Armijoが最も人気のあるラインサーチを使用して、より堅牢な収束特性をアルゴリズムに与えることができます。
cjordan1

1
ポール:あなたの説明は不完全です。この不平等だけでは、「十分な」減少を保証しません。実際、alpha = 0にすることはできますが、記述した不等式を満たします。重要な機能は、Armijoのルールがステップサイズをゼロから遠ざけることです。これは、別の不等式によって行われます。f(gamma * x_new)-f(x_old)> beta *(gamma * x_new-x_old)^ T * grad(f (x_old))

f(x)=x2xk=1pk=2αf(xk+αpk)α=1/2β>1/2f(xk+1/2pk)=0>12β=f(xk)+βαf(xk)pkβ

上記のコメントに追加するために、あなたはそれを言うかもしれません β>1/2 大きすぎます(Nocedal、Wrightは一般的な選択に言及しています) β=104)、しかし、一方で、 β上記の例を作成できます。
ジョリスBierkens

0

5年後、この質問はまだ有効です。

ここ(16ページと17ページ)では、アルゴリズムを含む優れた説明を見つけることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.