文章原创,最近更新:2018-06-23
参考链接:
1、 理解朴素贝叶斯分类的拉普拉斯平滑
前言:通过参考《理解朴素贝叶斯分类的拉普拉斯平滑》的方法结合李航的案例写的读书笔记,根据自己的理解写的文章,具体如下:
例4.2问题同例4.1,按照拉普拉斯平滑估计概率,即取λ=1
引入拉普拉斯平滑的公式如下:
其中ajl,代表第j个特征的第l个选择,Sj代表第j个特征的个数,K代表种类的个数。N表达某个特征的总数
λ为1,这也很好理解,加入拉普拉斯平滑之后,避免了出现概率为0的情况,又保证了每个值都在0到1的范围内,又保证了最终和为1的概率性质!
加入拉普拉斯平滑后,即λ为1,我们一起看看下面的案例的运算.
1.下面我们需要算出p(Y=1|1、2、3、S、M、L)的概率
我们先需要分别计算p(X(1)=1|Y=1)、p(X(1)=2|Y=1)、p(X(1)=3|Y=1)、p(X(2)=S|Y=1),p(X(2)=M|Y=1),p(X(2)=L|Y=1),p(Y=1)
1)首先计算p(X(1)=1|Y=1),统计满足要求的如下面红色部分:
如截图,具体数据如下:
- X(1)=1,Y=1,这样的数只有2个
- X(1)特征的个数为1,2,3,三种情况,那么Sj为3
- Y=1的个数有9个
依据公式:
因λ=1则最终概率为p(X(1)=1|Y=1)=(2+1)/(9+3*1) =3/12 (备注:Y=1的个数为9+特征个数为3)
2)计算p(X(1)=2|Y=1),统计满足要求的如下面红色部分:
如截图,具体数据如下:
- X(1)=2,Y=1,这样的数只有3个
- X(1)特征的个数为1,2,3,三种情况,那么Sj为3
- Y=1的个数有9个
依据公式:
因λ=1则最终概率为p(X(1)=2|Y=1)=(3+1)/(9+3*1) =4/12 (备注:Y=1的个数为9+特征个数为3)
3)计算p(X(1)=3|Y=1),统计满足要求的如下面红色部分:
如截图,具体数据如下:
- X(1)=3,Y=1,这样的数只有4个
- X(1)特征的个数为1,2,3,三种情况,那么Sj为3
- Y=1的个数有9个
依据公式:
因λ=1则最终概率为p(X(1)=3|Y=1)=(4+1)/(9+3*1) =5/12 (备注:Y=1的个数为9+特征个数为3)
4)计算p(X(2)=S|Y=1),统计满足要求的如下面红色部分:
如截图,具体数据如下:
- X(2)=S,Y=1,这样的数只有1个
- X(2)特征的个数为S,M,L三种情况,那么Sj为3
- Y=1的个数有9个
依据公式:
因λ=1则最终概率为p(X(2)=S|Y=1)=(1+1)/(9+3*1) =2/12 (备注:Y=1的个数为9+特征个数为3)
5)计算p(X(2)=M|Y=1),统计满足要求的如下面红色部分:
如截图,具体数据如下:
- X(2)=M,Y=1,这样的数只有4个
- X(2)特征的个数为S,M,L三种情况,那么Sj为3
- Y=1的个数有9个
依据公式:
因λ=1则最终概率为p(X(2)=M|Y=1)=(4+1)/(9+3*1) =5/12 (备注:Y=1的个数为9+特征个数为3)
6)计算p(X(2)=L|Y=1),统计满足要求的如下面红色部分:
如截图,具体数据如下:
- X(2)=L,Y=1,这样的数只有4个
- X(2)特征的个数为S,M,L三种情况,那么Sj为3
- Y=1的个数有9个
依据公式:
因λ=1则最终概率为p(X(2)=L|Y=1)=(4+1)/(9+3*1) =5/12 (备注:Y=1的个数为9+特征个数为3)
7)计算p(Y=1),统计满足要求的如下面红色部分:
如截图,具体数据如下:
- Y=1的个数有9个
- Y种类个数为1,-1,共2种情况,那么Sj为2
- Y这1行共有15个数
依据公式:
因λ=1则最终概率为p(Y=1)=(9+1)/(15+2*1) =10/17 (备注:Y个数为15+特征个数为2)
以上结果汇总:
p(X(1)=1|Y=1)=3/12
p(X(1)=2|Y=1)=4/12
p(X(1)=3|Y=1)=5/12
p(X(2)=S|Y=1)=2/12
p(X(2)=M|Y=1)=5/12
p(X(2)=L|Y=1)=5/12
p(Y=-1)=10/17
到这里为止,我们已经算出了在给定的x=(2,S)条件下,Y=1概率为:
p(Y=1)p(X(1)=2|Y=1)p(X(2)=S|Y=1)=10/174/122/12=5/153=0.0327
2.算出p(Y=-1|1、2、3、S、M、L)的概率
与上面的数值进行比较即可,算法与上面完全一模一样!这里也走一遍。
我们需要估计出p(X(1)=1|Y=-1)、p(X(1)=2|Y=-1)、p(X(1)=3|Y=-1)、p(X(2)=S|Y=-1),p(X(2)=M|Y=-1)、p(X(2)=L|Y=-1)、p(Y=-1)的概率分别为多少。
1)计算p(X(1)=1|Y=-1),统计满足要求的如下面红色部分:
如截图,具体数据如下:
- X(1)=1,Y=-1,这样的数只有3个
- X(1)特征的个数为1,2,3三种情况,那么Sj为3
- Y=-1的个数有6个
依据公式:
因λ=1则最终概率为p(X(1)=1|Y=-1)=(3+1)/(6+3*1) =4/9 (备注:Y=-1的个数为6+特征个数为3)
2)计算p(X(1)=2|Y=-1),统计满足要求的如下面红色部分:
如截图,具体数据如下:
- X(1)=2,Y=-1,这样的数只有2个
- X(1)特征的个数为1,2,3三种情况,那么Sj为3
- Y=-1的个数有6个
依据公式:
因λ=1则最终概率为p(X(1)=2|Y=-1)=(2+1)/(6+3*1) =3/9 (备注:Y=-1的个数为6+特征个数为3)
3)计算p(X(1)=3|Y=-1),统计满足要求的如下面红色部分:
如截图,具体数据如下:
- X(1)=3,Y=-1,这样的数只有1个
- X(1)特征的个数为1,2,3三种情况,那么Sj为3
- Y=-1的个数有6个
依据公式:
因λ=1则最终概率为p(X(1)=3|Y=-1)=(1+1)/(6+3*1) =2/9 (备注:Y=-1的个数为6+特征个数为3)
4)计算p(X(2)=S|Y=-1),统计满足要求的如下面红色部分:
如截图,具体数据如下:
- X(2)=S,Y=-1,这样的数只有3个
- X(2)特征的个数为S,M,L三种情况,那么Sj为3
- Y=-1的个数有6个
依据公式:
因λ=1则最终概率为p(X(2)=S|Y=-1)=(3+1)/(6+3*1) =4/9 (备注:Y=-1的个数为6+特征个数为3)
5)计算p(X(2)=M|Y=-1),统计满足要求的如下面红色部分:
如截图,具体数据如下:
- X(2)=M,Y=-1,这样的数只有2个
- X(2)特征的个数为S,M,L三种情况,那么Sj为3
- Y=-1的个数有6个
依据公式:
因λ=1则最终概率为p(X(2)=M|Y=-1)=(2+1)/(6+3*1) =3/9 (备注:Y=-1的个数为6+特征个数为3)
6)计算p(X(2)=L|Y=-1),统计满足要求的如下面红色部分:
如截图,具体数据如下:
- X(2)=L,Y=-1,这样的数只有1个
- X(2)特征的个数为S,M,L三种情况,那么Sj为3
- Y=-1的个数有6个
依据公式:
因λ=1则最终概率为p(X(2)=L|Y=-1)=(1+1)/(6+3*1) =2/9 (备注:Y=-1的个数为6+特征个数为3)
7)计算p(Y=-1),统计满足要求的如下面红色部分:
如截图,具体数据如下:
- Y=-1的个数有6个
- Y种类个数为1,-1,共2种情况,那么Sj为2
- Y这1行共有15个数
依据公式:
因λ=1则最终概率为p(Y=-1)=(6+1)/(15+2*1) =7/17 (备注:Y个数为15+特征个数为2)
以上结果汇总:
p(X(1)=1|Y=-1)=4/9
p(X(1)=2|Y=-1)=3/9
p(X(1)=3|Y=-1)=2/9
p(X(2)=S|Y=-1)=4/9
p(X(2)=M|Y=-1)=3/9
p(X(2)=L|Y=-1)=2/9
p(Y=-1)=7/17
到这里为止,我们已经算出了在给定的x=(2,S)条件下,Y=-1概率为:
p(Y=-1)p(X(1)=2|Y=-1)p(X(2)=S|Y=-1)=7/173/94/9=28/459=0.0610
3.总结
于是我们可以得到
p(Y=-1|X(1)=1、X(1)=2、X(1)=3、X(2)=S、X(2)=M、X(2)=L) = p(Y=-1)p(X(1)=2|Y=-1)p(X(2)=S|Y=-1)=0.0610 >p(Y=1|X(1)=1、X(1)=2、X(1)=3、X(2)=S、X(2)=M、X(2)=L) =p(Y=1)p(X(1)=2|Y=1)p(X(2)=S|Y=1)=0.0327,所以Y=-1