• 关于贝叶斯分类中的二项独立模型和多项式模型


       今天在用C++实现一个博客中(http://www.cnblogs.com/phinecos/archive/2008/10/21/1316044.html)的朴素贝叶斯分类器。发现代码中计算分类条件概率的公式与一般书上写的不一样。浏览评论的时候发现有人跟我有一样的疑问.

       正庆幸找到一个明白了,突然LX的回答又给我泼了一瓶冷水。

         神马,伯努利贝叶斯! 听都没说过。顿时对自己薄弱的基础知识感到羞愧, 赶紧百度之。找到了一篇论文:《改善朴素贝叶斯在文本分类中的稳定性》,里面对二项独立模型和多项式模型都进行了介绍。

    (1) 二项独立模型(BIM)

          二项独立模型,又称多变量伯努利模型(Multi-variate Bernoulli Model),是朴素贝叶斯方法最常用的实现模型之一。推理过程就不多写了,直接写计算方法吧。

          模型中用到的参数都要通过训练阶段,从训练数据中学习得到,通常取它们的最大似然估计作为它们的估计值。设训练文档集 D={d1,…d|D|},

          对于类ci的概率可以由下式估计:

    其中ni表示训练文档集中类别为ci的文档数。

    对于给定类别 ci单词 wk的条件概率,为了避免出现零概率,通常要加入平滑因子,其估计由公式(10)给出:

    其中 ni表示训练文档集中类别为 ci的文档数,nki表示训练训练文档集中含有单词 wk并且类别为 ci的文档数。

    (2)  多项式模型(MM)

           在模型中,文档被看作是一个长度为 f 的单词序列(同一个单词可以出现多次),并且假定文档的长度与类别无关,而且每个单词出现的位置与其它单词是独立的。

           对于类别 ci的先验概率的估计,多项模型与二项独立模型相同,都使用公式(9)。而对于单词wk对于给定类别 ci的条件先验概率的估计,由于多项模型考虑了同一单词在文  档中的多次出现的信息,所以与二项独立模型有所不同。它采用下面公式进行估计:

           其中 Nki是 wk在类 ci的所有文档中出现的总的次数,|V|是训练数据集的单词表的尺寸。

     

          文章中提到了常用的模型是二项独立模型。而博客中也用到的就是二项独立模型。文章然后又“开创性”地提出了一个混合模型。公式就不列了。只是觉得中国人写论文都是把两个已有的方法融合起来,然后在某个特定的数据集上效果有提升,就完事了。总觉得这样创新度太小了。

  • 相关阅读:
    SDL_mixer 播放wav
    SDL_mixer 播放mp3
    [转]音频基础知识及编码原理
    [转]QT父子与QT对象delete
    [转]QT中嵌入SDL
    [转]PCM文件格式
    [转]ffmpeg库音频解码示例
    C# 向PivotItem中添加子控件
    初识 Windows Phone 7
    C#语言使用Windows phone 中的数据数据绑定
  • 原文地址:https://www.cnblogs.com/iamccme/p/3122660.html
Copyright © 2020-2023  润新知