朴素贝叶斯的模型

2024-05-15

1. 朴素贝叶斯的模型

朴素贝叶斯模型:----Vmap=arg max P( Vj | a1,a2...an)Vj属于V集合其中Vmap是给定一个example,得到的最可能的目标值.其中a1...an是这个example里面的属性.这里面,Vmap目标值,就是后面计算得出的概率最大的一个.所以用max 来表示----贝叶斯公式应用到 P( Vj | a1,a2...an)中.可得到 Vmap= arg max P(a1,a2...an | Vj ) P( Vj ) / P (a1,a2...an)又因为朴素贝叶斯分类器默认a1...an他们互相独立的.所以P(a1,a2...an)对于结果没有用处. [因为所有的概率都要除同一个东西之后再比较大小,最后结果也似乎影响不大]可得到Vmap= arg max P(a1,a2...an | Vj ) P( Vj )然后朴素贝叶斯分类器基于一个简单的假定:给定目标值时属性之间相互条件独立。换言之。该假定说明给定实例的目标值情况下。观察到联合的a1,a2...an的概率正好是对每个单独属性的概率乘积: P(a1,a2...an | Vj ) =Πi P( ai| Vj )....朴素贝叶斯分类器:Vnb =arg max P( Vj ) Π i P ( ai | Vj )Vnb = arg max P ( Vj )此处Vj ( yes | no ),对应天气的例子。----

朴素贝叶斯的模型

2. 贝叶斯预测的贝叶斯预测模型的概述

贝叶斯预测模型是运用贝叶斯统计进行的一种预测.贝叶斯统计不同于一般的统计方法,其不仅利用模型信息和数据信息,而且充分利用先验信息。托马斯·贝叶斯(Thomas Bayes)的统计预测方法是一种以动态模型为研究对象的时间序列预测方法。在做统计推断时,一般模式是:先验信息+总体分布信息+样本信息→后验分布信息可以看出贝叶斯模型不仅利用了前期的数据信息,还加入了决策者的经验和判断等信息,并将客观因素和主观因素结合起来,对异常情况的发生具有较多的灵活性。这里以美国1960—2005年的出口额数据为例,探讨贝叶斯统计预测方法的应用。

3. 数据挖掘十大经典算法之朴素贝叶斯

朴素贝叶斯,它是一种简单但极为强大的预测建模算法。之所以称为朴素贝叶斯,**是因为它假设每个输入变量是独立的。**这个假设很硬,现实生活中根本不满足,但是这项技术对于绝大部分的复杂问题仍然非常有效。
  
 贝叶斯原理、贝叶斯分类和朴素贝叶斯这三者之间是有区别的。
  
 贝叶斯原理是最大的概念,它解决了概率论中“逆向概率”的问题,在这个理论基础上,人们设计出了贝叶斯分类器,朴素贝叶斯分类是贝叶斯分类器中的一种,也是最简单,最常用的分类器。朴素贝叶斯之所以朴素是因为它假设属性是相互独立的,因此对实际情况有所约束,**如果属性之间存在关联,分类准确率会降低。**不过好在对于大部分情况下,朴素贝叶斯的分类效果都不错。
  
 朴素贝叶斯分类器依靠精确的自然概率模型,在有监督学习的样本集中能获取得非常好的分类效果。在许多实际应用中,朴素贝叶斯模型参数估计使用最大似然估计方法,换而言之朴素贝叶斯模型能工作并没有用到贝叶斯概率或者任何贝叶斯模型。
  
 朴素贝叶斯分类 常用于文本分类 ,尤其是对于英文等语言来说,分类效果很好。它常用于垃圾文本过滤、情感预测、推荐系统等。
  
  1、 需要知道先验概率  
  
 先验概率是计算后验概率的基础。在传统的概率理论中,先验概率可以由大量的重复实验所获得的各类样本出现的频率来近似获得,其基础是“大数定律”,这一思想称为“频率主义”。而在称为“贝叶斯主义”的数理统计学派中,他们认为时间是单向的,许多事件的发生不具有可重复性,因此先验概率只能根据对置信度的主观判定来给出,也可以说由“信仰”来确定。 
  
  2、按照获得的信息对先验概率进行修正  
  
 在没有获得任何信息的时候,如果要进行分类判别,只能依据各类存在的先验概率,将样本划分到先验概率大的一类中。而在获得了更多关于样本特征的信息后,可以依照贝叶斯公式对先验概率进行修正,得到后验概率,提高分类决策的准确性和置信度。 
  
  3、分类决策存在错误率  
  
 由于贝叶斯分类是在样本取得某特征值时对它属于各类的概率进行推测,并无法获得样本真实的类别归属情况,所以分类决策一定存在错误率,即使错误率很低,分类错误的情况也可能发生。 
  
  第一阶段:准备阶段 
  
 在这个阶段我们需要确定特征属性,同时明确预测值是什么。并对每个特征属性进行适当划分,然后由人工对一部分数据进行分类,形成训练样本。
  
  第二阶段:训练阶段 
  
 这个阶段就是生成分类器,主要工作是 计算每个类别在训练样本中的出现频率 及 每个特征属性划分对每个类别的条件概率。 
  
  第三阶段:应用阶段 
  
 这个阶段是使用分类器对新数据进行分类。
  
  优点: 
  
 (1)朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。
  
 (2)对小规模的数据表现很好,能个处理多分类任务,适合增量式训练,尤其是数据量超出内存时,我们可以一批批的去增量训练。
  
 (3)对缺失数据不太敏感,算法也比较简单,常用于文本分类。
  
  缺点: 
  
 (1)理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型给定输出类别的情况下,假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好。而在属性相关性较小时,朴素贝叶斯性能最为良好。对于这一点,有半朴素贝叶斯之类的算法通过考虑部分关联性适度改进。
  
 (2)需要知道先验概率,且先验概率很多时候取决于假设,假设的模型可以有很多种,因此在某些时候会由于假设的先验模型的原因导致预测效果不佳。
  
 (3)由于我们是通过先验和数据来决定后验的概率从而决定分类,所以分类决策存在一定的错误率。
  
 (4)对输入数据的表达形式很敏感。
  
 参考:
  
  https://blog.csdn.net/qiu_zhi_liao/article/details/90671932 
  
  https://blog.csdn.net/u011067360/article/details/24368085

