[2014スタンフォード機械学習チュートリアルノート]第IV章 - 多変量勾配降下訓練Ⅱ:学習率

    このセクションでは、学習率αに焦点を当てます。

    これは、勾配降下アルゴリズムの更新則です。このセクションでは、我々は試運転を学びます(デバッグ)であり、いくつかのヒントは、通常の勾配降下中にメソッドが動作していることを確実にするために。また、我々はまた、学習率αを選択する方法を学びます。

    勾配降下アルゴリズムの事が行わあなたのためのθ値を見つけることであり、コスト関数J(θ)を最小化することができるようになりますことを願っています。勾配降下アルゴリズムが実行されたときにこのように、典型的には、コスト関数描くJ(θ)の値です。

                                        

    ここでx軸はパラメータ・ベクトルを表し、θはもはや、ここでx軸は反復勾配降下アルゴリズムの数を表し、右の上に示されるように、勾配降下アルゴリズムを用いて実行されている、我々は、曲線を得ることができます。

    関数の値に対応する反復回数100は、算出したθはJ(θ)の100回の反復後に得られた場合。:だからこの関数は表し、各反復ステップ後のコスト関数の勾配降下の値を。勾配降下アルゴリズムの仕事ならば、その後J(θ)反復の各ステップの後に辞退すべきです。この曲線の用途の1つは、それがJ(θ)を起動したときに衰退の速度が遅い、と始めたあなたを伝えることができるということです我々は、勾配降下アルゴリズムはほとんど抑制しているかどうかを判断するために平坦化曲線を観察することによって開始した場合ところで、各特定の問題に対応するには、反復の数が大幅に変化し得る勾配降下アルゴリズムを必要としましたしたがって、それは特定の問題に収束するだけで30段階であってもよいし、別の3万ステップの必要性を疑問視。したがって、どのように多くのステップ勾配降下アルゴリズムのニーズ収束するように、事前に決定することは困難です。

    また、あなたはいくつかの自動収束テストを行うことができます。それがあることを、いくつかのアルゴリズムのための勾配降下アルゴリズムが収束したかどうかがわかります。以下、自動収束テスト古典的な例です。

    コスト関数J(θ)は反復が小さな値を低下未満である場合、ε、次いで試験関数は(εは10であってもよい収束したと判定され-3)。しかしながら、典型的には、適したεを選択することは極めて困難です。したがって、勾配降下アルゴリズムが収束するかどうかを確認するために、我々はまだ少し優れていることがグラフで表示されます。

    もう一つの利点をされたグラフを参照してください:それは正しく動作しません事前アルゴリズムであなたを伝えることができます。具体的には、あなたが描く場合は、次の図は示しています

    J上昇中の(θ)は、勾配降下アルゴリズムが正しく動作しないことを示唆しています。そして、この曲線は通常、あなたが小さい学習率αを使用しなければならないことを意味します。人気上昇中のJ(θ)は、あなたが一般的に最小化しようとすると、次の(左)の機能の一つを示しています。学習率αが大きすぎるため(右)の下に示されているようしかし、反復回数の増加に伴って、我々は、離れて最小値から取得しています。

                                      

    したがって、このような状況を解決するには、αの値を小さくして使用することです。もちろん、また、あなたのコードはバグではありませんことを確認してください。

    また、時には我々は、次の画像が表示されます

    このソリューションはまた、より小さなα値を使用することです。

    数学は、αの値が十分に小さい場合、コスト関数J(θ)の後、各反復が減少することを示しています。コスト関数が低下していなかった場合は学習率αの値が大きすぎるため、したがって、それは最も可能性が高いです。この時、私たちは小さな値を選択します。

    これはゆっくりと勾配降下アルゴリズムが収束につながる可能性がしかし、私たちは、小さすぎるα学習率の値を望んでいません。そこで、我々は最低点反復の何倍に達することができるようになります。


要約:

  • 学習率αの値が小さすぎると、それはゆっくりと、勾配降下アルゴリズムが収束につながる可能性があります。
  • 学習率αの値が大きすぎると、コスト関数J(θ)は、各反復で減少していないかもしれない、でも収束しない場合があります。
  • 私たちは、グラフを描画することにより、勾配降下アルゴリズムの動作を観察します。
  • 0.001(0.003)、0.01(0.03)、0.1(0.3)、1等:勾配降下アルゴリズムを実行すると、我々は、典型的には、αの値の範囲を試みます。次いで、これらの値に応じて、コスト関数の変化に反復回数曲線はJ(θ)をプロットしました。そして、コスト関数J(θ)なるようにαの値の急激な下落を選択します。

おすすめ

転載: www.cnblogs.com/shirleyya/p/12607033.html