【问题标题】:Machine Learning Techniques in Spam Filtering by Konstantin Tretyakov垃圾邮件过滤中的机器学习技术 Konstantin Tretyakov
【发布时间】:2016-11-10 19:47:59
【问题描述】:

http://ats.cs.ut.ee/u/kt/hw/spam/spam.pdf

首先,我不确定这是否是堆栈溢出的一个好问题,因为它与代码没有直接关系,我只是想不出一个不同的地方来问它。

我一直在研究机器学习来编写一份报告,并想写一些关于垃圾邮件过滤的文章。上面的链接看起来是一个很好且值得信赖的来源,但我可能很愚蠢,只是不明白他们在神经网络部分(第 68 页及以后)中所说的内容。在他们调整 w en b 的部分,他们使用 c 和 x 来调整它。 C 是 1 或 -1,因为据我了解(这里也可能是错误的 :(),但 x 是准备好的 - 删除了 'the' 之类的词,'running' 之类的词源于 'run' - 邮件本身,对吗?你怎么能用它来重做权重 w?他们说 w-new = w-old + cx,但是你如何乘以一个非整数呢?

【问题讨论】:

  • 欢迎来到 SO !是的,这个问题与 SO 无关。它非常广泛,我们没有得到您实际询问的内容。请阅读有关如何在 SO [此处](stackoverflow.com/help/how-to-ask) 上提问的信息以及网站上的主题here
  • 神经网络的输入,正如他们所说,是一个feature vector,因此是您要分析的单词的向量表示。您必须以神经网络可以用作输入特征向量的方式编码或表示您的单词。

标签: machine-learning spam-prevention


【解决方案1】:

它是单词的向量表示。在现有的 ml 库中,有一些工具可以自动构建此类表示(如 this 或 that)

总的来说,这个想法是微不足道的。想象一下,您知道您的文档语料库中有 1000 个单词。不多不少。单词向量表示的最简单方法是构建一个大小为 1000x1 的稀疏矩阵,其中对于每个特定单词,所有行都为 0,其中一行标记为 1(通常称为“one-hot-encoding”)

虽然这是一个丑陋的表示,但通常使用更有效的东西,例如 TF-IDF 表示 - 尽管它是相同想法的变体。

【讨论】:

    猜你喜欢
    • 2014-04-21
    • 2011-07-23
    • 1970-01-01
    • 2014-09-17
    • 2011-03-16
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多