Machine learning 一般使用深度自动编码器/深度学习时的适当均方误差

Machine learning 一般使用深度自动编码器/深度学习时的适当均方误差,machine-learning,neural-network,deep-learning,autoencoder,Machine Learning,Neural Network,Deep Learning,Autoencoder,我现在想知道什么时候停止深层自动编码器的训练,特别是当它似乎被困在一个局部最小值的时候 是否有必要将训练标准(如MSE)设置为例如0.000001,并强制其完美地重建输入,或者是否可以根据使用的数据集保持差异(如MSE约为0.5时停止) 我知道更好的重建可能会带来更好的分类结果,但有“经验法则”何时停止吗?我对没有启发式特征的规则特别感兴趣,比如“如果MSE在x次迭代中没有变小”。我认为不可能为此推导出一般的经验法则,因为生成NN:s/机器学习是一个非常特定于问题的过程,而且通常。如何确定终止的

我现在想知道什么时候停止深层自动编码器的训练,特别是当它似乎被困在一个局部最小值的时候

是否有必要将训练标准(如MSE)设置为例如0.000001,并强制其完美地重建输入,或者是否可以根据使用的数据集保持差异(如MSE约为0.5时停止)


我知道更好的重建可能会带来更好的分类结果,但有“经验法则”何时停止吗?我对没有启发式特征的规则特别感兴趣,比如“如果MSE在x次迭代中没有变小”。

我认为不可能为此推导出一般的经验法则,因为生成NN:s/机器学习是一个非常特定于问题的过程,而且通常。如何确定终止的“良好”训练错误取决于各种问题特定因素,例如数据中的噪声。仅针对训练集评估神经网络,其唯一目标是最小化最小均方误差,这将导致多次过度拟合。仅使用训练误差作为反馈,您可以将NN调整到训练数据中的噪声(因此过度拟合)。避免这种情况的一种方法是坚持验证。与仅将NN训练为给定数据不同,您可以将数据集划分为训练集、验证集(和测试集)

  • 训练集:训练和对NN的反馈,自然会随着训练时间的延长而减少(对于特定问题,至少降低到“OK”MSE值)
  • 验证集:评估你的NN w.r.t.,但不要给你的NN/遗传算法反馈
因此,除了训练集的评估反馈之外,您还应该评估验证集,但不向神经网络(NN)提供反馈

跟踪培训和验证集的MSE下降情况;一般来说,训练误差将稳步减少,然而,在某一点上,验证误差将达到最小值,并随着进一步训练而开始增加。当然,在运行时,您无法知道该极小值出现在何处,因此通常会存储具有最低验证错误的NN,并且在一段时间内似乎没有更新该NN之后(即,在错误回顾中:我们已通过验证错误中的极小值),算法将终止

有关详细信息,请参阅以下文章,并讨论两种不同的验证方法

对于深度自动编码器/深度学习的培训/验证,特别是w.r.t.过度拟合,我认为这篇文章很有价值

(*)由H. Srivistava、G. Hinton、A. Krizhevsky、I. Sutskever、R. Salakhutdinov、多伦多大学。