朴素贝叶斯的模型

2024-05-14

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. 我理解的朴素贝叶斯模型

 文/胡晨川   我想说:“任何事件都是条件概率。”为什么呢?因为我认为,任何事件的发生都不是完全偶然的,它都会以其他事件的发生为基础。换句话说,条件概率就是在其他事件发生的基础上,某事件发生的概率。   条件概率是朴素贝叶斯模型的基础。   假设,你的川术公司正在面临着用户流失的压力。虽然,你能计算用户整体流失的概率(流失用户数/用户总数)。但这个数字并没有多大意义,因为资源是有限的,利用这个数字你只能撒胡椒面似的把钱撒在所有用户上,显然不经济。你非常想根据用户的某种行为,精确地估计一个用户流失的概率,若这个概率超过某个阀值,再触发用户挽留机制。这样能把钱花到最需要花的地方。   你搜遍脑子里的数据分析方法,终于,一个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)来共同决定。
   
                                           
   
                                           

3. 贝叶斯模型的推理方法主要有

贝叶斯模型的推理方法主要有:启发法策略论,自然抽样空间假说,频率效应论,抽样加工理论。

贝叶斯推理是由英国牧师贝叶斯发现的一种归纳推理方法,后来的许多研究者对贝叶斯方法在观点、方法和理论上不断的进行完善,最终形成了一种有影响的统计学派,打破了经典统计学一统天下的局面。贝叶斯推理是在经典的统计归纳推理--估计和假设检验的基础上发展起来的一种新的推理方法。
与经典的统计归纳推理方法相比,贝叶斯推理在得出结论时不仅要根据当前所观察到的样本信息,而且还要根据推理者过去有关的经验和知识。作为一种推理方法,贝叶斯推理是从概率论中的贝叶斯定理扩充而来。

研究概况:
Kahneman和Tversky开辟了概率推理这一重要的研究领域。他们在20世纪70年代初期的研究首先发现,人们的直觉概率推理并不遵循贝叶斯原理,表现在判断中往往忽略问题中的基础概率信息,而主要根据击中率信息作出判断。
他们一个经典性的研究是:告知被试100人中有70人是律师,30人是工程师,从中随机选出一人,当把该人的个性特征描述得象工程师时,被试判断该人为工程师的概率接近0.90。显然被试忽略了工程师的基础概率只有30%。
后来他们还采用多种问题验证基础概率忽略现象,如让被试解决如下出租车问题:一个城市85%的出租车属于绿车公司,15%属于蓝车公司,现有一出租车卷入肇事逃逸事件,根据一目击者确认,肇事车属于蓝车公司,目击者的可靠性为80%。问肇事车是蓝车的概率是多少。结果大多数被试判断为80%,但如果考虑基础概率则应是41%。

贝叶斯模型的推理方法主要有

