朴素贝叶斯的模型

2024-05-18 09:18

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. 朴素贝叶斯(Naive Bayes)算法

 朴素贝叶斯算法属于分类算法。发源于古典数学理论,对缺失数据不太敏感,有稳定的分类效率,模型所需估计的参数很少,算法比较简单。
    朴素贝叶斯算法 , 贝叶斯 是说明这个算法和贝叶斯定理有联系,而 朴素 是因为处理实际的需要,做了一个简化—— 假设每个特征之间是独立的 (如果研究的对象互相之间的影响很强,计算概率时考虑的问题非常复杂,做了独立假设,就可以分解后进行研究),这是这个算法模型与贝叶斯定理的区别。
                                           将 x 作为特征,y 作为类别,那公式左边的 P(yi|x)就是说在知道特征 x 的情况下,计算这个特征属于 yi 类的可能性大小。通过比较找出这个可能性的值最大的属于哪一类,就将特征 x 归为这一类。
                                           第3步的计算就是整个关键所在,计算依据是上面的贝叶斯公式。
   对于每一个类的概率计算,公式右边的分母的 P(x)都是相同的,所以可以不计算(我们只是对最终结果进行比较,不影响)。
   P(yi)也称为先验概率,是 x 属于 yi 类的一个概率,这个是通过历史信息得到的(在程序实现的时候,历史信息或者说先验信息就是我们的训练数据集),我们通过对训练样本数据进行统计,分别算出 x 属于 y1,y2,...,yn 类的概率是多少,这个是比较容易得到的。
   所以,主要是求 P(x|yi)= P(a1,a2,...,am|yi)
   这个时候对于贝叶斯模型的 朴素 的独立性假设就发挥作用了(综合的计算变成了独立计算后的综合,简化模型,极大地减少了计算的复杂程度):
   P(a1,a2,...,am|yi) = P(a1|yi)P(a2|yi)...P(am|yi)
   所以计算想要得到的东西如下:
                                            一个程序简例 

3. 朴素贝叶斯算法(Naive Bayes)

在介绍朴素贝叶斯算法之前,我们来看看关于统计学的一些基础知识:
  
 贝叶斯定理需要先验知识作为支撑,而先验知识需要大量的计算和历史数据,因此在很长一段时间内,无法得到广泛应用。只有计算机诞生以后,它才获得真正的重视。人们发现,许多统计量是无法进行客观判断的,而互联网时代出现的大型数据集,再加上告诉运算能力,为验证这些统计量提供了方便,也为应用贝叶斯定理创造了条件。
  
 条件概率:
  
   
  
   
  
 同理可得:
  
   
  
 即:
  
   
  
   
  
 全概率公式:
  
 若事件   、   、……  构成一个完备事件组即  ,且都有正概率,那么对于任意一个事件A,有如下公式
  
   
  
 贝叶斯公式:
  
 贝叶斯公式与全概率公式相反,是在已知   的基础上,求   。
  
 通过对条件概率的简单变形,就可以得到贝叶斯公式:
  
   
  
 贝叶斯公式由三部分形成,先验概率、后验概率、似然估计。其中后验概率 = 先验概率 * 似然估计。在上述公式中,  是先验概率,  是似然估计,  是后验概率。
  
 所谓先验概率就是在事件A发生之前,我们对B事件概率的一个判断。后验概率则指的是在事件A发生之后,我们对B事件概率的重新评估。似然估计是一个调整因子或者修正参数,在我们计算事件概率的时候,需要不断通过修正参数使得我们所求的概率无限接近于真实概率。
  
 如果似然估计    ,那么表示A事件的发生提高了B事件发生的概率。相反的,如果似然估计   ,那么表示A事件的发生降低了B事件发生的概率。
  
 从统计学知识回到我们的数据分析。假如我们的分类模型样本是:
  
   
  
 即我们有m个样本,每个样本有n个特征,特征输出有K个标签,定义为  。从样本我们可以学习得到朴素贝叶斯的先验分布  ,条件概率分布  ,然后我们就可以用贝叶斯公式得到  :
  
   
  
 分析上面的式子,   =    即标签  在训练集中出现的频数。但是  是一个复杂的n个维度的条件分布,很难计算。所以为了简化计算,朴素贝叶斯模型中假设n个特征之间相互独立,于是有:
  
   
  
 最后回到我们要解决的问题,我们的问题是给定测试集的一个新样本特征
  
   ,我们如何判断它属于哪个类型?
  
 贝叶斯模型的目标是后验概率最大化来判断分类。我们只要计算出所有的K个条件概率
  
   然后找出最大的条件概率对应的类别。
  
 我们预测的类别  是使  最大的类别:
  
   
  
 分析上式可知分母  是固定值,因此预测公式可以简化为:
  
   
  
 接着我们利用朴素贝叶斯的独立性假设,就可以得到通常意义上的朴素贝叶斯推断公式:
  
   
  
 在朴素贝叶斯算法中,学习意味着估计  和  。可以用极大似然估计法估计相应的概率。先验概率  的极大似然估计是:
  
   
  
 其中  即样本中标签  出现的次数在总样本数  中的占比。
  
 第  个特征  可能的取值集合为  ,似然函数  
  
   
  
 即  标签中,第  个特征  中各种取值的次数在  标签出现总次数中的占比。
  
 在用极大似然估计时,可能特征  的某些取值在  标签样本中没有出现,这时似然函数为  ,同时导致目标函数为  ,这会使分类产生偏差。为解决这一问题采用贝叶斯估计:
  
   
  
 其中  是  标签中第  个特征不重复数值的个数。当  是就是极大似然估计,当  时,称为拉普拉斯平滑。同样,先验概率的贝叶斯估计是:  
    
  https://bigquant.com/community/t/topic/126054 
  
 小伙伴们如果觉得文章还行的请点个赞呦!!同时觉得文章哪里有问题的可以评论一下  谢谢你!

