目录
一、概率论基础
二、朴素贝叶斯
三、极大似然估计与贝叶斯估计
四、朴素贝叶斯估计实例
五、朴素贝叶斯的常用模型
六、朴素贝叶斯的优缺点
一、概率论基础
条件概率公式:在B发生的条件下A发生的概率记作P(A|B)
全概率公式为:
全概率公示的含义是:
(1)如果B1事件发生,会有一定的概率导致A发生,那么在B1发生的条件下,则A发生的概率是P(A|B1),这是条件概率公式。
(2)从最初开始考虑,A发生的概率就是 P(B1)P(A|B1)。
(3)导致A发生的情况不止有B,在B2、B3等条件下,均会导致A发生,那么综合来看,每种情况都会导致A有一定的概率发生,对A发生有贡献,所以A发生的概率是以上所有概率的和。
因为是B发生导致A发生,所以B是原因,A是结果,是典型的“由因导果”。
贝叶斯公式:
贝叶斯公式在某种意义上是全概率公式的相反形式,全概率公式是 “由因导果”,那么贝叶斯公式就是“执因索果”。B发生导致A发生,所以B是原因A是结果。
P(Bi)表示各种原因发生的可能性大小,故称先验概率;P(Bi|A)则反映当试验产生了结果A之后,再对各种原因概率的新认识,故称后验概率。在应用贝叶斯估计时,先验概率通常由统计获得。
二、朴素贝叶斯
朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的数据集,首先基于特征条件独立假设学习输入和输出的联合概率分布,然后基于此模型,对于给定的输入x,求出其后验概率最大时的输出y。用于分类时,以此确定类别。朴素贝叶斯最大化后验概率的的作法,相当于期望风险最小化。
条件独立性假设是指,假设各个特征之间没有联系,相互独立,用公式来表达就是:
举个例子,身高和体重是人的两个特征,一般来说,身高和体重是正相关的,但条件独立性假设会忽略这种相关,认为身高体重相互独立。这也是朴素贝叶斯之所以“朴素”的原因。
将条件独立假设公式代入贝叶斯公式可得:
于是,朴素贝叶斯分类器可表示为:
由于分母中所有ck均一样,所以
以上就是朴素贝叶斯公式的推导过程,非常简单,但很实用。
三、极大似然估计与贝叶斯估计
要进行估计首先需要对数据进行学习 ,由上述公式可知,首先需要根据数据估计出p(Y=ck)和p(Xj=xj|Y=ck),这里可以用最大似然估计。
先验概率p(Y=ck)的极大似然估计为,其中N为样本总数:
条件概率p(Xj=xj|Y=ck)的极大似然估计为:
其中,xji是x第i个样本的第j个特征,ajl是其可能的第l个取值,I为指示函数,用于计数。
极大似然存在的一个问题就是可能会出现所要估计的概率值为0的情况,这会使分类产生偏差,解决方法是采用贝叶斯估计,即在随机变量各个取值的频数上加一个正数λ,这时公式变为:
其中s为第i个特征可能的取值总数。
当 λ=0时,变为极大似然估计,常用的是λ=1,此时称为拉普拉斯平滑。
四、朴素贝叶斯估计实例
我自己构建了上述的一个小型数据集,我们来估计一个身高为180,体重为100的人是否肥胖。
首先计算先验概率:p(y=1)=5\\10=0.5,p(y=-1)=5\\10=0.5
p(x1=180|y=1)=0.2 ,p(x1=180|y=-1)=0.4 ,p(x2=100|y=1)=0 这是就会出现极大似然估计导致概率为零的情况,所以我们改用拉普拉斯平滑的贝叶斯估计。
先验概率:p(y=1)=6\\12=0.5,p(y=-1)=6\\12=0.5
p(x1=180|y=1)=2\\8=0.25 ,p(x1=180|y=-1)=3\\8=0.375 ,p(x2=100|y=1)=1\\9=0.111,p(x2=100|y=-1)=3\\9=0.333
p(y=1)p(x1=180|y=1)p(x2=100|y=1)=0.5*0.25*0.111=0.01388
p(y=-1)p(x1=180|y=-1)p(x2=100|y=-1)=0.5*0.375*0.333=0.06243
所以当身高为180,体重为100时,判定为不肥胖。
五、朴素贝叶斯的常用模型
朴素贝叶斯分类器有三种常见模型,包括:高斯模型、多项式模型和伯努利模型。
三者之间的区别在每个特征符合的分布不同,高斯模型是指特征符合高斯分布,其他分布亦是如此。
高斯模型的特征数据分布为:
其中Ck表示Y的某类取值,而均值和方差需要在数据集种估计出来。高斯模型适合处理特征为连续变量的分类问题。
多项式模型指特征符合多项式分布,它把特征看成有简单的多项式生成的,可以描述各种类型出现次数的概率。因此多项式模型适合于处理描述出现次数或概率的分类问题。多项式模型常用于文本分类,特征表示的是次数,例如某个单词出现的次数。
多项式模型的公式为:
该式就是我们上面提到的贝叶斯估计的公式,也有平滑项来避免概率为0出现。
伯努利模型假设特征的先验分布为伯努利模型,
伯努利模型适用于特征取值为 0或1的二项分布。在文本分类中,他可以表示一个词出现与否,而不是统计其出现的次数,这是它和多项式模型的区别。
总结:一般来说,如果特征大部分是连续值,那么高斯模型较为合适;如果特征是多元离散值,则多项式模型更合适;如果特征是二元离散值或者稀疏的多元离散值,用伯努利模型较为合适。
六、朴素贝叶斯的优缺点
优点:在数据规模较小时仍有效;对缺失值不敏感;算法简单,效果稳定。
缺点:对数据输入的准备方式较为敏感;由于条件独立性假设,所以导致在属性相关联程度较大时,分类效果差;过分的依靠先验概率,在先验概率获取不准确时,分类效果差。