如何让模型遭受欠拟合

数据挖掘 深度学习 过拟合
2022-03-04 21:49:05

我想展示我的模型在过度拟合和欠拟合时的示例。现在过度拟合非常简单,只需在小数据上进行训练,模型就会记住这些数据。但是我如何展示欠拟合的例子呢?我有几个建议:

  1. 降低学习率,但我不认为这真的是欠拟合。这只是慢学习模型。
  2. 添加一个 0.99 的 dropout 层,使网络无法很好地学习。
  3. 也许以某种方式改变架构,这将更难学习。

我认为(2)是最好的选择,你们怎么看?

我的模型:

conv2d (kernel=5,feature_maps=20)
batch_normalization
ReLU
Flatten()
FullyConnected(11,500->10)
Softmax

以及它手写标记 MNIST 的任务。

2个回答

欠拟合的一种方法是降低模型的复杂性,使模型无法学习训练数据中的模式。

这里有几个选项:

  • 减少层数
  • 减小层的大小
  • 使用线性激活函数

欠拟合意味着您未能捕获影响结果的特征,在您的情况下,是在图像中绘制的数字。未能捕获特征的最终结果是不捕获任何特征并始终预测先验概率1/10对于每个数字(我记得在60000标准训练图像)。这是基线性能,它对应于具有零特征和零隐藏层的神经网络,本质上是仅截取(多项)逻辑回归,它类似于线性回归R2=0.

您可能很想使用性能更强的模型,但这是模型最欠拟合的情况,我希望它对您的教学目的有用。