【发布时间】: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