朴素贝叶斯算法(Naive Bayes)

4. 我理解的朴素贝叶斯模型

 文/胡晨川   我想说:“任何事件都是条件概率。”为什么呢?因为我认为,任何事件的发生都不是完全偶然的,它都会以其他事件的发生为基础。换句话说,条件概率就是在其他事件发生的基础上,某事件发生的概率。   条件概率是朴素贝叶斯模型的基础。   假设,你的川术公司正在面临着用户流失的压力。虽然,你能计算用户整体流失的概率(流失用户数/用户总数)。但这个数字并没有多大意义,因为资源是有限的,利用这个数字你只能撒胡椒面似的把钱撒在所有用户上,显然不经济。你非常想根据用户的某种行为,精确地估计一个用户流失的概率,若这个概率超过某个阀值,再触发用户挽留机制。这样能把钱花到最需要花的地方。   你搜遍脑子里的数据分析方法,终于,一个250年前的人名在脑中闪现。就是 “贝叶斯Bayes” 。你取得了近一个月的流失用户数、流失用户中未读消息大于5条的人数、近一个月的活跃用户数及活跃用户中未读消息大于5条的人数。在此基础上,你获得了一个“一旦用户未读消息大于5条,他流失的概率高达%”的精确结论。怎么实现这个计算呢?先别着急,为了解释清楚贝叶斯模型,我们先定义一些名词。    概率(Probability)——0和1之间的一个数字,表示一个特定结果发生的可能性。比如投资硬币,“正面朝上”这个特定结果发生的可能性为0.5,这个0.5就是概率。换一种说法,计算样本数据中出现该结果次数的百分比。即你投一百次硬币,正面朝上的次数基本上是50次。 
    几率(Odds)——某一特定结果发生与不发生的概率比。如果你明天电梯上遇上你暗恋的女孩的概率是0.1,那么遇不上她的概率就是0.9,那么遇上暗恋女孩的几率就是1/9,几率的取值范围是0到无穷大。 
    似然(Likelihood)——两个相关的条件概率之比,即给定B发生的情况下,某一特定结果A发生的概率和给定B不发生的情况下A发生的概率之比。另一种表达方式是,给定B的情况下A发生的几率和A的整体几率之比。两个计算方式是等价的。 
                                           因为上面在似然当中提到了条件概率,那么我们有必要将什么是条件概率做更详尽的阐述。   如上面的韦恩图,我们用矩形表示一个样本空间,代表随机事件发生的一切可能结果。的在统计学中,我们用符号P表示概率,A事件发生的概率表示为P(A)。两个事件间的概率表达实际上相当繁琐,我们只介绍本书中用得着的关系:   A事件与B事件同时发生的概率表示为P(A∩B),或简写为P(AB)即两个圆圈重叠的部分。
   A不发生的概率为1-P(A),写为P(~A),即矩形中除了圆圈A以外的其他部分。
   A或者B至少有一个发生的概率表示为P(A∪B),即圆圈A与圆圈B共同覆盖的区域。
   在B事件发生的基础上发生A的概率表示为P(A|B),这便是我们前文所提到的条件概率,图形上它有AB重合的面积比上B的面积。
   回到我们的例子。以P(A)代表用户流失的概率,P(B)代表用户有5条以上未读信息的概率,P(B|A)代表用户流失的前提下未读信息大于5条的概率。我们要求未读信息大于5条的用户流失的概率,即P(A|B),贝叶斯公式告诉我们:     P(A|B)=P(B|A)  P(A)/P(B)*   如下图,由这个公式我们就能轻松计算出,在观察到某用户的未读信息大于5条时,他流失的概率为80%。80%的数值比原来的30%真是靠谱太多了。
   
                                           
   朴素贝叶斯的应用不止于此,我们再例举一个更复杂,但现实场景也更实际的案例。假设你为了肃清电商平台上的恶性商户(刷单、非法交易、恶性竞争等),委托算法团队开发了一个识别商家是否是恶性商户的模型M1。为什么要开发模型呢?因为之前识别恶性商家,你只能通过用户举报和人肉识别异常数据的方式,人力成本高且速率很慢。你指望有智能的算法来提高效率。   之前监察团队的成果告诉我们,目前平台上的恶性商户比率为0.2%,记为P(E),那么P( E)就是99.8%。利用模型M1进行检测,你发现在监察团队已判定的恶性商户中,由模型M1所判定为阳性(恶性商户)的人数占比为90%,这是一个条件概率,表示为P(P|E)=90%;在监察团队判定为健康商户群体中,由模型M1判定为阳性的人数占比为8%,表示为P(P| E)=8%。乍看之下,你是不是觉得这个模型的准确度不够呢?感觉对商户有8%的误杀,还有10%的漏判。其实不然,这个模型的结果不是你想当然的这么使用的。   这里,我们需要使用一个称为“全概率公式”的计算模型,来计算出在M1判别某个商户为恶性商户时,这个结果的可信度有多高。这正是贝叶斯模型的核心。当M1判别某个商户为恶性商户时,这个商户的确是恶性商户的概率由P(E|P)表示:     P(E|P)=****P(P|E)  P(E)/(P(E)P(P|E)+P( E)*P(P| E))******   上面就是全概率公式。要知道判别为恶性商户的前提下,该商户实际为恶性商户的概率,需要由先前的恶性商户比率P(E),以判别的恶性商户中的结果为阳性的商户比率P(P|E),以判别为健康商户中的结果为阳性的比率P(P| E),以判别商户中健康商户的比率P( E)来共同决定。
   
                                           
   
                                           

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

 朴素贝叶斯算法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个特征.
   高斯朴素贝叶斯变成:
     
     .
   了解了多元高斯分布分布之后,接下来的工作就是对参数进行估计,计算  和  .
   先验概率和之前的估算方法相同,不再描述.主要是对高斯分布的均值和方差的估计,采用的方法仍然是极大似然估计.
   均值的估计  是在样本类别  中,所有  的平均值;
   方差的估计  为样本类别  中所有  的方差.
   对于一个连续的样本值,带入高斯分布,就可以求出它的概率分布了.
   所有参数估计完成之后,就可以计算给定样本的条件概率  ,进而可以计算  ,之后就可以确定样本类别,完成模型预测.

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

