畳み込みニューラルネットワークで過学習を防ぐ方法はありますか?
12 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
MathWorks Support Team
le 25 Avr 2017
Modifié(e) : MathWorks Support Team
le 4 Mar 2021
畳み込みニューラルネットワーク (CNN) を使用しています。学習データセットに対しては高い分類精度が出ているのですが、テストデータセットに対する分類精度が低くなっています。テストデータセットに対する精度を上げる方法を教えてください。
Réponse acceptée
MathWorks Support Team
le 4 Mar 2021
Modifié(e) : MathWorks Support Team
le 4 Mar 2021
学習データセットで精度が高くテストデータセットで精度が低いことから、学習データセットに対する過学習 (overfitting) が起こっています。これは学習データセットに当てはまりすぎるモデルを学習したために、新規サンプルに対する精度が落ちてしまう現象です。
CNN で過学習を防ぐ方法として、損失関数に対して正則化項を追加する方法がしばしば取られます。MATLAB では、
で設定するパラメータである L2Regularization を既定の 0.0001 から少し値を上げることで、正則化項の重みを大きくすることができます。この L2Regularization は、正則化項としてL2正則化項 (weight decay; 重み減衰) を採用した場合の正則化項の係数λとなります。この係数の値を大きくすることで、重みパラメタを全体的に小さな値になるように学習することができます。正則化項の詳細については以下のドキュメントの L2 Regularization の項目をご覧ください。
例えば、以下のような CIFAR-10 データを利用した CNN の学習例では、 0.004 の値を利用しています。
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Deep Learning Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!