数据挖掘十大经典算法之朴素贝叶斯

4. 数据挖掘-朴素贝叶斯算法

 朴素贝叶斯算法,主要用于对相互独立的属性的类变量的分类预测。(各个属性/特征之间完全没有关系,叫做相互独立,事实上这很难存在,但是这个方法依然比较有效。)
   大学的概率论里一般都学过这个贝叶斯定理,简单阐述如下:
   若事件  ,  ,…构成一个事件且都有正概率,则对任意一个事件Y,有如下公式成立:则有  
   如果X表示特征/属性,Y表示类变量,如果类变量和属性之间的关系不确定,那么X和Y可以视作随机变量,则  为Y的后验概率,  为Y的先验概率。   以图为例:   
                                           
   我们需要根据身高、体重、鞋码判断是男是女,则Y就是性别,X就是(身高、体重、鞋码)这一组特征。如果我们要先算是男的概率,则先验概率就是  ,而后验概率则是我们未来将要输入的一组特征已知的情况下,Y=男的概率(要预测的分类的概率),这样的话,根据贝叶斯定理,我们就可以用  来求出  ,这就是贝叶斯定理在预测中的应用。
   假设Y变量取y值时概率为P(Y=y),X中的各个特征相互独立,则有公式如下:     其中每个特征集X包含d个特征。   根据公式,对比上面的图来说,如果性别是男的时候,身高是高,体重是重,鞋码为大的概率就等于
   有了这个公式,结合之前的贝叶斯公式,就能得到给定一组特征值的情况下, 这组特征属于什么样的类别的概率公式:     其中的X代表一组特征,  代表一组中的一个。   对于所有的Y来说,P(X)时固定的,因此只要找出使分子  最大的类别就可以判断预测的类别了。
     的概率分为两种情况来区别,一种是对分类特征的概率确定,一种是连续特征的概率确定。
    接下来借用《数据挖掘导论》上的例子来说明概率确定的方式。 
   对于分类的特征,可以首先找到训练集中为y值的个数,然后根据不同的特征类型占这些个数中的比例作为分类特征的概率。   例如上表中求不拖欠贷款的情况下,有房的人数就是  ,不拖欠贷款的有7个,其中有房的是3个。以此类推可以求出婚姻状况的条件概率。    年收入是连续特征,需要区分对待。 
   根据上述算法,如果要求没有拖欠贷款情况下,年收入是120K的概率,就是  
   如果要预测测试记录 X =(有房=否,婚姻状况=已婚,年收入=120K)这个样本是否可能拖欠贷款,则需要计算两个概率:  和     则有:     由于  是不变的(对于Y=是和Y=否),则只考虑上面的分子即可,那么抛开P(X)不看,则有:             其中7/10就是P(Y=否),α是P(X)   同理可得P(Y=是|X) = 1 * 0 * 1.2e-1 = 0.   这样一比较,那么分类就是否。
   看这个例子中,如果有一个特征的条件概率是0,那么整体的概率就是0,从而后验概率也一定是0,那么如果训练集样本太少,这种方法就不是很准确了。   如果当训练集样本个数比特征还少的时候,就无法分类某些测试集了,因此引入 m估计(m-estimate) 来估计条件概率,公式如下:        其中,n是类  中的样本总数,  是类  中取  的样本数,  是称为等价样本大小的参数,  是用户指定的参数,p可以看作在类  中观察特征值  的先验概率。等价样本大小决定先验概率  和观测概率  之间的平衡。
   引入m估计的根本原因是样本数量过小。所以为了避免此问题,最好的方法是等效的扩大样本的数量,即在为观察样本添加m个等效的样本,所以要在该类别中增加的等效的类别的数量就是等效样本数m乘以先验估计p。
   在之前的例子中,设m=3,p=1/3(m可以设置为特征数量,p则是倒数)。则:     从而可以重新计算  。从而解决了某个条件概率为0的问题。
   面对相互独立的特征比较适用,如果有相关的特征,则会降低其性能。

