朴素贝叶斯算法(一)——基本概率和原理

---恢复内容开始---

一、朴素贝叶斯算法(naive bayes)是基于贝叶斯定理与特征条件独立假设的分类方法

  1、贝叶斯定理

  #P(X)表示概率,P(XX)表示联合概率,也就是交集,也就是一起发生的概率

  由公式:P(AB)= P(A|B)*P(B) =P(B|A)*P(A)

  可以推出 贝叶斯公式:P(A|B) = P(B|A)P(A)/P(B)

  2、特征条件独立

  给定样本的 属性之间是相互独立的,比如:以判定邮件是否为垃圾邮件为例,其中判定的方法为根据邮件中出现的词语判定是否为垃圾邮件;给定的一封样本邮件,特征条件独立就是 邮件中不同的词出现的概率相互之间是不受影响的,即 一个词的出现不会影响另一个词的出现。(虽然此条件往往不成立,但是NB算法依然取得了较好的分类效果)

  3、基本思想:

  给定的待分类的样本X=(x1,x2,...,xn),求解在此项出现的条件的下 各个类别Yi出现的概率,哪个P(Yi/X)的概率最大,就把它归到哪个类别

二、NB算法的原理及流程:

  1、定义

  1.1 设X=(a1,a2,...,an)是待分类项,其中ai(i = 1,2,..,n)为x的一个特征属性,并且各个特征属性之间相互独立(该条件基于上面的假设

  1.2 设C =  {y1,y2,...,yn} 是一个类别集合

  1.3 计算概率P(y1/X),P(y2/X)....P(yn/X) 

  1.4 P(yk/X) = max{P(y1/X),P(y2/X)....P(yn/X)}, 则有 X属于yk。其中max的含义为:在X的条件下,求使得P(yi/X)(i = 1,2,..,n)取得最大(值)概率的y,即为yk。

    2、原理

    2.1  要求出上面1.4中的后验概率,就要求出 1.3 中每一项的值P(yi/X),其步骤为:

    2.1.1 找到一个已知分类的待分类项集合,这个集合叫做训练样本集。比如:医生之前已经看过的病人

    2.1.2 统计在各个类别 yi(i = 1,2,..,n)下各个特征属性的条件概率估计,即:p(a1/y1),p(a2/y1),p(a1/y2)...等等

  3、计算

    3.1 在朴素贝叶斯算法中,每个特种属性之间都是相互独立的,则对于贝叶斯公式:P(yi/X) = p(X/yi)p(yi)/p(X)

    因为P(X)是待分类项x在数据库中的概率,则对于一个任何一个待分类项的P(x)来说都是常数固定的,所以再求后验概率P(yi/X)时只考虑分子即可。

    3.2 因为各个特征属性的独立的:

    则分子 p(X/yi)p(yi) = p(yi)*p(a1/yi)p(a2/yi)...p(an/yi) 

    p(yi)是训练样本中 yi出现的概率,p(yi) = |yi|/|D|  (D为总的样本数

    先验概率p(aj/yi)为:在类别yi中,特征属性aj 出现的概率。 

      

---恢复内容结束---

原文地址:https://www.cnblogs.com/djoystudy/p/5048928.html