2次導関数が凸最適化に役立つのはなぜですか?


18

これは基本的な質問であり、勾配自体の方向に関係していると思いますが、単純な勾配降下よりも2次法(BFGSなど)の方が効果的な例を探しています。


3
「放物面の頂点を見つける」が「この線形関数の最小値を見つける」(もちろん、最小値を持たないため)線形)?

回答:


20

これは、勾配降下法とニュートン法の両方を解釈するための一般的なフレームワークです。これは、@ Sycoraxの答えの補足として違いを考えるのに役立つ方法かもしれません。(BFGSはNewtonのメソッドに近似しています。ここでは特に説明しません。)

関数最小化していますが、それを直接行う方法はわかりません。したがって、代わりに、現在の点xで局所近似を取り、それを最小化します。fx

:ニュートン法は、2次テイラー展開を用いて関数近似 ∇ F (xは)の勾配意味 Fの時点で Xと ∇ 2 F (X )におけるヘッセ行列 X。次に、 arg min y N x(y )に進み、繰り返します。

f(y)≈Nバツ(y):=f(バツ)+∇f(バツ)T(y−バツ)+12(y−バツ)T∇2f(バツ)(y−バツ)、
∇f(バツ)fバツ∇2f(バツ)バツarg⁡分yNバツ(y)

ヘッセ行列ではなく勾配のみを持つ勾配降下では、@ Hurkylが最小値を持たないため、1次近似を作成して最小化することはできません。その代わりに、我々はステップサイズを定義へとステップXが- T ∇ F (X )。ただし、 x − ttバツ−t∇f(バツ) したがって、勾配降下を最小化関数 GX(Y):=F(X)+∇F(X)T(Y-X)+1

バツ−t∇f(バツ)=arg⁡最大y[f(バツ)+∇f(バツ)T(y−バツ)+12t‖y−バツ‖2]=arg⁡最大y[f(バツ)+∇f(バツ)T(y−バツ)+12(y−バツ)T1t私(y−バツ)]。
Gバツ(y):=f(バツ)+∇f(バツ)T(y−バツ)+12(y−バツ)T1t私(y−バツ)。

したがって、勾配降下法は、ニュートン法を使用するようなものですが、2次のテイラー展開をとる代わりに、ヘッセ行列が1であると仮定します。1t私GfN

二次を最小化する@Sycoraxの例を 見る

f(バツ)=12バツTAバツ+dTバツ+c

N=f

Gバツ(y)=f(バツ)+(Aバツ+d)Ty+12(バツ−y)T1t私(バツ−y)
バツA

1
これは@Aksakalの回答に似ていますが、より詳細です。
— Dougal

1
(+1)これは素晴らしい追加です!
— Sycoraxは回復モニカ言う

17

基本的に、Newtonの方法のような2次導関数の利点は、2次終了の品質があることです。これは、有限数のステップで2次関数を最小化できることを意味します。勾配降下法のような方法は学習率に大きく依存し、最適化が最適に跳ね返るためゆっくり収束するか、完全に発散する可能性があります。安定した学習率を見つけることができます...しかし、ヘシアンの計算が含まれます。安定した学習率を使用している場合でも、最適化の周りの振動などの問題が発生する可能性があります。そのため、たとえ終了したとしても、多くの反復を要することがありますあなたは比較的それに近いです。BFGSとNewtonの方法は、各ステップの計算作業がより高価であっても、より迅速に収束できます。

例のリクエストに対して:目的関数があるとします

F(バツ)=12バツTAバツ+dTバツ+c
勾配は
∇F(バツ)=Aバツ+d
一定の学習率で最も急な降下形にする
バツk+1=バツk−α(Aバツk+d)=(私−αA)バツk−αd。

これは、固有ベクトルの大きさが 私−αA このプロパティを使用して、安定した学習率が次の条件を満たすことを示すことができます。

α<2λmaバツ、
どこ λmaバツ の最大固有値 A。最急降下アルゴリズムの収束速度は最大の固有値によって制限され、ルーチンは対応する固有ベクトルの方向に最も速く収束します。同様に、最小固有値の固有ベクトルの方向に最もゆっくり収束します。の大きな固有値と小さな固有値の間に大きな不均衡がある場合A、勾配降下は遅くなります。どれかA このプロパティでは、勾配降下を使用してゆっくり収束します。

ニューラルネットワークの特定のコンテキストでは、本Neural Network Designには数値最適化手法に関するかなりの情報があります。上記の説明は、セクション9-7の要約です。


素晴らしい答えです!私は@Dougalの答えを受け入れていますが、それはより簡単な説明を提供すると思います。
— バー

6

凸最適化では、関数を1次元の場合の2次多項式として近似します。

f(バツ)=c+βバツ+αバツ2

この場合、二次導関数

∂2f(バツ)/∂バツ2=2α

導関数がわかっていれば、最適な次の推測を簡単に得ることができます。

推測=−β2α

多変量の場合は非常によく似ており、微分には勾配を使用します。


2

@Dougalはすでに素晴らしい技術的な答えを提供してくれました。

数学的な説明は、線形(1次)近似がエラーサーフェス上の点に接する「平面」を提供するのに対し、2次近似(2次)はエラーサーフェスの曲率をハグするサーフェスを提供することです。

このリンクのビデオは、この概念を視覚化するのに非常に役立ちます。これらは、関数サーフェスに対する次数0、次数1、および次数2の近似値を表示し、他の回答が数学的に提示するものを直感的に検証します。

また、トピックに関する優れたブログ投稿(ニューラルネットワークに適用)はこちらです。

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