5. 朴素贝叶斯算法总结

目录 
  
 一、贝叶斯定理
  
 二、朴素贝叶斯分类工作原理及流程
  
 三、总结
  
 一、 贝叶斯定理 :是为了解决“逆向概率”问题而写的一篇文章,尝试回答在没有太多可靠证据的情况下,怎样做出更符合数学逻辑的推测。这种推测基于主观的判断的基础上,在事先不知道客观事实的情况下,同样可以先估计一个值,然后根据实际结果不断进行修正。
  
          这个定理解决了现实生活中已知条件概率,如何得到两个事件交换后的概率 。例如:已知P(A|B)的情况下,如何求出P(B|A)的概率问题。贝叶斯定理的出现就是用来打通P(A|B)到P(B|A)之路,通用公式如下:
                                          
   先验概率  :通过经验来判断事情发生的概率。
  
   条件概率  :P(A|B)表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。其基本求解公式为:
                                          
    后验概率  :发生结果之后,推断原因的概率。它属于条件概率的一种 。
  
  二、 朴素贝叶斯分类原理及流程 
  
           朴素贝叶斯法  :是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。之所以朴素的思想基础是:对于给定的待分类项,求解在此项出现的特征条件下在各类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。
  
           朴素贝叶斯分类具体定义  :
  
         a、设x={  ,  ,  ,......  }为一个待分类项,而每个a为x的一个特征属性。
  
         b、有类别集合C={  ,  ,  ,...,  }。
  
         c、计算P(  | x),P(  | x),...,P(  | x)。
  
         d、如果P(  | x)=max{ P(  | x),P(  | x),...,P(  | x) },则x     
  
 那么现在的关键是c中如何计算出各条件概率,如下:
  
          1、找到一个已知分类的待分类项的集合,称为训练样本集。
  
          2、统计得到各类别下各特征属性的 条件概率估计 。即:
  
 P(  |  ),P(  |  ),...,P(  |  );P(  |  ),P(  |  ),...,P(  |  );.......,P(  |  ),P(  |  ),...,P(  |  )。
  
          3、如果各特征属性是条件独立的,则根据贝叶斯公式有如下推导:
  
                             P(  ) =      
  
             因为分母对所有分类均为常数(可忽略),因此我们只需将分子最大化。又因为各特征属性是条件独立的,所以有:
  
      =    .....    =      
  
 综上所述,朴素贝叶斯分类的流程图:
                                          
   第一阶段  :准备工作,确定训练样本集和特征属性。
  
   第二阶段  :分类器训练,计算先验概率和各类下各特征的条件概率。输入为样本集和特征属性,输出为分类器。
  
   第三阶段:  分类器应用,输入为分类器和待分类项,输出为待分类项的类。
  
 三、 总结 :
  
         1、朴素贝叶斯法是典型的生成学习方法。生成方法由训练数据学习联合概率分布P(X,Y),然后求得后验概率分布P(Y|X)。具体来说,利用训练数据学习P(X|Y)和P(Y)的估计,得到联合概率分布:P(X,Y)=P(Y)P(X|Y)。概率估计法可以是极大似然估计或者贝叶斯估计。
  
         2、朴素贝叶斯法的基本假设是特征属性的条件独立性,即
                                          
 这是一个较强的假设,由于这一假设,模型包含的条件概率的数量大为减少,朴素贝叶斯的学习与预测大为简化,因而朴素贝叶斯法高效,且易于实现。缺点是分类的性能不一定很高。
  
         3、朴素贝叶斯法利用贝叶斯定理与学到的联合概率模型进行分类预测。将输入的x分到后验概率最大的类y。后验概率最大等价于0-1损失函数时的期望风险最小化。

