4.1. 最急降下法
2020/1/6公開
Last updated
Was this helpful?
2020/1/6公開
Last updated
Was this helpful?
1. 初期値を定める(定め方は任意である)
2. 探索方向を点における勾配によってと定める
3. ステップサイズを定める(定め方は任意である)
4. 次の更新式を用いて現在の点を更新する
5. 収束していなければ手順 2 へ戻る
収束したかどうかの判定には小さい正の定数などを用いて
とする。大抵はくらいの範囲に設定する。
最急降下法(steepest descent)はもっとも単純で基本的な直線探索法だが、目的関数の勾配(gradient)さえ計算できれば適用できるので汎用性が高い。
が成り立つ。最小値は極値であるから、最適化問題
であるとわかる。したがって Taylor の定理から
となる。不等式の等号成立は
ニュートン法は関数の2次近似から導出されるので、誤解を防ぐためここでは説明しない。
を選ぶ方法である。このときやはり
最急降下法は1次収束のアルゴリズムである。
最急降下法は1次収束のアルゴリズムで、本書で紹介する中ではもっとも収束性が悪い部類に入るが、実装がもっとも簡単であり、イテレーションごとの計算量も勾配を計算するだけなので比較的小さい。
勾配法でうまくいくかどうかを検証するためにまずとりあえず最急降下法を実装してみるのは手段としてはありである。収束性は悪いが回しておけば徐々に最適解には近づいていくので、一晩回しておいて最適解の候補を得ておけば他の手法を試すときにも安心感がある。
目的関数が定義域の全体で微分可能ならばその極値を与える点では
を解くには目的関数を単調減少させながら (4.1.1) 式を満たすまで更新を繰り返せば少なくとも最適解の候補には到達する(一般にが性質のよい関数でない限り真の最適解に到達するのはどんなアルゴリズムでも非常に難しいため極値で妥協する)。
現在の点は既知であるとして、更新方向として妥当な方向を探す。ステップサイズはあとから定めるからは方向の情報だけが重要であり、としてよい。目的関数の点の周りで Taylor の定理(1次近似)を適用する、すなわち (2.6) 式でとおくと、
である。したがって、更新後の目的関数の値と更新前のそれとの差は
である。ここでの素性は (4.1.2) 式から (2.5) 式まで辿れるから、
が求まる。点が極値や停留点でなければであるから、をと直交しないように取ればであるから、を 0 に近づける途中で、あるが存在して
となる。ゆえにが十分小さいとき (4.1.3) の符号は
によって定まることがわかるので、であることを思い出せば
となるようにを選べば目的関数が単調減少するようにを選ぶことが可能になる。
以上の議論はこれから紹介するうちでニュートン法を除くすべての直線探索法に共通した議論であり、直線探索法のバリエーションはこのの選び方を変えたものに過ぎない。
探索方向はを用いた式で定義されることが多いので、これらの手法を総称して勾配法(gradient descent)ともいう。
最急降下法はとする手法で、
より、点の近傍で十分小さいを選べば目的関数は単調減少する。
「最急降下(steepest descent)」の名はがもっとも大きくなる探索方向を用いていることに由来する。実際に、Cauchy-Schwarz の不等式とより
のときであり、ただそのときに限る。したがっての極限、すなわち点の周りのごく狭い範囲ではが目的関数をもっとも減少させる方向である。
共役とは簡単に言えば「直交している」という意味である。つまり勾配に直交するベクトルをに加えてを探索方向とするのが共役勾配法である。
(4.1.4) 式の時点ではと直交しないものを選んだが、そうして選んだにと直交するベクトルを加えても
となるので目的関数が単調減少するようなが選べるという議論は変わらない。
準ニュートン法はを正定値行列としてに
が成り立つのでは依然として降下方向である。