机器学习_朴素贝叶斯公式解读_伯努利分布
2026/7/17 9:57:25 网站建设 项目流程

朴素贝叶斯公式

P ( y ∣ x ) = P ( y ) ⋅ P ( x ∣ y ) P ( x ) P(y|x) = \cfrac{P(y) \cdot P(x|y)}{P(x)}P(yx)=P(x)P(y)P(xy)

  • x xx:代表特征,可以有多个特征,但是每个特征的取值只有0和1

  • P ( y ) P(y)P(y):类别的先验概率

  • P ( x ∣ y ) P(x|y)P(xy):针对每一个类别,记录每一个特征出现(取值为1)的概率

  • P ( y ∣ x ) P(y|x)P(yx):每个类别的后验概率,选择后验概率最大的类别作为预测结果

详细计算过程

准备训练数据

邮件编号是否包含免费是否包含中奖是否包含发票类别(标签)
1110垃圾邮件
2101垃圾邮件
3111垃圾邮件
4010垃圾邮件
5100垃圾邮件
6000正常邮件
7001正常邮件
8100正常邮件
9000正常邮件
10010正常邮件

按类别分组统计:垃圾邮件组

邮件编号是否包含免费是否包含中奖是否包含发票类别(标签)
1110垃圾邮件
2101垃圾邮件
3111垃圾邮件
4010垃圾邮件
5100垃圾邮件

按类别分组统计:正常邮件组

邮件编号是否包含免费是否包含中奖是否包含发票类别(标签)
6000正常邮件
7001正常邮件
8100正常邮件
9000正常邮件
10010正常邮件

计算条件概率

对于垃圾邮件类别

  • 特征1(免费):在5封垃圾邮件中,有4封包含"免费"

P ( 免费 = 1 ∣ 垃圾邮件 ) = 4 5 = 0.8 P(免费=1|垃圾邮件)=\cfrac{4}{5}=0.8P(免费=1∣垃圾邮件)=54=0.8

  • 特征2(中奖):在5封垃圾邮件中,有3封包含"中奖"

P ( 中奖 = 1 ∣ 垃圾邮件 ) = 3 5 = 0.6 P(中奖=1|垃圾邮件)=\cfrac{3}{5}=0.6P(中奖=1∣垃圾邮件)=53=0.6

  • 特征3(发票):在5封垃圾邮件中,有2封包含"发票"

P ( 发票 = 1 ∣ 垃圾邮件 ) = 2 5 = 0.4 P(发票=1|垃圾邮件)=\cfrac{2}{5}=0.4P(发票=1∣垃圾邮件)=52=0.4

对于正常邮件类别

  • 特征1(免费):在5封垃圾邮件中,有1封包含"免费"

P ( 免费 = 1 ∣ 垃圾邮件 ) = 1 5 = 0.2 P(免费=1|垃圾邮件)=\cfrac{1}{5}=0.2P(免费=1∣垃圾邮件)=51=0.2

  • 特征2(中奖):在5封垃圾邮件中,有1封包含"中奖"

P ( 中奖 = 1 ∣ 垃圾邮件 ) = 1 5 = 0.2 P(中奖=1|垃圾邮件)=\cfrac{1}{5}=0.2P(中奖=1∣垃圾邮件)=51=0.2

  • 特征3(发票):在5封垃圾邮件中,有1封包含"发票"

P ( 发票 = 1 ∣ 垃圾邮件 ) = 1 5 = 0.2 P(发票=1|垃圾邮件)=\cfrac{1}{5}=0.2P(发票=1∣垃圾邮件)=51=0.2

整理成条件概率表P ( x ∣ y ) P(x|y)P(xy)

特征P(特征=1|垃圾邮件)P(特征=1|正常邮件)
是否包含免费0.80.2
是否包含中奖0.60.2
是否包含发票0.40.2

模型计算过程

