现在的位置: 首页 > 综合 > 正文

朴素贝叶斯法

2013年02月14日 ⁄ 综合 ⁄ 共 1387字 ⁄ 字号 评论关闭

看了看《统计学习方法》的第四章 朴素贝叶斯法。

书中是这么介绍的:朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入\输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。

说了很多,什么联合概率分布什么的。还是有点云里雾里。还是利用实际的例子说明这个问题。

既然是分类问题,就举个简单的给人分类吧。一个小宝宝走在大街上,看着远处有一个人向他走来。看着他的模糊的轮廓(身高  体型),根据小宝宝的经验。可以大概的猜出他是不是篮球运动员(分类问题)。

这里理一理上述问题,样本就是以前看到的一些人。输入特征就是(身高,体重),输出就是是,或者否。我们需要做的就是从以前看到过的人中建立模型,亦求取输入\输出的联合概率分布。这里有个特征条件独立的假设,是为了更好的计算估计用的。在这里就是指人的身高和体重是没有任何关系的。但现实中很多事物都只能近似的这么认为。

朴素贝叶斯,Naive Bayes Classifier。这个朴素Naive就是天真的意思。第一,天真的假设特征条件独立,第二,天真的根据自己的经验去判断新来的事物。这也是我用天真的小宝宝来举例的原因。

举个例子收场:小宝宝以前看到的人物简单抽象汇总下,表中每一列代表一个样本,也就是以前看过的人。其特征X,Y分别是身高和体重。取值集合分别为 X = {T, M, S}(高,一般,矮)
 Y = {F,   N,   Th}(胖, 一般, 瘦)Z 为类别标记 Z 属于C = {1 , -1}分别代表是或者不是篮球运动员。

现在需要确定x = (M , Th)是否是篮球运动员。

第一步,先计算先验概率及条件概率

P( Z = 1 ) = 9 / 15                   P( Z = -1 ) = 6 / 15

P( X = S | Z = 1) = 2 / 9           P( X = M | Z = 1 ) = 3 / 9           P( X = T | Z = 1 ) = 4 / 9

P( Y = Th | Z = 1) = 1 / 9          P( Y = N | Z = 1 ) = 4 / 9           P( Y = F | Z = 1 ) = 4 / 9

P( X = S | Z = -1) = 3 / 6           P( X = M | Z = -1 ) = 2 / 6           P( X = T | Z = -1 ) = 1 / 6

P( Y = Th | Z = -1) = 3 / 6          P( Y = N | Z = -1 ) = 2 / 6           P( Y = F | Z = -1 ) = 1 / 6


第二步,对于给定的实例。计算其属于某个类别的概率

P( Z = 1 ) * P( X = M | Z = 1 ) * P( Y = Th | Z = 1) = (9 / 15) * ( 3 / 9) * ( 1 / 9 ) = 1 / 45

P( Z = -1 ) * P( X = M | Z = -1 ) * P( Y = Th | Z = -1) = (6 / 15) * ( 2 / 6) * ( 3 / 6 ) = 1 / 15

===========================这里用到条件独立 的假设

P( Z = 1 ) * P( X = M ,Y
= Th
| Z = 1) = 
P( Z = 1 ) * P( X = M | Z = 1 ) * P( Y = Th | Z = 1)

===============================================


第三步,根据上面的概率。确定类别

因为P( Z = -1 ) * P( X = M | Z = -1 ) * P( Y = Th | Z = -1) = (6 / 15) * ( 2 / 6) * ( 3 / 6 ) = 1 / 15最大,所以 y = -1

即这个人小宝宝认为这个中等个头偏瘦的人不是运动员。这也说明了 这个算法的确很天真。


朴素贝叶斯法还可以用在垃圾邮件分类click here

和SNS真实账号检测click here

抱歉!评论已关闭.