【问题标题】:Understanding algorithm - Multinomial Naive Bayes理解算法 - 多项朴素贝叶斯
【发布时间】:2016-08-18 12:29:47
【问题描述】:

我已经介绍了朴素贝叶斯分类方法(Multinomial NB),参考了 Michael Sipser 在他的《计算理论》一书中的描述。

我正在研究针对训练和应用多项式 NB 所描述的算法,如下所示:

但是,我在解释算法的某些方面时不知所措。例如,在第 6 行的 TRAINMULTINOMIALNB(C, D) 中:

  • CONCATENATE_TEXT_OF_ALL_DOCS_IN_CLASS(D, C)究竟是做什么的?

到目前为止,我的理解如下。假设我们在“movies”和“songs”类中有 3 - 3 - 个文档:

MOVIES
    DOC1 = "big fish"
    DOC2 = "big lebowski"
    DOC3 = "mystic river"

SONGS
    DOC1 = "purple rain"
    DOC2 = "crying in the rain"
    DOC3 = "anaconda"    

在应用 CONCATENATE_TEXT_OF_ALL_DOCS_IN_CLASS(D, C) 之后,你会留下,比如说字符串:

String concatenatedMovies = "big fish big lebowski mystic river" 
String concatenatedSongs = "purple rain crying in the rain anaconda" 

这是对的吗? 任何帮助理解这一点都非常感谢。

【问题讨论】:

    标签: java algorithm naivebayes


    【解决方案1】:

    最后,您希望能够根据内容对某些文本进行分类。因此,您希望能够说出它的歌曲或电影等。
    为了使用贝叶斯(或其他方法)做到这一点,您首先使用您的训练数据来构建模型。

    首先,通过在第 5 行创建 priors(类中的文档/总文档)。 比你计算conditional probabilities(给定类MOVIES的单词fish的概率,给定类SONGS的单词rain的概率),第7-10行。您只需将术语的出现除以类中的术语总数(加上一些平滑-> +1)。这就是你连接的原因 - 能够计算一个术语在一个类中的所有出现。
    最后,您将这些值插入贝叶斯公式,并可以将一些未知文档分类为电影、歌曲、... 更多wiki

    【讨论】:

      猜你喜欢
      • 2018-12-24
      • 2015-06-05
      • 2020-05-26
      • 2012-06-09
      • 2015-01-03
      • 2020-05-30
      • 2018-02-14
      • 2019-02-21
      • 2012-02-11
      相关资源
      最近更新 更多