過学習: モデルの複雑さ

前のユニットでは、テストセット内の多くの木を誤って分類した次のモデルを紹介しました。

図 16. 図 13 と同じ画像です。これは複雑な形状で、多くの木を誤って分類します。
図 16. 前のユニットの動作が不安定な複雑なモデル。

上記のモデルには、多くの複雑な形状が含まれています。よりシンプルなモデルの方が新しいデータを適切に処理できますか?複雑なモデルを、途方もなく単純なモデル(直線)に置き換えたとします。

図 17. 病気の木と健康な木を非常にうまく分離する直線モデル。
図 17. はるかにシンプルなモデルです。

シンプルなモデルは、複雑なモデルよりも新しいデータに対して一般化が優れています。つまり、単純なモデルは、複雑なモデルよりもテストセットで優れた予測を行いました。

シンプルさは長い間、複雑さを打ち負かしてきました。実際、シンプルさを重視する考えは古代ギリシャにまで遡ります。数世紀後、14 世紀の修道士であるオッカムのウィリアムは、シンプルさを重視する考え方をオッカムの剃刀という哲学で形式化しました。この哲学は、機械学習を含む多くの科学の基本的な原則として残っています。

演習: 理解度を確認する

物理方程式を開発しています。オッカムの剃刀に近いのは、次の式のうちどれですか。
3 つの変数を含む式。
12 個の変数を含む式。
新しい ML プロジェクトで、最初の特徴を選択しようとしています。選択する特徴の数
予測力が強いと思われる特徴を 4 ~ 6 個選択します。
予測力が強いと思われる特徴を 1 ~ 3 つ選択します。
できるだけ多くの特徴を選択して、最も予測力の高い特徴を特定します。

正則化

機械学習モデルは、次の 2 つの相反する目標を同時に満たす必要があります。

  • データに適合する。
  • できるだけシンプルにデータを適合させる。

モデルをシンプルに保つアプローチの一つは、複雑なモデルにペナルティを科す方法です。つまり、トレーニング中にモデルを強制的にシンプルにします。複雑なモデルにペナルティを適用することは、正則化の一種です。

損失と複雑さ

これまでのこのコースでは、トレーニングの唯一の目標は損失を最小限に抑えることであると説明してきました。つまり、

minimize(loss)

ご覧のとおり、損失の最小化のみに焦点を当てたモデルは、過剰適合する傾向があります。優れたトレーニング最適化アルゴリズムは、損失と複雑さの組み合わせを最小限に抑えます。

minimize(loss + complexity)

残念ながら、損失と複雑さは通常、反比例します。複雑さが増すほど、損失は減少します。複雑さが低下すると、損失が増加します。モデルがトレーニング データと実世界のデータの両方で優れた予測を行う妥当な中間点を見つける必要があります。つまり、モデルは損失と複雑さの間で妥当な妥協点を見つける必要があります。

複雑性とは

損失を定量化する方法はいくつかあります。複雑さを定量化するにはどうすればよいですか。次の演習でデータ探索を開始しましょう。

演習: 直感を確認する

ここまでは、複雑さが実際に何であるかについてかなりあいまいでした。次のアイデアのどれが、複雑さの指標として妥当だと思いますか。
複雑さはモデルの重みの関数です。
複雑さは、モデル内のすべての特徴のバイアスの関数です。
複雑さは、モデルの重みの 2 乗の関数です。