朴素贝叶斯算法总结

6. 朴素贝叶斯以及三种常见模型推导

 朴素贝叶斯算法Naive Bayes定义中有两个关键定义:特征之间强假设独立和贝叶斯定理.这两个定义就是朴素贝叶斯的关键.接下来先了解一下这两个定义.
   贝叶斯定义是概率论中的一个定理,它跟随机变量的条件概率以及边缘概率分布有关.
   通常,事件A在事件B(发生)的条件下的概率,与事件B在事件A(发生)的条件下的概率是不一样的,然而,这两者之间是有确定的关系的,贝叶斯定理就是这种关系的陈述。贝叶斯公式的一个用途在于通过已知的三个概率函数推出第四个.
   直接给出公式:
     
   其中,P(A|B)是指事件B发生的情况下事件A发生的概率(条件概率).在贝叶斯定理中,每个名词都有约定俗成的名称:
   按这些术语,贝叶斯定理可以表述为:
   后验概率 = (似然性 * 先验概率)/标准化常量
   也就是说,后验概率与先验概率和相似度的乘积成正比.
   同时,分母P(B),可以根据全概率公式分解为:
     
   如果P(X,Y|Z)=P(X|Z)P(Y|Z),或等价地P(X|Y,Z)=P(X|Z),则称事件X,Y对于给定事件Z是条件独立的,也就是说,当Z发生时,X发生与否与Y发生与否是无关的。
   应用在自然语言处理中,就是说在文章类别确定的条件下,文章的各个特征(单词)在类别确定的条件下是独立的,并不相关,用通俗的话说,在文章类别确定的条件下,文章各个词之间出现与否没有相关性(事实上,并不成立).这是一个非常强的假设,但对问题的求解来说变得更加简单.
   设输入空间  为n为向量的集合,输出空间为类标记集合  .输入为特征向量  ,输出为类标记  . X是定义在输入空间X上的随机变量,Y是定义在输出空间Y上的随机变量.P(X,Y)是X和Y的联合概率分布.训练数据集:
     
   由P(X,Y)独立同分布产生.因此朴素贝叶斯模型也是一个生成模型.
   朴素贝叶斯算法通过训练集学习联合概率分布P(X,Y),具体地,学习先验概率分布以及条件概率分布.其中先验概率分布
     
   条件概率分布
     , k=1,2,...,K
   通过两个概率得到联合概率分布P(X,Y) = P(X|Y)P(Y).
   条件概率分布P(X=x|Y=c_k)有指数级数量的参数,其估计实际上不可行的.假设  有  个取值,j=1,2,...,n,Y有K个取值,那么参数个数为  .
   指数级的参数估计事实上并不可行,因此朴素贝叶斯算法针对各个特征之间做了假设,也就是对条件概率分布作了条件独立性假设,这是一个很强的假设,通过这个假设,我们的参数求解变得可行,这也就是朴素贝叶斯的"朴素"的由来.这种情况下,我们同样假设  有  个取值,j=1,2,...,n,Y有K个取值,那么参数个数为  ,需要估计的参数量大大减少.条件独立性假设是
     
   朴素贝叶斯算法分类时,对给定输入x,通过学习到的模型计算后验概率分布  ,将后验概率最大的类作为输入x的类输出.后验概率根据贝叶斯定理计算:
     
   上面的公式是后验概率分布中的一项,由于对于相同输入x下不同类别的后验概率的分母都相同,而最终的类输出是后验概率分布中概率最大对应的类别,所以我们可以简化为只比较分子的大小就可以确定最终的结果,也就是说,最终类输出为:
     .
   如果我们对右边的乘积概率取log,连乘积就可以转换成为和,计算更简单(加法总比乘法简单),上诉公式存在一种变种:
     .
   同时这种形式,也可以看做是一种线性回归,权重系数为1.
   介绍完,朴素贝叶斯的概率模型之后,我们目前的主要问题就集中在如何估计这个模型的  个参数:  ,估算出参数,我们就可以对输入向量x做预测.针对这些参数的求解方法不同,存在不同的朴素贝叶斯类型,具体介绍三种:伯努利朴素贝叶斯,多项式朴素贝叶斯和高斯朴素贝叶斯.不同类型的朴素贝叶斯对参数的求法不同,而根源在于对P条件概率(X=x|Y=c_k)的假设分布不同,也就是说在给定类别的情况下,对X假设的分布不同:伯努利假设是伯努利分布(其实应该是多变量伯努利分布),多项式假设是多项式分布,而高斯也就是假设是高斯分布(其实是多变量高斯分布).然后,我们细化到三种不同类型的朴素贝叶斯理论中.
   伯努利朴素贝叶斯,其实应该叫"Multi-variate Naive Bayes",假设P(X=x|Y=c_k)是多变量伯努利分布.在了解多变量伯努利分布之前,先介绍一下什么是(单变量的)伯努利分布.
   伯努利分布,又叫做两点分布或0-1分布,是一个离散型概率分布.称随机变量X有伯努利分布,参数为p(0< p <1),它分别以概率p和1-p取1和0为值.
   最简单的例子就是抛硬币,硬币结果为正或反.
     
   幂次运算变成乘法运算,更简单.当x=1时,概率是P(X=1)=p,当x=0时,概率P(X=0)=1-p,这样就可以将两种情况合在一起.
   了解了什么是伯努利分布之后,我们再看什么是多元伯努利分布(多变量 multi-variate Bernoulli).
   多元伯努利分布,通俗的讲就是同时进行多个不同的伯努利实验,  ,其中x是一个向量,  也是一个向量,表示不同伯努利实验的参数.
   伯努利多项式将文档的生成模型P(X=x|Y=c_k)假设服从为多元伯努利分布,由于我们之前做的特征独立性假设,  是一个向量形式,而其中  ,也就是说x向量是onehot形式的向量(每个维度值是0或1),表示这个维度的特征是否出现.特征集  有n个特征,特征集的维度决定了输入空间X的维度,而且特征集的维度可以对应到输入空间的各个维度上.
     
   因为特征之间的独立性,所以多元伯努利变成各个伯努利分布的连乘积,需要注意的一点是 因为是伯努利分布,0-1,特征出现有一个概率p,特征不出现也有一个概率1-p .最终模型的参数估计完成之后,对新样本进行预测时,如果某个特征不出现,需要 乘上这个特征不出现的概率 ,不能只计算特征出现的概率!!!两个向量直接相乘,并不能得到最终的结果.
   对应的伯努利朴素贝叶斯模型为:
     
   为了简化运算,我们可以将分母忽略,虽然对应的结果不是真正的概率,但是相同样本的各个后验概率之间的大小关系保持不变,同时如果两边同时做log运算,后验概率之间的大小关系同样保持不变.因此,
     .
   了解了多元伯努利分布之后,接下来的工作就是对参数进行估计,计算  ,  .
   参数估计的过程也是朴素贝叶斯分类器学习的过程.而参数估计可以使用极大似然估计.先验概率  的极大似然估计是
     , k=1,2,...,K
   其中,I(x)是一个指示函数,如果x为真,I(x)结果为1,如果x为假,I(x)=0.用语言描述来说,  这个概率等于在N个样本的数据集中,类别为  的样本所占的比例.
   条件概率  的极大似然估计是:
     
   用语言描述来说,条件概率  等于在类别为  的样本集合(数据集的子集)中,第i个特征等于  的概率,  是0或1,而且  服从伯努利分布,所以只需要计算一个,比如P  ,  ,因为两个概率和为1(这是 同一个变量 ).
   这些参数估计完之后,朴素贝叶斯就完成了学习过程,接下来就可以使用它去进行预测了(应用才是最终的目的).
   由于  是伯努利分布,参数p在[0,1]之间,有可能存在  ,也就是存在0概率.
   举例来说,在当前类别下的所有样本中特征i都出现了(=1),根据上面的条件概率极大似然估计,可以知道  ,那么对应的,  ,那么当新样本来的时候,加入存在一条记录x,它很巧地没有第i个特征(这不巧了吗?不是),由于0概率的存在,那么使用上面的贝叶斯公式,就会出现属于某个列别的概率为0,  .但这种情况是应该避免的,那么如何避免呢?
   我们在对条件概率进行极大似然估计时,针对分子和分母做一些小变动,
     
   其中,  表示第i个特征不同取值的个数,由于这里是one-hot,取值为2,所以  ,  乘以  是保证  个不同取值对应的条件概率之和为1,不偏袒任意一种情况,一视同仁.
   To Be Continued.
   多项式朴素贝叶斯,假设P(X=x|Y=c_k)是多项式分布.在了解多项式朴素贝叶斯之前,先介绍一下什么是多项式分布?
   将伯努利分布的单变量扩展到d维向量  ,其中  ,且  ,假设  的概率是  ,并且  ,则将得到离散分布:
     .
   其中x,  都是d维向量形式.在此的基础上扩展二项分布到多项式分布(Multinomial distribution),该分布描述的是在n次独立实验中有  词  的概率,其密度函数可以表达为如下形式:
     
   多项式分布的期望,方差如下:     
     
   多项式分布应用到朴素贝叶斯上,对于文档分类问题来说,假设给定文档类型的基础上文档生成模型  是一个多项式分布.这样对应关系就是:
   需要注意的是,应用在文本分类的多项式朴素贝叶斯模型之前,一般多项式条件概率如下:
     
   我们的多项式朴素贝叶斯概率模型为:
     
   这里为了方便,首先我们假设文章长度和文章的类别之间没有相关性(事实上也并不成立,比如说相对较长的邮件,相比垃圾邮件而言,正常邮件的概率更大),也就是说P(|x|)的分布与文章所属类别无关.另一方面,由于最终所属类别是后验概率最大对应的类别,所以,我们可以将文章长度P(|x|)建模的概率,忽略掉,就像我们之前忽略伯努利分布中的分母一样.
     
   再者,为了更加方便,我们通常对两边取log运算,将幂次运算转换成线性运算:
     
   我们也可以将文章长度阶乘省略,然后变成:
     .
   这样就变成线性运算,就和线性回归一样,运算高效而简单.
   将文档模型对应到多项式分布上得到多项式朴素贝叶斯,在我们对其做出假设分布之后,剩下的工作就是对假设分布下每个类别下的d个条件概率以及先验分布进行估计.此外,还需要说明的一点是:多项式朴素贝叶斯模型采用词袋模型,每个  表示第i个特征出现的次数,也就是词频term-frequency,有时候也可以使用tf-idf作为值.
   参数估计的过程也是朴素贝叶斯分类器学习的过程.而参数估计可以使用极大似然估计.先验概率  的极大似然估计是
     , k=1,2,...,K
   其中,I(x)是一个指示函数,如果x为真,I(x)结果为1,如果x为假,I(x)=0.用语言描述来说,  这个概率等于在N个样本的数据集中,类别为  的样本所占的比例.
   条件概率  的极大似然估计是:
     
   用语言描述来说,条件概率  等于在类别为  的样本集合(数据集的子集)中,第t个特征出现的概率等于  类样本第t个特征出现的总次数(考虑词频,不再是0,1)占  类样本的总词数(文章长度之和,文章单词特征是固定的,考虑了词频)的比例.
   为了方便理解,将  表示为第k类样本集合中第t个特征出现的总次数,  表示为在所有样本中第k类样本的总词数(第k类样本长度之和,考虑频数),简写成:
     
   和伯努利朴素贝叶斯模型类似,有可能存在某一维度,数据集在这一维度上都是0,对应到文档分类上,就是这个词在所有文章中都没有出现过(词典选的不好,特征选择不好),这种情况就会出现0概率.所以我们需要对条件概率做一点小改动:
     
   其中,d表示数据维度为d(有d个特征,每个特征都加  ,保证概率和为1,  需要乘d).当  时,叫做Laplace Smoonthing拉普拉斯平滑,当然  也可以小于1.
   To Be Continued
   高斯朴素贝叶斯,假设P(X=x|Y=c_k)是多元高斯分布.在了解高斯朴素贝叶斯之前,先介绍一下什么是高斯分布,什么是多元高斯分布?
   高斯分布又称正态分布,在实际应用中最为广泛。对于单变量  ,高斯分布的参数有两个,分别是均值  和方差  ,其概率密度函数为
     
                                           其中,  是D维均值向量,  是DxD的协方差矩阵,  是  的行列式.多元高斯分布的期望是  ,方差是  
   特殊的, 如果D个维度之间相互独立,那么多元高斯分布就可以表示成单元高斯分布概率密度函数的连乘积 .
   高斯朴素贝叶斯模型是假设条件概率P(X=x|Y=c_k)是多元高斯分布,另一方面,由之前的特征的条件独立性假设,我们就可以通过对每个特征的条件概率建模, 每个特征的条件概率  也服从高斯分布 .
   在  类下第i个词对应的高斯分布为:
     
   其中,  ,  表示c类下第i个特征的均值和方差.
   由于特征之间的独立性假设,我们可以得到条件概率:
     
   一共有d个特征.
   高斯朴素贝叶斯变成:
     
     .
   了解了多元高斯分布分布之后,接下来的工作就是对参数进行估计,计算  和  .
   先验概率和之前的估算方法相同,不再描述.主要是对高斯分布的均值和方差的估计,采用的方法仍然是极大似然估计.
   均值的估计  是在样本类别  中,所有  的平均值;
   方差的估计  为样本类别  中所有  的方差.
   对于一个连续的样本值,带入高斯分布,就可以求出它的概率分布了.
   所有参数估计完成之后,就可以计算给定样本的条件概率  ,进而可以计算  ,之后就可以确定样本类别,完成模型预测.