若存在以下新的样本数据:[ 1 , 0 , 1 ] [1,0,1][1,0,1],需要计算这个新的样本数据属于哪个类别

  • P ( y ) = P ( 垃圾邮件 ) = 5 10 = 0.5 P(y) = P(垃圾邮件) = \cfrac{5}{10} = 0.5P(y)=P(垃圾邮件)=105=0.5

  • 在朴素贝叶斯中,前提性假设特征之间是相互独立的,所以该样本数据为垃圾邮件的概率为
    P ( x ∣ y ) = P ( y ) P ( x ∣ y ) P ( x ) = P ( y ) P ( x 1 , x 2 , x 3 ∣ y ) P ( x ) = P ( y ) P ( x 1 ∣ y ) P ( x 2 ∣ y ) P ( x 3 ∣ y ) P ( x ) = P ( y ) P ( 1 ∣ y ) P ( 0 ∣ y ) P ( 1 ∣ y ) P ( x ) = P ( y ) P ( 免费 ∣ 垃圾邮件 ) P ( 未中奖 ∣ 垃圾邮件 ) P ( 发票 ∣ 垃圾邮件 ) P ( x ) = 0.5 ∗ 0.8 ∗ ( 1 − 0.6 ) ∗ 0.4 P ( x ) = 0.064 P ( x ) \begin{split} P(x|y) &= \cfrac{P(y)P(x|y)}{P(x)}\\ &= \cfrac{P(y)P(x_1,x_2,x_3|y)}{P(x)} \\ &= \cfrac{P(y)P(x_1|y)P(x_2|y)P(x_3|y)}{P(x)} \\ &= \cfrac{P(y)P(1|y)P(0|y)P(1|y)}{P(x)} \\ &= \cfrac{P(y)P(免费|垃圾邮件)P(未中奖|垃圾邮件)P(发票|垃圾邮件)}{P(x)} \\ &= \cfrac{0.5*0.8*(1-0.6)*0.4}{P(x)} \\ &= \cfrac{0.064}{P(x)} \\ \end{split}P(xy)=P(x)P(y)P(xy)=P(x)P(y)P(x1,x2,x3y)=P(x)P(y)P(x1y)P(x2y)P(x3y)=P(x)P(y)P(1∣y)P(0∣y)P(1∣y)=P(x)P(y)P(免费垃圾邮件)P(未中奖垃圾邮件)P(发票垃圾邮件)=P(x)0.50.8(10.6)0.4=P(x)0.064

  • 在朴素贝叶斯中,前提性假设特征之间是相互独立的,所以该样本数据为正常邮件的概率为
    P ( x ∣ y ) = P ( y ) P ( x ∣ y ) P ( x ) = P ( y ) P ( x 1 , x 2 , x 3 ∣ y ) P ( x ) = P ( y ) P ( x 1 ∣ y ) P ( x 2 ∣ y ) P ( x 3 ∣ y ) P ( x ) = P ( y ) P ( 1 ∣ y ) P ( 0 ∣ y ) P ( 1 ∣ y ) P ( x ) = P ( y ) P ( 免费 ∣ 正常邮件 ) P ( 未中奖 ∣ 正常邮件 ) P ( 发票 ∣ 正常邮件 ) P ( x ) = 0.5 ∗ 0.2 ∗ ( 1 − 0.2 ) ∗ 0.2 P ( x ) = 0.016 P ( x ) \begin{split} P(x|y) &= \cfrac{P(y)P(x|y)}{P(x)}\\ &= \cfrac{P(y)P(x_1,x_2,x_3|y)}{P(x)} \\ &= \cfrac{P(y)P(x_1|y)P(x_2|y)P(x_3|y)}{P(x)} \\ &= \cfrac{P(y)P(1|y)P(0|y)P(1|y)}{P(x)} \\ &= \cfrac{P(y)P(免费|正常邮件)P(未中奖|正常邮件)P(发票|正常邮件)}{P(x)} \\ &= \cfrac{0.5*0.2*(1-0.2)*0.2}{P(x)} \\ &= \cfrac{0.016}{P(x)} \\ \end{split}P(xy)=P(x)P(y)P(xy)=P(x)P(y)P(x1,x2,x3y)=P(x)P(y)P(x1y)P(x2y)P(x3y)=P(x)P(y)P(1∣y)P(0∣y)P(1∣y)=P(x)P(y)P(免费正常邮件)P(未中奖正常邮件)P(发票正常邮件)=P(x)0.50.2(10.2)0.2=P(x)0.016

  • 由于P ( x ) P(x)P(x)在垃圾邮件和正常邮件的计算过程中是相同的,所以该样本数据为垃圾邮件的概率可以看做为0.064,为正常邮件的概率可以看做为0.016,由于0.064 > 0.016 0.064>0.0160.064>0.016,所以该数据被判定为垃圾邮件

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询