6. 朴素贝叶斯分类原理

为什么叫朴素贝叶斯分类呢?
  
  
 1.它用到了贝叶斯定理
  
 2.这种方法的思想真的很朴素🐒
  
 对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。你在街上看到一个黑人,你很可能会猜非洲。因为黑人中非洲人的比率最高,当然也不一定对。但在没有其它可用信息下,我们会选择条件概率最大的类别,这就是朴素贝叶斯的思想基础。
  
 举个栗子🌰:
  
 用cu,fe,ca三种元素的含量判断某人是否患病。
  
 可以先统计1000人的患病情况,并测出他们的三种元素含量。
  
 若其中400人患病,那p(患病)=0.4,p(健康)=0.6
  
 患病的400人中:
  
 p(cu>0.1)=0.8, p(cu<0.1)=0.2,
  
 p(fe>0.1)=0.7,  p(fe<0.1)=0.3,
  
 p(ca>0.1)=0.6, p(ca>0.1)=0.4,
  
 健康的600人中:
  
 p(cu>0.1)=0.3, p(cu<0.1)=0.7,
  
 p(fe>0.1)=0.2,  p(fe<0.1)=0.8,
  
 p(ca>0.1)=0.1, p(ca<0.1)=0.9,
  
 那么我们就可以计算其他人的患病概率了:
  
 加入一个人cu,fe,ca三种元素含量分别为0.12,0.8,0.7
  
 那他的p(患病)=0.4*0.8*0.3*0.4=0.0384
  
 p(健康)=0.6*0.3*0.8*0.9=0.1296
  
 可以看出,他的p(健康)明显大于p(患病),所以很可能是健康的

7. 朴素贝叶斯分类原理

贝叶斯分类算法是统计学的一种分类方法,它是一类利用概率统计知识进行分类的算法。在许多场合,朴素贝叶斯(Naïve Bayes,NB)分类算法可以与决策树和神经网络分类算法相媲美,该算法能运用到大型数据库中,而且方法简单、分类准确率高、速度快。
由于贝叶斯定理假设一个属性值对给定类的影响独立于其它属性的值,而此假设在实际情况中经常是不成立的,因此其分类准确率可能会下降。

朴素贝叶斯分类原理