7. 贝叶斯预测的Bayes预测模型及其计算步骤

此处使用常均值折扣模型, 这种模型应用广泛而且简单,它体现了动态现行模型的许多基本概念和分析特性。常均值折扣模型对每一时刻t常均值折模型记为DLM{1,1,V,δ},折扣因子δ,O<δ<l定义如下:观测方程:μt = μt − 1 + ωt,ωt~N [O,Wt]状态方程:yt = μt + vt,vt~N [0,V]初始信息:~N [m0,C0]其中μ是t时刻序列的水平,Vt是观测误差项或噪声项,ωt是状态误差项。定理:对于每一时刻t,假设μt − 1的后验 分布()~N [mt − 1,Ct − 1],则μt的先验分布()~N [mt − 1,Rt],其中Rt = Ct − 1 + Wt。推论1:()~N [ft,Qt],其中ft = mt − 1,Qt = Rt + V。推论2:μt的后验分布()~N [mt,Ct],其中mt = mt − 1 + Atet,Ct = ATvt,At = Rt / Qt,et = yt − ft由于Rt=Ct-1+Wt=Ct-1/δ,故有W − t = Ct − 1(δ − 1)其计算步骤为:(1)Rt = C − t / δ; (2)Qt = Rt + V;(3)At = Rt / Qt; (4)ft − 1 = mt − 1;(5)et − yt − ft − 1; (6)Ct = AtV;(7)mt − mt − 1 + Atet

