畳み込みニューラルネットワークで過学習を防ぐ方法はありますか?
6 views (last 30 days)
Show older comments
MathWorks Support Team
on 25 Apr 2017
Edited: MathWorks Support Team
on 4 Mar 2021
畳み込みニューラルネットワーク (CNN) を使用しています。学習データセットに対しては高い分類精度が出ているのですが、テストデータセットに対する分類精度が低くなっています。テストデータセットに対する精度を上げる方法を教えてください。
Accepted Answer
MathWorks Support Team
on 4 Mar 2021
Edited: MathWorks Support Team
on 4 Mar 2021
学習データセットで精度が高くテストデータセットで精度が低いことから、学習データセットに対する過学習 (overfitting) が起こっています。これは学習データセットに当てはまりすぎるモデルを学習したために、新規サンプルに対する精度が落ちてしまう現象です。
CNN で過学習を防ぐ方法として、損失関数に対して正則化項を追加する方法がしばしば取られます。MATLAB では、
で設定するパラメータである L2Regularization を既定の 0.0001 から少し値を上げることで、正則化項の重みを大きくすることができます。この L2Regularization は、正則化項としてL2正則化項 (weight decay; 重み減衰) を採用した場合の正則化項の係数λとなります。この係数の値を大きくすることで、重みパラメタを全体的に小さな値になるように学習することができます。正則化項の詳細については以下のドキュメントの L2 Regularization の項目をご覧ください。
例えば、以下のような CIFAR-10 データを利用した CNN の学習例では、 0.004 の値を利用しています。
0 Comments
More Answers (0)
See Also
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!