【问题标题】:Strange behaviour in Neural Network training? [closed]神经网络训练中的奇怪行为? [关闭]
【发布时间】:2012-11-08 22:50:24
【问题描述】:

我创建了一个用于检测垃圾邮件的神经网络。 它涉及以下步骤;

1.Formation of tf-idf matrix of terms and mails.
2.Reduction of matrix using PCA.
3.Feeding the 20 most important terms according to eigen values to neural network as features.

我正在针对 1-垃圾邮件和 0-非垃圾邮件进行训练。

编辑: 我决定通过批量处理 7 封邮件来训练它,因为它在形成矩阵时很容易出现内存不足错误。我使用了 ham 和 spam 的标准 enron 数据集。 我曾经通过反向传播训练神经网络 -1 输入 - 1 隐藏 - 1 输出层,第一层有 20 个神经元和 6 个隐藏层神经元。

因此,我开始使用 gmail 中的原始垃圾邮件进行训练,结果非常糟糕,然后才将其切换到 enron 数据集。经过相当多的训练,得到了令人满意的输出。

在我测试时,14 封邮件中有 6 封被检测为垃圾邮件。

我使用了替代训练,例如第 1 批垃圾邮件和第 2 批垃圾邮件等等,这样网络被训练为垃圾邮件的 1 输出和 ham 的 0 输出。

但是现在经过太多的培训,我猜几乎 400-500 封邮件,如果再次给出不好的结果。我降低了学习率,但没有帮助。 怎么了?

【问题讨论】:

  • 你在这里没有给我们太多信息。
  • 我编辑了 .如果您需要一些具体信息,请告诉我。我很困惑。谢谢
  • 对于较少数量的 epoch,它是否会给您预期的结果?如果是这样,您的数据集太小/有偏差或网络过度训练:en.wikipedia.org/wiki/Overfitting
  • 原来如此!!是的,我猜是训练过度了!我现在正在重新训练它。谢谢!!

标签: neural-network classification email-spam


【解决方案1】:

将我的 cmets 总结为一个答案...如果您确实产生了您所期望的结果,然后经过额外的训练,输出的准确性较低,那么很有可能是 overtrained

如果您的数据集很小或变化不够大,这种情况尤其容易发生。找到最佳时期数主要是反复试验。

【讨论】:

  • 哦,对了!感谢您的澄清!现在我的条件是 1000 epochs..我应该改变它吗?
  • @IDK 尝试不同的数量并进行比较。如果您绘制 50、100、250、500、1000、2000、3000 的图表,您将真正能够看到影响。这些应该会给您提供广泛的准确度。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-07
  • 1970-01-01
  • 1970-01-01
  • 2010-11-20
  • 2019-09-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多