0

我在每个历元之间的准确度和损失方面都获得了非常高的变异性,高达10%。这一直发生在我的准确性上,而当我开始加入辍学时,我的损失就发生了。然而,我真的需要辍学,关于如何平滑它的任何想法? enter image description here神经网络的高度可变性损失

+4

您是在测量批次或整个火车和验证数据集的准确性吗?看起来你正在使用批次(这不完全正确) – nessuno

+1

是的!如果可以的话,我会去大批量生产......大多数优化方法都很好听......但如果你增加批量,差异应该更低......我认为 –

+0

是的抱歉应该放弃一个声明, m处理一个相当有限的数据集,约500个样本,所以我只是使用整个事情。我会努力扩展它,但最多我认为是我会把它扩大到1000个样本。所以仍然很小 –

回答

1

如果不知道自己在做什么,很难说具体的事情。但是因为你提到你的数据集非常小:500个样本,我说你10%的表现跳跃并不奇怪。还有一些想法:

  • 如果可以,肯定会使用更大的数据集。如果无法收集更大的数据集,请尝试增加您拥有的数据。
  • 尝试较小的差,看看它是如何去,尝试不同的regularizers(差是不是唯一的选择)
  • 你的数据很小,你能负担得起运行超过200次迭代
  • 看到你的模型是如何进行的该测试集有可能严重过度配置数据
+0

嗨, 是的,我开始认为这绝对是数据大小。较小或没有脱落会降低可变性,但会导致过度配合。应遵循黄金法则,数据集大小为王。感谢您的想法。 –

+0

@DavidArmstrong它只是500个样本,你几乎可以很容易地适应任何NN。 –

+0

是的,与这样一个小数据集合作,我采取了一些预防措施(早期停止,高%失效等)。这是一个非常独特的数据集,具有很高的可变性,基本的SVM可以达到约0.5的MCC。但是,这是我感兴趣的问题,并且似乎没有一个答案,您可以使用的最小数据集是什么。我见过大小超过200的生物医学文献中发表的例子,这似乎很小,我想从计算机科学背景的人会有非常不同的看法。 –

0

除了数据集非常小的事实,在使用丢失正则化的训练期间,丢失函数不再被很好地定义,并且我假设准确性也有偏差。因此,任何跟踪的指标都应该评估而不丢失。在计算训练期间的准确度时,它接近keras不关闭它。