贝叶斯分类器算法及案例详解

本文详细介绍了贝叶斯分类器的三种形式:朴素贝叶斯分类器、半朴素贝叶斯分类器和贝叶斯网络。通过案例分析了离散型和连续型数据的处理方法,如高斯朴素贝叶斯,并探讨了属性之间的依赖关系。此外,还提到了SPODE、AODE和TAN算法在解决属性独立假设问题上的应用。
摘要由CSDN通过智能技术生成

作者:vicky_siyu 致谢:小龙快跑jly, 巧儿、克力,Esther_or so,雨佳小和尚,老实憨厚的叶子

本文是对贝叶斯分类器(包括朴素贝叶斯分类器,半朴素贝叶斯分类器及贝叶斯网络)算法的演算及案例的详细分析。本文只是在学习后进行了总结并加入了自己的理解,如有不妥之处,还望海涵,也希望大家多多指教,一起学习!

ps.建议先阅读“理解贝叶斯分类器原理及关系 https://blog.csdn.net/weixin_43742744/article/details/85492334 ” 后再阅读本文,会对上述几种贝叶斯分类器有更深入的理解。

一、 朴素贝叶斯分类器

特点:假设输入的变量的特征属性之间具有很强的独立性。
即假设x1,x2,….,xn相互独立。{若AB相互独立,则P(AB)=P(A)P(B)}
通过这个假设,可以把联合分布概率转化为多个类条件概率的乘积。
(以下公式来自SIGAI–机器学习—雷老师)
p ( y = c i ∣ x ) = p ( y = c i ) p ( x ∣ y = c i ) p ( x ) p ( y = c i ∣ x ) = p ( y = c i ) ∏ j = 1 n p ( x j ∣ y = c i ) Z p(y=c_i|x) = \frac{p(y=c_i)p(x|y=c_i)}{p(x)} \\ p(y=c_i|x) = \frac{p(y=c_i)\displaystyle\prod_{j=1}^{n}p(x_j|y=c_i)}{Z} p(y=cix)=p(x)p(y=ci)p(xy=ci)p(y=cix)=Zp(y=ci)j=1np(xjy=ci)
朴素贝叶斯分类器既可以处理离散数值的分类问题,也能处理连续数值的分类问题。
下面分别结合公式和案例分析如何处理这两类问题。

1)离散型

类条件概率 p ( x i = v ∣ y = c ) = N x i = v , y = c N y = c p(x_i=v|y=c) = \frac{N_{x_i=v,y=c}}{N_{y=c}} p(xi=vy=c)=Ny=cNxi=v,y=c
类概率 p ( y = c ) = N y = c N p(y=c) = \frac{N_{y=c}}{N} p(y=c)=NNy=c
预测函数 a r g m a x y p ( y = c ) ) ∏ i = 1 n p ( x i = v ∣ y = c ) argmax_yp(y=c) )\displaystyle\prod_{i=1}^{n}p(x_i=v|y=c) argmaxyp(y=c))i=1np(xi=vy=c)
拉普拉斯平滑 p ( x i = v ∣ y = c ) = N x i = v ∧ y = c + 1 N y = c + k p(x_i=v|y=c) = \frac{N_{x_i=v\land y=c}+1}{N_{y=c}+k} p(xi=vy=c)=Ny=c+kNxi=vy=c+1

(PS. 拉普拉斯平滑处理是平滑处理的一种方式。平滑处理是为了避免某一类样本数量为0,导致该样本出现的概率为0。只要有一个概率为0,预测函数将概率连乘后就为0了。为了避免这种情况,我们在分子加上λ,分母加上Kλ,保证所有概率都非零。拉普拉斯平滑是λ=1的情况。)

2)连续型

当样本的特征是连续型的数值时,条件概率的分布通常假设为高斯分布,其朴素贝叶斯被称为高斯朴素贝叶斯。高斯分布又分为一维正态分布和多维正态分布。下面依次介绍两种正态分布。
 一维正态分布
f ( x i = x ∣ y = c ) = 1 2 π σ e x p ( − ( x − μ ) 2 2 σ 2 ) f(x_i=x|y=c) = \frac{1}{\sqrt{2\pi}\sigma}exp\bigg (- \frac{(x-\mu)^2}{2\sigma^2} \bigg ) f(xi=xy=c)=2π σ1exp(2σ2(xμ)2)
a r g m a x c p ( y = c ) ) ∐ i = 1 n f ( x i ∣ y = c ) argmax_cp(y=c) )\displaystyle\coprod_{i=1}^{n}f(x_i|y=c) argmaxcp(y=c))i=1nf(xiy=c)