贝叶斯预测的Bayes预测模型及其计算步骤

8. 贝叶斯分析基础——可信度、模型和参数

 Doing Bayesian Data Analysis 学习笔记
   假设某一天我们出门之后发现外面路面是湿的,并且我们想知道是什么原因导致这样的现象。导致路面湿的可能性有很多,比如之前下过雨,有洒水车路过,有人把自己喝的水撒掉了等等。如果到这个时候除了路面湿这个现象,其他的所有信息我们都不知道,那么我们就会基于先前的知识来给各种可能性分配一个可信度。比如说这个地区几十年没有下过雨,我们就知道这个地方下雨的可能性不太大;或者我们知道每天这个时间点之前一段时间洒水车会经过,洒水车导致路面湿的可能性就相对较大。这种基于先前知识产生的对各种可能性的认识就是先验信念。
   我们继续在路边走,突然发现了一些新的证据:路面上只有洒水车能够洒到的地方是湿的,其他地方比如人行道是干的,这个时候我们就会重新调整我们的信念,我们会给各种可能的原因重新分配可信度,比如说下雨导致路面湿的概率会更低,而洒水车导致路面湿的概率会增加。
   贝叶斯推论就是在各种可能性之间重新分配 可信度 ( 概率 )的过程,我们基于先验信念,结合我们获得的证据调整我们的信念,并获得我们对各种可能性的概率的新的信念,也叫后验分布。如果我们又收集到了新的证据,那么先前的后验分布就会变成先验,我们再基于这个新的先验调整我们的信念。
   科学研究中所有测试都是带有随机性的,即使我们非常严格的控制各种无关变量的影响,但是依旧存在很多无关因素干扰测量结果。因此,数据和潜在的原因之间的关系具有概率性质,有可能是由于某种潜在的原因导致我们观测到这样的数据,但是也有可能是由于随机因素导致我们观察到这样的数据结果。
   以一个新药药效测试为例,假设我们想要检测一种新药能否有效降低血压,所以我们将被试随机分为两组,实验组服用药品,控制组服用安慰剂,并且采用双盲程序。每天我们都会在固定时间点测试被试的血压水平,我们可以想象到,一个被试的血压水平在一天中也会受到很多因素的影响, 比如说运动、焦虑、饮食等。更何况,血压是通过测量佩戴一个加压的血压仪之后的血流的声音来计算得到的,这个测量过程本身就存在误差。血压值也存在比较大的个体差异,所以我们最终得到的数据可能会比较混乱,控制组和实验组的测量结果均存在较大的变异(方差较大);两个组的结果分布也可能会存在重叠部分,实验组的某些个体血压可能会高于控制组。基于这两组分散的且相互重叠的数据结果,我们想要推论控制组和实验组有多大的差异,并且我们能否确定这个差异是真实存在的。 但问题的关键在于,控制组和实验组的差异测量结果是带有随机性的,也就是说我们的数据是有噪音的。 
   所有的科学数据都带有某种程度的噪音,而数据分析就是根据携带噪音的数据推断潜在的趋势。贝叶斯推论不能完全排除其他可能性,但是我们可以 通过数据逐渐调整不同可能性的可信度 。可信度的分布最初反映的是关于可能性的先验知识,这个分布是一个比较模糊的分布;但是当获得一批数据后,不同可能性的可信度重新分配,与数据一致的可能性的可信度增加,与数据不匹配的可能性的可信度降低。
   贝叶斯统计推论是一个在各种可能性间不断分配可信度的过程,这里所说的可能性实际上就是描述性模型的参数值。
   在降压药的例子中,我们想要确定降压药是否能够有效地降低血压水平,就要对比实验组和控制组的血压差异。最终我们可能会选择两个组在操作前后血压变化的平均值的差值作为这组数据的描述性模型:        上式中  代表A情况下所有被试血压的平均值,  能够有效反映降压药是否有效,如果  比较大(大于零),则说明降压药确实能够有效降低血压。   但是由于各种无关因素的影响,导致我们并没有100%的把握说我们最后的测量结果就恰好等于实际的  ,所以我们就只能基于我们的测量结果进行推断,给每一个可能的  分配一个可信度。
   一般情况下,数据分析都是从数据的某个或某些描述性统计量出发的,这些描述性统计量(比如平均值)是能够描述数据特征的数学公式。这些公式是能够计算出具体数值的,比如说平均值为3,这个值就叫做参数值。例如我们用一个正态分布来描述数据,则平均值和标准差两个参数就能够确定数据的特征,平均值决定正态分布的位置,而标准差决定正态分布的宽度。
   在选择描述数据的数学模型的时候,首先要满足两个要求:
    数据的数学模型并不等同于数据的产生过程。 比如说一个服从均值为10、标准差为5的正态分布的数据,只能说数据的表现形式为该正态分布,但是数据的一个物理产生过程却不一定与正态分布有关。
   实例:   假设我们现在想要探究人们身高和体重之间的关联,基于日常经验我们猜想人的身高越高,体重也越大,但是我们想知道体重随着身高的具体数量变化关系是怎样的,并且当身高增加时,我们有多大的把握确定体重的确按照这样的数量关系增加?
    第一步是确定研究相关的数据 。假设我们现在能够收集到57个成年人的身高和体重数据,57个成人年从研究总体中随机抽样。身高的单位为英寸,体重为磅,均为连续变量。在这个例子中我们想要用身高来预测体重。
    第二步是确定数据的描述性模型 ,这个模型与我们的研究目的相对应。在这个例子中,我们假设身高和体重成正比,记体重为  ,身高的预测值为  ,则有:        系数  代表身高增加1英寸时的体重增加量,基线  代表人的身高为0时的体重量,事实上由于人的身高下限高于0,所以不必严格限制  。   这个模型还并不完整,我们哈需要描述真实体重的随机误差,为了简便,我们假设体重真实值  服从以预测值  为均值、以  为标准差的正态分布:        整个模型有三个参数:斜率  、截距  、噪音的标准差  。三个参数都是具有意义的,斜率参数代表高度增长一英寸对应的体重增长值,标准差参数反映体重围绕着预测值的分散程度(变异程度)。
    第三步是确定参数的先验分布。 我们可以依据先前的研究结果来生成参数的先验分布,或者我们可以依据一些得到较多人认可的实践经验来生成先验分布。在这个例子中,我们采用比较模糊的、不蕴含信息量的先验,斜率和截距的所有可能取值的先验可信度相同,且可能取值的范围均以0为中心,噪音参数的先验分布为0到一个比较大的值的均匀分布。这种模糊的先验分布暗示其对后验分布并没有任何有方向的影响。
    第四步是得到后验分布。 贝叶斯推论会针对众多的参数值重新分配可信度,最终得到的后验分布与实验数据具有一致性。下图展示了参数  的后验分布,注意下图展示的并不是实验数据的分布,而是参数的分布。可以看出,可信度最高的斜率参数大约为4.1。下图同样展示了估计的参数值的不确定性,一种描述不确定性的方法是计算置信度最高的、包含分布95%的参数值的跨度,即下图中的黑色横线所表示的区间。这个区间称为最大密度区间( highest density interval , HDI)。95%HDI里面的参数值比之外的参数值具有更高的可信度,基于57对数据的95%HDI为  ,如果样本量增加,斜率的估计将会更加准确,即HDI会更窄。
                                            第五步是对模型进行检验, 即检验可信度最高的一些参数能够足够好地描述数据。这一项工作也叫后验预测检验(posterior predictive check)。由于系统误差的定义方法有很多,所以用来检验模型是否系统性的偏离数据的方法也有很多。   如果检验结果发现真实数据系统性的偏离模型的预测,那么我们就应该考虑其他模型。在这个例子中,如果数据表现出非线性趋势,那么就应该选择非线性模型来描述数据。