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

11 views (last 30 days)
MathWorks Support Team
MathWorks Support Team on 25 Apr 2017
畳み込みニューラルネットワーク (CNN) を使用しています。学習データセットに対しては高い分類精度が出ているのですが、テストデータセットに対する分類精度が低くなっています。テストデータセットに対する精度を上げる方法を教えてください。 

Accepted Answer

MathWorks Support Team
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 の値を利用しています。 
 

More Answers (0)

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!