为了得到函数,需要求出均值和方差:
求得均值和方差后,我们可以得到某类的不同特征属性的高斯函数。
最大化后验概率正比于似然与先验的乘积,算出似然后,还需计算先验概率。
i. 假设各类出现的概率一样
p ( C k ) = 1 K p(C_k)= \frac{1}{K} p(Ck)=K1
ii. 仅考虑训练样本数据时
p ( C k ) = N k N p(C_k)= \frac{N_k}{N} p(Ck)=NNk
平滑处理后的概率:(λ=1时为拉普拉斯平滑修正)
p ( C k ) = N k + λ N + K λ p(C_k)= \frac{N_k+\lambda}{N+K\lambda} p(Ck)=N+KλNk+λ
案例(来源于西瓜书):[1]

编号 色泽 根蒂 敲声 纹理 脐部 触感 密度 含糖率 好瓜
1 青绿 蜷缩 浊响 清晰 凹陷 硬滑 0.697 0.460
2 乌黑 蜷缩 沉闷 清晰 凹陷 硬滑 0.774 0.376
3 乌黑 蜷缩 浊响 清晰 凹陷 硬滑 0.634 0.264
4 青绿 蜷缩 沉闷 清晰 凹陷 硬滑 0.608 0.318
5 浅白 蜷缩 浊响 清晰 凹陷 硬滑 0.556 0.215
6 青绿 稍蜷 浊响 清晰 稍凹 软粘 0.403 0.237
7 乌黑 稍蜷 浊响 稍糊 稍凹 软粘 0.481 0.149
8 乌黑 稍蜷 浊响 清晰 稍凹 硬滑 0.437 0.211
9 乌黑 稍蜷 沉闷 稍糊 稍凹 硬滑 0.666 0.091
10 青绿 硬挺 清脆 清晰 平坦 软粘 0.243 0.267
11 浅白 硬挺 清脆 模糊 平坦 硬滑 0.245 0.057
12 浅白 蜷缩 浊响 模糊 平坦 软粘 0.343 0.099
13 青绿 稍蜷 浊响 稍糊 凹陷 硬滑 0.639 0.161
14 浅白 稍蜷 沉闷 稍糊 凹陷 硬滑 0.657 0.198
15 乌黑 稍蜷 浊响 清晰 稍凹 软粘 0.360 0.370
16 浅白 蜷缩 浊响 模糊 平坦 硬滑 0.593 0.042
17 青绿 蜷缩 沉闷 稍糊 稍凹 硬滑 0.719 0.103

判断一个具有特征:{色泽=青绿,根蒂=蜷缩,敲声=浊响,纹理=清晰,脐部=凹陷,触感=硬滑,密度=0.697,含糖率=0.460}的测试样例瓜是否为好瓜?

