コーヒー買ってきて☕
*メモ:
-
私の投稿では、勾配消失問題、勾配爆発問題、ReLU 消滅問題について説明しています。
-
私の投稿では、PyTorch のレイヤーについて説明しています。
-
私の投稿では、PyTorch のアクティベーション関数について説明しています。
-
私の投稿では、PyTorch の損失関数について説明しています。
-
私の投稿では、PyTorch のオプティマイザーについて説明しています。
*オーバーフィッティングとアンダーフィッティングの両方をホールドアウト法またはクロスバリデーション(K-Fold Cross-Validation)で検出できます。 *相互検証の方が優れています。
過学習:
- は、モデルが列車データに対しては正確な予測を多くできるが、新しいデータ (テスト データを含む) に対しては少ないため、モデルが新しいデータよりも列車データによく適合するという問題です。
- は次の理由で発生します:
- トレーニング データが小さい (十分ではない) ため、モデルは少数のパターンしか学習できません。
- トレーニング データには不均衡 (偏り) があり、特定の (限定された)、類似した、または同じデータが多数含まれていますが、さまざまなデータはあまり含まれていないため、モデルは少数のパターンしか学習できません。
- トレーニング データには多くのノイズ (ノイズのあるデータ) が含まれているため、モデルはノイズのパターンを多く学習しますが、通常のデータのパターンは学習しません。 *ノイズ (ノイズのあるデータ) は、外れ値、異常、または場合によっては重複するデータを意味します。
- エポック数が多すぎるため、トレーニング時間が長すぎます。
- モデルが複雑すぎます。
- は次の方法で軽減できます。
- より大きな列車データ。
- さまざまなデータがたくさんあります。
- ノイズを低減します。
- データセットをシャッフルします。
- トレーニングを早期に中止します。
- アンサンブル学習。
- モデルの複雑さを軽減するための正規化:
*メモ:
- ドロップアウト(正規化)があります。 *私の投稿では Dropout レイヤーについて説明しています。
- L1 正規化は、L1 ノルムまたはなげなわ回帰とも呼ばれます。
- L2 正規化は、L2 ノルムまたはリッジ回帰とも呼ばれます。
-
私の投稿では linalg.norm() について説明しています。
-
私の投稿では linalg.vector_norm() について説明しています。
-
私の投稿では、linalg.matrix_norm() について説明しています。
アンダーフィッティング:
- モデルが列車データと新規データ(テストデータを含む)の両方に対して正確な予測ができないことが多く、モデルが列車データと新規データの両方に適合しない問題です。
- は次の理由で発生します:
- モデルは単純すぎます (十分に複雑ではありません)。
- エポック数が少なすぎるため、トレーニング時間が短すぎます。
- 過剰な正則化(ドロップアウト、L1、L2正則化)が適用されています。
- は次の方法で軽減できます。
- モデルの複雑さの増加。
- エポック数を増やすとトレーニング時間が増加します。
- 正則化の減少。
過学習と過小学習はトレードオフです。
過学習緩和が多すぎると (5.、6.、7.) は、高いバイアスと低い分散による過小学習につながりますが、過小学習の緩和が多すぎると ( 1.、2.、および3.) は、低いバイアスと高い分散による過学習につながるため、以下に示すように緩和策のバランスを取る必要があります。
*メモ:
-
バイアスと分散はトレードオフであるとも言えます。これは、バイアスを減らすと分散が増加し、分散を減らすとバイアスが増加するため、バランスがとれている必要があるからです。 *モデルの複雑性を高めると、バイアスは減少しますが、分散は増加します。一方、モデルの複雑さを減少させると、分散は減少しますが、バイアスは増加します。
- バイアスが低いと精度が高いことを意味し、バイアスが高いと精度が低いことを意味します。
- 分散が小さいと精度が高いことを意味し、分散が大きいと精度が低いことを意味します。
以上が過学習と過小学習の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。