一、贝叶斯公式
1.1 概率:
1.2 拉普拉斯平滑
拉普拉斯平滑为了解决零概率的问题,法国数学家拉普拉斯最早提出用加1的方法估计 没有出现过的现象的概率,所以加法平滑也叫做拉普拉斯平滑。 假定训练样本很大时,每个分量x的计数加1造成的估计概率变化可以忽略不计, 但可以方便有效的避免零概率问题。
公式
上述是一个多项乘法公式,其中有一项数值为0,则整个公式就为0,显然不合理, 避免每一项为零的做法: 在分子+1、分母上加N样本种类(分子加k,分母加kN)
例如:一个班级: 男生(短头发)= 20 个 男生(长头发)= 0 个 女生(短头发)= 15 个 女生(长头发)= 20 个 拉普拉斯平滑概率后 : 男生(短头发)概率 = (20+1)/(55+4) = 21/59 男生(长头发)概率 = (0+1)/(55+4) = 1/59 女生(短头发)概率 = (15+1)/(55+4) = 16/59 女生(长头发)概率 = (20+1)/(55+4) = 21/59
二、朴树贝叶斯分类原理
2.1朴树贝叶斯
基本流程: 确定特征属性--> 获取训练样本--> 对每个样本计算P(Ci) --> 对每个特征属性 计算所有划分的条件概率P(X1,X1,,,Xn|Ci) --> 对每个类别计算P(X|Ci)*P(Ci)--> 以P(x|yi)P(yi)最大项作为x所属类别
2.2 半朴素基贝本叶流斯程分类器
在朴素的分类中,我们假定了各个属性之间的独立,这是为了计算方便。 虽然朴素贝叶斯的分类效果不错,但是属性之间毕竟是有关联的,某个属性依赖于另外的属性, 于是就有了半朴素贝叶斯分类器:
在正式进行计算的时候,将另外一个依赖的属性加进去,计算量不会复杂太多, 由于是基于“计数”,所以基本和朴素的计算方式类似。
训练数据集
# 大小 颜色 形状 标签 1 小 青色 非规则 否 2 大 红色 非规则 是 3 大 红色 圆形 是 4 大 青色 圆形 否 5 大 青色 非规则 否 6 小 红色 圆形 是 7 大 青色 非规则 否 8 小 红色 非规则 否 9 小 青色 圆形 否 10 大 红色 圆形 是 属性的依赖关系定义如下: 大小的依赖属性为:形状,且属性取值为大时依赖形状为圆形; 颜色不存在依赖属性; 形状的依赖属性为大小,且属性取值为圆形时依赖大小为大; 则先验概率 P(c) : P(c = 好果)= (4+1) / (10+2) = 5/12 P(c = 一般) = (6+1) / (10+2) = 7/12 带有依赖属性的类条件概率: P(大小=大 | c=好果,形状=圆形) = (2+1)/(3+2) = 3/5 P(颜色=青色 | c=好果) = (0+1)/(4+2) = 1/6 P(形状=圆形 | c=好果,大小=大) = (2+1) / (3+2) = 3/5 P(大小=大 | c=一般,形状=圆形) = (1+1) /( 2+2) = 2/4 P(颜色=青色 | c=一般) = (5+1)/(6+2) = 6/8 P(形状=圆形 | c=一般,大小=大) = (1+1)/(3+2) = 2/5 P(c=好果) * P(大小=大 | c=好果,形状=圆形) * P(颜色=青色 | c=好果) * P(形状=圆形 | c=好果,大小=大) = 5/12 * 3/5 * 1/6 * 3/5 = 0.025 P(c=一般) * P(大小=大 | c=一般,形状=圆形) * P(颜色=红色 | c=一般) * P(形状=圆形 | c=一般,大小=大) = 7/12 * 2/4 * 6/8 * 2/5= 0.0875
三、代码演示
sklearn.naive_bayes
提供了3个不同朴树贝叶斯算法
扫描二维码关注公众号,回复:
1891380 查看本文章
sklearn.naive_bayes.GaussianNB 高斯分布 #连续性
sklearn.naive_bayes.MutinomialNB 多项分布 #多项分布-发生频次
sklearn.naive_bayes.BernoulliNB 伯努利分布 #伯努利分布-(0,1)分布
四、总结
应用场景:
文本分析(朴树贝叶斯应用最广泛的领域)
文本分类
垃圾邮件识别
文本情感判别
多分类场景