朴素贝叶斯算法(一)——基本概率和原理
---恢复内容开始---
一、朴素贝叶斯算法(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 出现的概率。
---恢复内容结束---