你要的答案或许都在这里:小鹏的博客目录
学习朴素贝叶斯需要清楚下面几个概念:
贝叶斯模型是指模型参数的推断用的是贝叶斯估计方法,也就是需要指定先验分布,再求取后验分布。
贝叶斯分类是一类算法的总称,这类算法均以贝叶斯定理为基础,故统称贝叶斯分类。而贝叶斯分类中最简单的一种:朴素贝叶斯,即对条件概率分布作了条件独立性假设,
下面看一下某大神举的简单例子,看一下这种条件独立性建设的方便性和实用性:
某个医院早上收到了六个门诊病人,如下表:
接下来,来了第七个看病的人,是一个打喷嚏的建筑工人,计算他患上感冒的概率?照我们的经验职业、症状和疾病之间应该是存在联系的,但是使用要朴素贝叶斯,就要假设是独立的。
根据贝叶斯定理:
P(A|B) = P(B|A) P(A) / P(B)
可得:
P(感冒|打喷嚏x建筑工人)
= P(打喷嚏x建筑工人|感冒) x P(感冒) / P(打喷嚏x建筑工人)
那么可求得概率:(朴素体现在下面,既然独立,就可以分开相乘)
P(感冒|打喷嚏x建筑工人)
= P(打喷嚏|感冒) x P(建筑工人|感冒) x P(感冒) / P(打喷嚏) x P(建筑工人)
P(感冒|打喷嚏x建筑工人) = 0.66 x 0.33 x 0.5 / 0.5 x 0.33 = 0.66
1. 朴素贝叶斯 学习与分类:
朴素贝叶斯 (naive Bayes) 法是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出Y。
结合上面的例子看下面的公式更好理解:
基本方法:朴素贝叶斯法通过训练数据集学习X和Y的联合概率分布 P(X,Y)。 具体地,学习以下先验概率分布及条件概率分布。
先验概率分布:
条件概率分布:
条件概率分布有指数级数量的参数,其估计实际是不可行的。朴素贝叶斯法对条件概率分布作了条件独立性的假设。条件独立性假设是说用于分类的特征在类确定的条件下都是条件独立的。
朴素贝叶斯法实际上学习到生成数据的机制,所以属于生成模型。
朴素贝叶斯法通过最大后验概率(MAP)准则进行类的判决,基于贝叶斯定理,后验概率为:
分母相同,则分类器可表示为:
2. 朴素贝叶斯参数估计
根据上面的分类器表达式,可以看出回来,在使用的时候我们需要求解:先验概率 和 条件概率分布,也就是参数估计,主要有极大似然估计 和 贝叶斯估计:
极大似然估计:
先验概率的极大似然估计:
设第j个特征x(j)可能取值的集合为
,条件概率的极大似然估计:
算法流程如下:
贝叶斯估计:
用极大似然估计可能会出现所要估计的概率值为0的情况,使分类产生偏差,解决这一问题的方法是采用贝叶斯估计。条件概率的贝叶斯估计为:
式中lamda>=0。等价于在随机变量各个取值的频数上赋予一个正数。常取lamda=1,称为拉普拉斯平滑( Laplace smoothing)。同样,先验概率的贝叶斯估计为:
推荐阅读: