(正則がオーバーフィッティング減らすのはなぜ?)なぜ正則ヘルプはそれを過剰適合防ぎます
なぜ正則ヘルプはそれをオーバーフィッティングを防ぎますか?なぜそれが問題の分散を減らすことができますか?私たちは、直感的に理解するために、2つの例を見て。
左偏差が高く、右は真ん中がある、高分散でちょうどいい、我々は前のレッスンで見てきたいくつかの写真、。
今、私たちは、ニューラルネットワークを当てはめるのこの巨大な深さを見てください。私はこの絵が十分に大きい、十分な深さではないですけど、あなたは、これはオーバーフィッティングニューラルネットワークのある想像することができます。これが私たちのコスト関数であります パラメータを使用して、 、 。私たちは、正則化項を追加し、それはデータの過度の体重行列を回避し、これはフロベニウスノルムである、なぜ圧縮 規範やフロベニウスノルムまたはパラメータは、オーバーフィッティングを減らすことができますか?
正則ならば直感的にそれを理解します 十分な大きさを設定し、重み行列 ゼロの値近くに設定され、それは複数の隠された直感的な重量単位は、このように実質的にこれらの隠れユニットの効果の多くを排除し、ゼロに設定されることを理解すべきです。このような場合は、それがネットワークよりアクセスオーバーフィッティング状態からなり、この大幅に簡略化されたニューラルネットワークは、ロジスティック回帰ユニットと小さい小規模なネットワークとなるが、深さが大きいです高バイアス状態を残しました。
しかし [閉じる「があるだろう、中間値があるでしょうちょうどいい」中間状態。
直感的な理解があります 、十分な大きさを増加させます ゼロに近くなり、実際には、これは我々が排除しようとすると、発生しませんか、少なくとも隠された単位数の影響を低減し、最終的にはネットワークが近い私たちの直感に、よりシンプル、ロジスティック回帰ニューラルネットワークになります隠された多数のユニットが完全に排除されていることを考えると、それは真実ではない、実際には、ニューラルネットワークのすべての隠されたユニットがまだ存在しますが、その影響はさらに小さくなっています。ニューラルネットワークは、私は必ずこの直感が有用な経験が、正則の実装であるかどうかじゃないので、あなたが実際にプログラミングにいくつかの分散減少の結果を参照して、一見そうにくいオーバーフィットするには、より簡単になります。
レッツ・直感的に感じ、正則なぜ使用は、この双曲線活性化関数であると仮定し、オーバーフィッティングを防ぐことができます。
使用 意味 、我々はそれを発見した場合 あれば、非常に小さいです 唯一のいくつかのパラメータが含まれ、ここでは、限り、線形状態の双曲線正接関数を使用します このような大きな値または小さな値に拡張することができ、非線形活性化関数となりました。
正則化パラメータあれば今、あなたは、この直感を放棄すべきです 大きい場合には、活性化関数のパラメータが比較的小さくなるため、より大きなにおけるコスト関数パラメータ、もし 小さいため、
もし 小さく、比較的に言えば、 小さくなります。
具体的には、もし この範囲内の値は、最終的に、比較的小さな値であり、 それぞれは、線形回帰関数として、ほぼ直線であり、実質的に線形です。
それぞれが線形であるならば私たちは、その後、ネットワーク全体が線形ネットワーク、線形活性化関数の特性によるものであっても非常に深い基盤となるネットワークである、最初のレッスンの話、そして最終的に我々はだけなので、線形関数を計算することができます私たちは、高い分散を過剰適合のスライドで見てきたように、それは、非常に複雑な意思決定と同様に、データセットを過剰適合非線形決定境界には適用されません。
要約すると、正則化パラメータが大きくなると、パラメータ 小さいため、 、この時間は無視して、比較的小さくなります 衝撃、 、実際には、比較的小さくなります 曲線すなわち関数小さい、活性化関数、の範囲であります 比較的線形であってもよい、ほぼ全体のニューラルネットワークがオフライン関数の値を計算し、線形関数は非常に簡単であり、フィッティングの高さの非常に複雑な非線形関数発生しませんではありません。
私たちは、正則化項を高めながら、私は、コスト関数の定義を適用する前に、あなたの実装の小さな提案をあげる、まとめ正則前に、これらの結果を目撃します、時間に割り当てをプログラミングする正則化を実現します 、我々は、変更、追加、過度の体重を防止することを目的としました。
あなたはグラデーションのデバッグにする際勾配降下機能低下を使用している場合は、1つのステップでは、コスト関数にあります 勾配降下をデバッグする場合、このようなA機能するように設計され、AMは、勾配降下の数を表します。見ることができ、それぞれの振幅のためのコスト関数は単調に勾配降下を減少しています。あなたは正則化機能を実装する場合は、覚えておいて、 すでに新しい定義を持っています。あなたは、元の関数を使用する場合 最初の項目の正規化項である、あなたが単調現象を減らす表示されない場合があり、デバッグ勾配降下させるために、新たに定義されたを使用してください 第二の正則化項を含む関数、、そうでなければ機能 全て単調振幅範囲で減少を有していなくてもよいです。
これは 正則、それが最も一般的に使用される方法私の深い学習トレーニングモデルです。深さの調査では、また正則で使用する方法があるでドロップアウト正則、我々は次のレッスンことを繰り返します。
コースPPT