機械学習 -- オーバーフィッティングとアンダーフィッティング、およびオーバーフィッティングへの対処方法ニューラル ネットワークでハイパーパラメーターを選択する方法

序文

機械学習を学習する過程で、モデルのトレーニングでよく遭遇する問題は、モデルのオーバーフィッティングとアンダーフィッティングです. 以下では、オーバーフィッティングとアンダーフィッティングの概念を説明し、オーバーフィッティングとニューラルネットワークに対処する方法を学びます. .

オーバーフィッティングとアンダーフィッティング

オーバーフィッティング: 学習中に選択されたモデルに含まれるパラメーターが多すぎるため、モデルは既知のデータを適切に予測しますが、未知のデータを不十分に予測することを意味します。この場合のモデルは、学習データの特異性ではなく、記憶されたトレーニング データの知識を持っている可能性があります。

適合不足: モデルを説明する能力が弱すぎて、データの法則をよりよく学習できません. 適合不足の理由は、多くの場合、モデルが単純すぎるためです.

学習中のオーバーフィッティング

ここに画像の説明を挿入

  • 機械学習の根本的な問題は、最適化された一般化の問題です
  • 最適化: トレーニング データで最高のパフォーマンスを得るためにモデルを調整することを指します。
  • 一般化: トレーニング済みのモデルが、これまでに見られなかったデータに対してどれだけうまく機能するかを示します

学習初期:最適化と汎化は関係しており、学習セットの誤差が小さいほど、検証セットの誤差が小さくなり、モデルの汎化能力が徐々に向上します。

トレーニングの後期: 検証セットでのモデルのエラー率は減少しなくなりますが、高くなり、モデルは過剰適合しているように見え、トレーニング セットのみに関連するパターンを学習し始めます。

過学習にどう対処するか

最適な解決策: より多くのトレーニング データを取得する
モデルが世界中のすべてのデータを記憶できる場合は、過学習を心配する必要はありません。

次善の解決策: モデルが格納できる情報の量を調整するか、モデルが格納できる情報に制約を課す. この方法は正則化とも呼ばれます

  • モデルサイズの調整
  • モデルの重みを制限する、つまり重みの正則化 (通常は L1、L2 の正則化)
  • ランダム無効化

ここに画像の説明を挿入

L2 正則化の損失は、大きな値を持つ重みベクトルに深刻なペナルティを課し、より分散した重みベクトルを促進し、モデルがすべての入力機能を使用して意思決定を行う傾向があります. 現時点では、モデルの一般化パフォーマンスは良好です.

すぐに無効にする

  • すぐに非活性化: 隠れ層のニューロンを特定の確率で活性化させないようにする
  • 実装方法: トレーニング プロセス中に、特定の層に対してランダムな非アクティブ化を使用すると、その層の一部の出力がランダムに破棄され (出力が 0 になります)、これらの破棄されたニューロンはネットワークによって削除されたように見えます。
  • ドロップアウト率: 0 に設定されている機能の割合で、通常は 0.2 ~ 0.5 の割合です。

ランダムドロップアウトが過剰適合を防ぐことができるのはなぜですか?

  • 説明 1: ランダムな非アクティブ化は、勾配が更新されるたびに計算に関与するネットワーク パラメーターが減少することを意味します。これにより、モデルの容量が減少するため、オーバーフィッティングを防ぐことができます。
  • 説明 2: ランダムな非アクティブ化は重みの分散を促進します. この観点から、ランダムな非アクティブ化は正則化にも役割を果たすことができ、それによって過剰適合を防ぐことができます.
  • 説明 3: ドロップアウトはモデルの統合と見なすことができます

ニューラル ネットワークのハイパーパラメータ

  • グリッド構造 – 隠れ層のニューロン数、グリッド層の数、非線形ユニットなど
  • 最適化関連 – 学習率、ドロップアウト率、正則化項の強度など

ハイパーパラメータの重要性: 学習率が大きすぎると、学習プロセス中に損失関数が収束できなくなります. 学習率が大きすぎると、損失関数は最小値付近で振動し、到達しません.学習率が小さすぎると、収束時間が長くなり、学習率は中程度になり、収束は速くなり、結果は良好になります。したがって、トレーニング プロセスにおけるハイパーパラメータの設定は非常に重要であり、適切なハイパーパラメータはモデルの品質も決定します。

ハイパーパラメータの最適化方法

グリッド検索方法:

  • 1. ハイパーパラメータごとにいくつかの値を取得し、これらのハイパーパラメータ値を組み合わせて複数のハイパーパラメータ セットを形成します。
  • 2. 検証セットの各ハイパーパラメータ セットのモデル パフォーマンスを評価する
  • 3. 最終的なハイパーパラメータ値として最高のパフォーマンスを持つモデルで使用される一連の値を選択します。

ランダム検索方法:

  • 1. パラメータ空間でポイントをランダムに選択し、各ポイントが一連のハイパーパラメータに対応する
  • 2. 検証セットの各ハイパーパラメータ セットのモデル パフォーマンスを評価する
  • 3. 最終的なハイパーパラメータ値として最高のパフォーマンスを持つモデルで使用される一連の値を選択します。

ハイパーパラメータ検索戦略

  • 粗い検索: ランダムな方法を使用して、広い範囲でハイパーパラメーターをサンプリングし、1 サイクルのトレーニングを行い、検証セットの正しい率に従ってハイパーパラメーターの範囲を狭めます。
  • ファインサーチ: ランダムな方法を使用して、前述の狭い範囲内でハイパーパラメーターをサンプリングし、モデルを 5 ~ 10 サイクル実行して、検証セットで最高の精度を持つハイパーパラメーターのセットを選択します。

提案: 学習率や正則化項強度などのハイパーパラメーターの場合、対数空間でのランダム サンプリングがより適切です。

おすすめ

転載: blog.csdn.net/fuhao6363/article/details/130181847