4. 朴素贝叶斯算法

 贝叶斯算法是由英国数学家托马斯·贝叶斯提出的,这个算法的提出是为了解决“逆向概率”的问题。首先我们先来解释下正向概率与逆向概率的含义:
                                            正向概率 :假设一个箱子里有5个黄色球和5个白色球,随机从箱子里拿出一个球,请问取出的是黄球的概率是多少?很容易计算P(黄球)= N(黄球)/N(黄球)+ N(白球) = 5/5+5 = 1/2。    逆向概率 :起初我们并不知道箱子里有多少个球,我们依次从箱子里取出10个球,发现这个10个球中有7个白球,3个黄球,那么我们会根据我们观察到的结果去推测箱子里白球与黄球的分布比例大概是7:3,但是我们无法推测出箱子里的球的个数。
   贝叶斯算法是一种基于概率统计的机器学习算法,它会计算出每种情况发生的概率,然后对其进行分类,贝叶斯算法经常用于文本分类问题和垃圾邮件过滤问题。假设有一篇新闻报道news report,我们使用贝叶斯算法来判断它们的类别,结果如下:   p(politics|news) = 0.2   p(entertainment|news) = 0.4   p(sports|news) = 0.7   因为p(sports|news)的概率最大,所以我们判断这篇新闻报道为体育类报道。“|”左边为要判断的类别,右边是我们给定的文章。
    贝叶斯公式推导    接下来,我们将通过一个例子来推导贝叶斯公式。在一所学校里,男生和女生的比例分别是60%和40%,男生全部穿长裤,女生一半穿长裤,一半穿裙子。现迎面走来一个同学,你只能看清他(她)穿的是长裤,而无法分辨出他(她)的性别,请问他(她)是女生的概率?   
                                           
   下面我们逐步计算这个问题:   假设学校里的学生总数为N。   男生人数:N * P(boys),女生人数:N * P(girls)。   穿长裤的男生人数:N * P(boys) * P(pants|boys),其中P(pants|boys)是条件概率的表达形式,意思是男生中穿长裤的概率。因为男生都穿长裤,所以N * P(boys) * P(pants|boys) = 60% * N。   穿长裤的女生的人数:N * P(girs) * P(pants|girls) = 0.2 * N。   穿长裤的总人数:N * P(boys) * P(pants|boys) + N * P(girs) * P(pants|girls)   穿长裤的同学是女生的概率:P(girl|pants) = N * P(girs) * P(pants|girls) / N * P(boys) * P(pants|boys) + N * P(girs) * P(pants|girls) = P(girs)*P(pants|girls) / P(pants),分母用P(pants)表示穿长裤的概率。   最终结果:P(girl | pants) = P(pants | girl) * P(girl) / P(pants)   其中:P(girl)我们称为先验概率,是已知值,在这个例子中P(girl) = 40%。先验概率:根据以往的经验和分析得到的结果,先验概率和其他条件的影响不受样本影响。   P(girl | pants)我们称为后验概率,根据观察到的结果,去反推是女生的概率。    贝叶斯数学表达式    
                                           
    贝叶斯算法在垃圾邮件过滤中的应用    给定一封邮件,判定它是否属于垃圾邮件?用D 来表示这封邮件,注意D 由N 个单词组成。我们用h+ 来表示垃圾邮件,h-表示正常邮件。   有贝叶斯公式可得:   P(h+ | D) = P(D | h+) * P(h+) / P(D)   P(h- | D) = P(D | h-) * P(h-) / P(D)   其中P(h+),P(h-)为先验概率,假如我们有1000封邮件,其中有50封是垃圾邮件,其他都是正常邮件,那么P(h+),P(h-)的概率就是已知的。两个式子的分母都是P(D),所以P(D)对于最终结果的比较是没有影响的。接下来就是要求P(D | h+),P(D | h-)垃圾邮件中或正常邮件中是邮件D的概率。   我们都知道一封邮件是由许多词构成的,所以我们将P(D | h+)的表达式转化为P(d1,d2,d3......dn | h+),就是看垃圾邮件中出现d1,d2...dn这些词的概率是多少。   P(d1,d2,d3......dn | h+) = P(d1 | h+) * P(d2 |d1,h+) * P(d3 |d1,d2,h+) ...   这个式子计算起来非常困难,所以在这里我们做一个假设,假设每个词都是独立的并且互不影响,那么这个式子就可以表示为:   P(d1,d2,d3......dn | h+) = P(d1 | h+) * P(d2 | h+) * P(d3 | h+) ...P(dn | h+)   P(h+ | D) =  {P(d1 | h+) * P(d2 | h+) * P(d3 | h+) ...P(dn | h+)}* P(h+) / P(D)   上述这个式子我们就称为朴素贝叶斯公式,朴素贝叶斯公式是对贝叶斯公式的简化,它建立在每个条子互相独立的基础上。   在现实生活中,我们写的每一句话中词与词之间肯定是有相互联系,如果没有联系,那么这句话是读不通的。那么为什么朴素贝叶斯能够在计算中使用,首先是计算简单,其次对最终结果的影响非常小。    参考资料    1.唐宇迪,《机器学习与数据分析实战》课程。   2.Peter,《机器学习实战》。

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. 实验三 朴素贝叶斯算法及应用

基于贝叶斯定理与特征条件独立假设的分类方法。
                                          
 特征的可能性被假设为高斯
  
 
  
 
                                          
 
  
 
                                                                                                                                                                                                                                                                                          
 需要一个比较容易解释,而且不同维度之间相关性较小的模型的时候可以使用。
   还可以高效处理高维数据,虽然结果可能不尽如人意。
  
 (1)朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。
   (2)对小规模的数据表现很好,能个处理多分类任务,适合增量式训练,尤其是数据量超出内存时,我们可以一批批的去增量训练。
   (3)对缺失数据不太敏感,算法也比较简单,常用于文本分类。
  
 (1)理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型给定输出类别的情况下,假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好。而在属性相关性较小时,朴素贝叶斯性能最为良好。对于这一点,有半朴素贝叶斯之类的算法通过考虑部分关联性适度改进。
   (2)需要知道先验概率,且先验概率很多时候取决于假设,假设的模型可以有很多种,因此在某些时候会由于假设的先验模型的原因导致预测效果不佳。
   (3)由于我们是通过先验和数据来决定后验的概率从而决定分类,所以分类决策存在一定的错误率。
   (4)对输入数据的表达形式很敏感。
  
 本次实验我理解了朴素贝叶斯算法原理,掌握了朴素贝叶斯算法框架;还掌握了常见的高斯模型,多项式模型和伯努利模型;能根据不同的数据类型,选择不同的概率模型实现朴素贝叶斯算法;还可以针对特定应用场景及数据,能应用朴素贝叶斯解决实际问题。

7. 朴素贝叶斯的推理学习算法

朴素贝叶斯的推理学习算法
贝叶斯公式简易推导式:
朴素贝叶斯的朴素在于假设B特征的每个值相互独立,所以朴素贝叶斯的公式是这样的
学习与分类算法:
(1)计算先验概率和条件概率
拉普拉斯平滑:
(2)代入被测样本向量,得到不同类别P,再根据后验概率最大化,取P最大的类别作为该标签类别。
朴素贝叶斯优点在于对于小规模数据很好,适合多分类。缺点是数据输入形式敏感而且特征值之间的相互独立很难保证带来的影响。

朴素贝叶斯的推理学习算法

最新文章
热门文章
推荐阅读