線形回帰における勾配降下の最適学習率を決定する


9

勾配降下法の最適な学習率を決定するにはどうすればよいですか?コスト関数が前の反復よりも大きな値を返す場合(アルゴリズムは収束しない)、自動的に調整できると考えていますが、実際にどのような新しい値をとるのかわかりません。


willamette.edu/~gorr/classes/cs449/momrate.htmlローカルレート適応の形式でアニーリングを試みます:µ(t)= µ(0)/(1 + t / T); エラーの符号が変化したときにtを増分します。
Chris

回答:


2

(数年後)Barzilai-Borweinのステップサイズ法を調べます。 onmyphd.comには、3ページの説明があります。著者は言う

このアプローチは、大きな次元の問題でもうまく機能します

しかし、彼の2d Rosenbrock関数のアプレットにとってはひどいです。Barzilai-Borweinを使用している場合は、コメントしてください。


1

あなたは正しい軌道に乗っています。一般的なアプローチは、下り坂で成功した場合は必ずステップサイズを2倍にし、誤って「遠すぎる」場合はステップサイズを半分にすることです。もちろん、2以外の係数でスケーリングすることもできますが、通常は大きな違いはありません。

より洗練された最適化方法は、収束をかなり高速化する可能性がありますが、何らかの理由で独自の更新をロールする必要がある場合、上記は魅力的にシンプルで、多くの場合十分です。


私も2で乗算/除算を考えていました。ただし、成功するステップが発生するたびに2倍になると、さらに多くの反復が発生することを心配しています。勾配がどの程度急であるかについての情報を提供するので、勾配を使用してそれを行う方法があることを期待していました。
Valentin Radu 2012

勾配からそのような情報を得ることができるのは、私にはもっともらしく思えません。勾配だけでは、最適からどれだけ離れているか、何がより重要であるかはわかりませんが変化すると、勾配自体はどのように変化するのでしょうか。そのためにはヘッセ行列が必要です。x
sjm.majewski

根底にある定常的なプロセスを扱っている場合、最大学習率は相関行列のスペクトルによって左右されますよね?
明るい星
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.