畳み込みニューラルネ​ットワークで過学習を​防ぐ方法はありますか​?

13 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2017 年 4 月 25 日
編集済み: MathWorks Support Team 2021 年 3 月 4 日
畳み込みニューラルネットワーク (CNN) を使用しています。学習データセットに対しては高い分類精度が出ているのですが、テストデータセットに対する分類精度が低くなっています。テストデータセットに対する精度を上げる方法を教えてください。 

採用された回答

MathWorks Support Team
MathWorks Support Team 2021 年 3 月 4 日
編集済み: MathWorks Support Team 2021 年 3 月 4 日
学習データセットで精度が高くテストデータセットで精度が低いことから、学習データセットに対する過学習 (overfitting) が起こっています。これは学習データセットに当てはまりすぎるモデルを学習したために、新規サンプルに対する精度が落ちてしまう現象です。 
CNN で過学習を防ぐ方法として、損失関数に対して正則化項を追加する方法がしばしば取られます。MATLAB では、
 で設定するパラメータである L2Regularization を既定の 0.0001 から少し値を上げることで、正則化項の重みを大きくすることができます。この L2Regularization は、正則化項としてL2正則化項 (weight decay; 重み減衰) を採用した場合の正則化項の係数λとなります。この係数の値を大きくすることで、重みパラメタを全体的に小さな値になるように学習することができます。正則化項の詳細については以下のドキュメントの L2 Regularization の項目をご覧ください。 
例えば、以下のような CIFAR-10 データを利用した CNN の学習例では、 0.004 の値を利用しています。 
 

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDeep Learning Toolbox についてさらに検索

タグ

タグが未入力です。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!