先验: P ( 好 瓜 = 是 ) = 8 / 17 ≈ 0.471 P ( 好 瓜 = 否 ) = 9 / 17 ≈ 0.529 P(好瓜=是)=8/17≈0.471 \\ P(好瓜=否)=9/17≈0.529 P(=)=8/170.471P(=)=9/170.529
类条件概率:
离散值属性通过样本统计得出,连续值属性假设为一维正态分布,通过样本计算出均值和方差,再代入测试集的数据求解。
P 青 绿 ∣ 是 = P ( 色 泽 = 青 绿 ∣ 好 瓜 = 是 ) = 3 8 = 0.375 P 青 绿 ∣ 否 = P ( 色 泽 = 青 绿 ∣ 好 瓜 = 否 ) = 3 9 = 0.333 P 蜷 缩 ∣ 是 = P ( 根 蒂 = 蜷 缩 ∣ 好 瓜 = 是 ) = 5 8 = 0.625 P 蜷 缩 ∣ 否 = P ( 根 蒂 = 蜷 缩 ∣ 好 瓜 = 否 ) = 3 9 = 0.333 P 浊 响 ∣ 是 = P ( 敲 声 = 浊 响 ∣ 好 瓜 = 是 ) = 6 8 = 0.750 P 浊 响 ∣ 否 = P ( 敲 声 = 浊 响 ∣ 好 瓜 = 否 ) = 4 9 = 0.444 P 清 晰 ∣ 是 = P ( 纹 理 = 清 晰 ∣ 好 瓜 = 是 ) = 7 8 = 0.875 P 清 晰 ∣ 否 = P ( 纹 理 = 清 晰 ∣ 好 瓜 = 否 ) = 2 9 = 0.222 P 凹 陷 ∣ 是 = P ( 脐 部 = 凹 陷 ∣ 好 瓜 = 是 ) = 6 8 = 0.750 P 凹 陷 ∣ 否 = P ( 脐 部 = 凹 陷 ∣ 好 瓜 = 否 ) = 2 9 = 0.222 P 硬 滑 ∣ 是 = P ( 触 感 = 硬 滑 ∣ 好 瓜 = 是 ) = 6 8 = 0.750 P 硬 滑 ∣ 否 = P ( 触 感 = 硬 滑 ∣ 好 瓜 = 否 ) = 6 9 = 0.667 P 密 度 : 0.697 ∣ 是 = P ( 密 度 = 0.697 ∣ 好 瓜 = 是 ) = 1 2 π ⋅ 0.129 e x p ( − ( 0.697 − 0.574 ) 2 2 ⋅ 0.12 9 2 ) ≈ 1.959 P 密 度 : 0.697 ∣ 否 = P ( 密 度 = 0.697 ∣ 好 瓜 = 否 ) = 1 2 π ⋅ 0.195 e x p ( − ( 0.697 − 0.496 ) 2 2 ⋅ 0.19 5 2 ) ≈ 1.203 P 含 糖 率 : 0.460 ∣ 是 = P ( 含 糖 率 = 0.460 ∣ 好 瓜 = 是 ) = 1 2 π ⋅ 0.101 e x p ( − ( 0.460 − 0.279 ) 2 2 ⋅ 0.10 1 2 ) ≈ 0.788 P 含 糖 率 : 0.460 ∣ 否 = P ( 含 糖 率 = 0.460 ∣ 好 瓜 = 否 ) = 1 2 π ⋅ 0.108 e x p ( − ( 0.460 − 0.154 ) 2 2 ⋅ 0.10 8 2 ) ≈ 0.066 P_{青绿|是}=P(色泽=青绿|好瓜=是)=\frac{3}{8}=0.375 \\ P_{青绿|否}=P(色泽=青绿|好瓜=否)=\frac{3}{9}=0.333 \\ P_{蜷缩|是}=P(根蒂=蜷缩|好瓜=是)=\frac{5}{8}=0.625 \\ P_{蜷缩|否}=P(根蒂=蜷缩|好瓜=否)=\frac{3}{9}=0.333 \\ P_{浊响|是}=P(敲声=浊响|好瓜=是)=\frac{6}{8}=0.750 \\ P_{浊响|否}=P(敲声=浊响|好瓜=否)=\frac{4}{9}=0.444 \\ P_{清晰|是}=P(纹理=清晰|好瓜=是)=\frac{7}{8}=0.875 \\ P_{清晰|否}=P(纹理=清晰|好瓜=否)=\frac{2}{9}=0.222 \\ P_{凹陷|是}=P(脐部=凹陷|好瓜=是)=\frac{6}{8}=0.750 \\ P_{凹陷|否}=P(脐部=凹陷|好瓜=否)=\frac{2}{9}=0.222 \\ P_{硬滑|是}=P(触感=硬滑|好瓜=是)=\frac{6}{8}=0.750 \\ P_{硬滑|否}=P(触感=硬滑|好瓜=否)=\frac{6}{9}=0.667 \\ P_{密度:0.697|是}=P(密度=0.697|好瓜=是)=\frac{1}{\sqrt{2\pi}\cdot0.129}exp(-\frac{(0.697-0.574)^2}{2\cdot0.129^2})\approx1.959 \\ P_{密度:0.697|否}=P(密度=0.697|好瓜=否)=\frac{1}{\sqrt{2\pi}\cdot0.195}exp(-\frac{(0.697-0.496)^2}{2\cdot0.195^2})\approx1.203 \\ P_{含糖率:0.460|是}=P(含糖率=0.460|好瓜=是)=\frac{1}{\sqrt{2\pi}\cdot0.101}exp(-\frac{(0.460-0.279)^2}{2\cdot0.101^2})\approx0.788 \\ P_{含糖率:0.460|否}=P(含糖率=0.460|好瓜=否)=\frac{1}{\sqrt{2\pi}\cdot0.108}exp(-\frac{(0.460-0.154)^2}{2\cdot0.108^2})\approx0.066 \\ P绿=P=绿==83=0.375P绿=P=绿==93=0.333P=P===85=0.625P=P===93=0.333P=P===86=0.750P

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值