– S1E14
学習アルゴリズムを選択し、いくつかのデータで学習することが主なタスクとなります。 1631>
These are examples of a bad algorithm-
Overfitting-
Overfitting is a modeling error that happens when a function is too closely fit to the limited set of data points…これは、限られたデータ点に対して、関数が過度にフィットしている場合に起こるモデリングエラーです。 これは、モデルが学習データではうまく機能するが、うまく一般化できないことを意味します。
例:外国を訪問しているときに、タクシー運転手にぼったくられたとします。 その国のタクシー運転手はすべて泥棒だと言いたくなるかもしれない
Overfitting the training data Deep neural networksなどの複雑なモデルは、データ中の微妙なパターンを検出することができる。 しかし、学習セットがノイズに満ちていたり、小さすぎたりすると(サンプリングノイズが入る)、モデルはノイズそのもののパターンを検出してしまう可能性が高い。
たとえば、生活満足度モデルに国の名前の属性を追加するとします。
この場合、複雑なモデルは、学習データで名前に「w」が含まれるすべての国の生活満足度が 7 より大きいという事実のようなパターンを検出するかもしれません: ニュージーランド (7.)3)、ノルウェー(7.4)、スウェーデン(7.2)、およびスイス(7.5)。
しかし、この w 満足度のルールは、ルワンダ、ジンバブエなどには一般化しません。
明らかにこのパターンは訓練データで純粋に偶然発生しましたが、モデルにはパターンが本物か単なるデータ内のノイズの結果かを区別する方法はありません。
オーバーフィッティングは、学習データの量とノイズに対してモデルが複雑すぎる場合に起こります。
学習データの属性数を減らすか、モデルを制約*する。
より多くの学習データを収集する。
学習データのノイズを減らす(例:データエラーを修正し、外れ値を削除する)。
モデルを単純化し、オーバーフィットのリスクを減らすためにモデルを制約することを正則化と呼ぶ。
たとえば、以前に定義した線形モデルには、θ0 および θ1 という 2 つのパラメータがある。
これにより、学習アルゴリズムは、モデルを学習データに適応させるための 2 つの自由度を与え、直線の高さ (θ0 ) と傾き (θ1 ) の両方を微調整することができます。
θ1 = 0 を強制すると、アルゴリズムは 1 つの自由度しか持たず、データを適切にフィットさせるのが難しくなる。
学習データに完全に適合させることと、モデルが十分に一般化できるように十分に単純に保つことの間の適切なバランスを見つけたいのです。
正規化はオーバーフィットのリスクを減らす
点線-円のみについてトレーニングした。
破線は円と四角の両方で学習したモデル
実線は円のみで学習したモデル
正規化により、モデルの傾きが小さくなっていることがわかると思います。 このモデルは、最初のモデルほどには学習データ(丸)にフィットしませんが、学習中に見なかった新しい例(四角)に対しては、実際にはよりよく汎化されます。
学習中に適用する正則化の量はハイパーパラメータで制御できる。
ハイパーパラメータとは(モデルではなく)学習アルゴリズムのパラメータである。 正則化のハイパーパラメータを
非常に大きな値に設定すると、ほぼフラットなモデル(ゼロに近い傾き)になり、学習アルゴリズムはほぼ確実に学習データにオーバーフィットしなくなるが、良い解を見つける可能性は低くなる。
ハイパーパラメーターを調整することは、機械学習システムを構築する上で重要な部分です (詳細な例は、さらなるエピソードでご覧いただけます)。
アンダーフィットは、モデルが単純すぎてデータの基本構造を学習できない場合に発生します。
生活満足度の線形モデルはアンダーフィットしやすく、現実はモデルよりも複雑で、その予測は不正確になることが予想されます。
この問題を解決するための主なオプションは次のとおりです。
より強力なモデルを選択し、より多くのパラメータを使用する。
学習アルゴリズムに優れた特徴を与える(特徴エンジニアリング)。
次に読む:学習済みモデルのテストと検証