`
ocre
  • 浏览: 56840 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

朴素贝叶斯分类的M估计推导

 
阅读更多

      在使用朴素贝叶斯方法进行文本分类时,如果待分类的文本包含某个属性值在训练样本中不存在,则类条件概率为0,

这时候算出的所有类别的后验概率都是0,导致无法对文本分类。一般可采用M估计(M-Estimate)来平滑类条件概率的计算,从而得到非0的可比较的近似概率值,达到分类的目的。

 

      设 文本由一个属性向量x=(x1,x2,x3,...xn)表示,给定分类集合Y={yj|yj 属于Y}

      求 文本向量的一个属性xi 对于分类yj的类条件概率P(xi|yj)。

      首先假设Nyj 是分类yj的样本总数,Nxi是包含属性xi且属于分类yj的样本数。

      由概率知识得到:

             P(xi|yj) = Nxi / Nyj                                    ------公式1

      如果采用M-Estimate,得到的公式是

             P(xi|yj) = (Nxi + mp) / (Nyj + m)               ------公式2

      其中p是 P(xi|yj) 的近似值,即有 Nxi / Nyj  ~= p

 

      由公式1和p逐步推导出公式2的过程如下:

             为简化起见,设 a = Nyj, b = Nxi, 则 p ~= b / a, 可得:

             P(xi | yj) = b / a

                           = b(a+m) / a(a+m)    

                           = (ba + bm) / a(a+m)

                           = (b + m*(b/a)) / (a+m)

                           ~= (b + mp) / (a+m)                   -------- 用 p ~= b / a 代入。

                           = (Nxi + mp) / (Nyj + m)

       得证。

 

      M估计的实际应用:

       1. 多项式模型:

            m = |V|,p = 1/|V|, 这里|V|为样本空间V的词库大小。

       2. 伯努利模型:

            m = 2, p = 1/2

           至于为什么m取2,我还没弄懂,期待有知道的朋友分享一下。

 

分享到:
评论

相关推荐

    朴素贝叶斯分类算法

    介绍朴素贝叶斯分类的算法.朴素贝叶斯分类器是一种基于有监督学习的概率模型分类器,文中详细介绍了分类器的应用条件及公式推导

    机器学习之朴素贝叶斯简介

    机器学习之朴素贝叶斯简介,介绍了 贝叶斯公式推导及算法的实现

    朴素贝叶斯学习笔记文档

    机器学习入门。朴素贝叶斯学习过程中遇到的问题,记录下来,可以说是学习笔记,希望能给大家带来帮助。由于手写难免会有一些错误察觉不到,广泛讨论,共同进步。

    贝叶斯分类器(公式推导+举例应用)

    贝叶斯分类器(公式推导+举例应用)

    基于matlab的贝叶斯分类器设计.docx

    基于matlab编程实现贝叶斯分类器,实验原理、公式推导、参考程序、结果展示。

    统计学习方法之朴素贝叶斯理解和代码复现

    朴素贝叶斯 联合概率 P(A,B) = P(B|A)*P(A) = P(A|B)*P(B)将右边两个式子联合得到下面的式子: P(A|B)表示在B发生的情况下A发生的概率。P(A|B) = [P(B|A)*P(A)]...2.极大似然估计求取分类器y值 ​ 还记得原先求不同类

    从朴素贝叶斯到N-gram语言模型_CodingPark

    从朴素贝叶斯到N-gram语言模型 文章介绍 在本文中你将会学到朴素贝叶斯是什么、朴素贝叶斯有什么应用、实际工程上的小技巧等 N-grame是什么、它比朴素贝叶斯好在哪里等 目录 朴素贝叶斯 N-gram语言模型 两个实例代码...

    基于贝叶斯算法的垃圾邮件过滤技术 (2005年)

    介绍了向量空间模型(VSM)方法以及特征向量抽取方法,推导和研究了引入“特征之间互相独立”假设的朴素贝叶斯分类算法。采用K次交叉验证的方法,以收集的一些邮件为语料,应用朴素贝叶斯分类算法,通过训练集计算...

    机器学习之朴素贝叶斯理论与代码实践

    深入理解条件概率。详细讲解朴素贝叶斯的数学推导过程,能够使用原生代码完成朴素贝叶斯代码的编写。能够调用sklearn库完成朴素贝叶斯代码的编写。能够理解垃圾邮件分类原理并使用朴素贝叶斯完成垃圾邮件的分类。

    weka实验报告-.doc

    又因为各特征属性 是条件独立的,所以有:P(x"y_i)P(y_i)=P(a_1"y_i)P(a_2"y_i)...P(a_m"y_i)P(y_i) =P(y_i)\prod^m_{j=1}P(a_j"y_i) 根据上述分析,朴素贝叶斯分类的流程分为三个阶段: 第一阶段——准备工作阶段,...

    weka实验报告(1).doc

    又因为各特征属性 是条件独立的,所以有:P(x"y_i)P(y_i)=P(a_1"y_i)P(a_2"y_i)...P(a_m"y_i)P(y_i) =P(y_i)\prod^m_{j=1}P(a_j"y_i) 根据上述分析,朴素贝叶斯分类的流程分为三个阶段: 第一阶段——准备工作阶段,...

    代码说明

    朴素贝叶斯数据集模型保存训练好的模型参数readFiles读取数据PreprocessText数据的预NaivesBayes使用朴素贝叶斯模型进行垃圾邮件分类朴素贝叶斯VS逻辑回归:比较总结了朴素贝叶斯方法与逻辑回归特点和异同生成模

    数据挖掘18大算法实现以及其他相关经典DM算法

    朴素贝叶斯算法是贝叶斯算法里面一种比较简单的分类算法,用到了一个比较重要的贝叶斯定理,用一句简单的话概括就是条件概率的相互转换推导。详细介绍链接 SVM 支持向量机算法。支持向量机算法是一种对线性和非...

    CS464-Introduction-to-Machine-Learning:比尔肯特大学CS464机器学习入门的作业和项目实施

    在Twitter航空公司数据集上,使用“朴素贝叶斯”多项式通过“词袋”方法对情绪进行分类。 在相同数据上,应用二项式朴素贝叶斯模型。 比较并讨论结果。 用Python实现(Jupyter Notebook)硬汉2 PCA,线性回归,逻辑...

    isodata的matlab代码博客-ML-DL:机器学习与深度学习笔记、练习、公式推导

    基于Boosting技术的朴素贝叶斯模型 贝叶斯神经网络模型 EM算法 EM算法的快速计算 未知分布函数$P_i(y_i)$的选取 EM算法收敛性的改进 梯度提升算法 Boosting Adaboost SVM 软间隔 硬间隔 核技巧 SMO算法 深度学习 ...

    统计学习方法_李航

    4.1朴素贝叶斯法的学习与分类 4.1.1基本方法 4.1.2后验概率最大化的含义 4.2朴素贝叶斯法的参数估计 4.2.1极大似然估计 4.2.2学习与分类算法 4.2.3贝叶斯估计 本章概要 继续阅读 习题 参考文献 第5章决策树 5.1决策...

    Hadoop工程报告1

    2.2 Bayes公式上面我们提到了通过计算每个类的条件概率来选择最大的概率的类别作为文档d的最终类别,那么我们该如何计算条件概率呢 2.3 朴素贝叶斯参数推导

    2012.李航.统计学习方法

    《统计学习方法》全面系统地介绍了统计学习的主要方法,特别是监督学习方法,包括感知机、k近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与最大熵模型、支持向量机、提升方法、EM算法、隐马尔可夫模型和条件随机场等...

    斯坦福吴恩达教授机器学习课程讲义,作业及解析

    [第6集] 朴素贝叶斯算法 [第7集] 最优间隔分类器问题 [第8集] 顺序最小优化算法 [第9集] 经验风险最小化 [第10集] 特征选择 [第11集] 贝叶斯统计正则化 [第12集] K-means算法 [第13集] 高斯混合模型 [第14集...

    统计学习方法及代码实现(Python)

    全面系统地介绍了统计学习的主要方法,特别是监督学习方法,包括感知机、k近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与最大熵模型、支持向量机、提升方法、EM算法、隐马尔可夫模型和条件随机场等。除第1章概论和...

Global site tag (gtag.js) - Google Analytics