zoukankan      html  css  js  c++  java
  • 关于贝叶斯分类中的二项独立模型和多项式模型

       今天在用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|是训练数据集的单词表的尺寸。

     

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

  • 相关阅读:
    Android WebView重定向问题的解决方案
    Android 控件背景选择图片还是drawable XML资源
    Android AlertDialog 绝对位置计算
    Android 5.0以上Material Design 沉浸式状态栏
    Android 6.0系统动态请求系统相机权限
    Android软键盘在清单文件中所有配置含义
    Android,TextView的所有属性和方法
    【转载】Android控件属性大全
    Android布局及控件的属性说明
    android带有文字的图片按钮的两种实现方式
  • 原文地址:https://www.cnblogs.com/iamccme/p/3122660.html
Copyright © 2011-2022 走看看