答案 0 :(得分:2)
正如在评论中所说,更大的训练集并不总能提高网络的精确度。为了更具体地回答您的问题,您需要绘制和分析网络的学习曲线。
学习曲线描述了网络预测误差(训练集和验证集)与训练集大小的相关性。
首先,您需要拥有这两个数据集。如果您只有训练集,则需要大约30%的记录进行验证(在分割之前对训练集进行随机播放)。
假设训练集有m
条记录。执行以下操作:
for i=1 to m
train your network using only i training examples
predict output of those training exaples, save the error
predict output using THE WHOLE VALIDATION SET, save the error
end
plot the errors as a function of i
你会得到这样的东西:
如果验证错误减少,网络的精度会变得更好。从图像中可以看出,情况就是如此。在这里增加训练集肯定有帮助。
使用此方法时有两种极端情况:
您的网络遭受高偏差(欠拟合):您的正则化参数太大,没有足够的多项式功能(在神经网络的情况下,您可能只有太少的单位隐藏层)
你的网络遭受高方差(过度拟合):根本没有正规化或者正则化参数太小,有太多的多项式特征(你的神经网络可能也有许多层有很多单位)
高偏差情况的学习曲线看起来像这样(我将隐藏层中的单位数量减少为1):
在这种情况下,您无法通过添加更多培训示例来提高网络的精确度。
高方差情况的学习曲线看起来像这样(我将隐藏层中的单位数增加到60并设置一个非常小的正则化参数):
在这里,您可以通过增加网络的精确度来增加新的培训示例!