机器学习_朴素贝叶斯公式解读_多项式分布

朴素贝叶斯公式

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

  • xxx:代表特征,可以有多个特征,每个特征代表当前特征出现的次数

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

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

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

详细计算过程

准备训练数据

邮件编号 邮件内容 类别(标签)
1 win win win click here Spam(垃圾邮件)
2 click click win prize Spam(垃圾邮件)
3 meeting report tomorrow Ham(正常邮件)
4 report report meeting Ham(正常邮件)

构建全局词表

将全部邮件内容中的词汇去重,然后进行排列

词表=click,here,meeting,prize,report,tomorrow,win词表=click, here, meeting, prize, report, tomorrow, win词表=click,here,meeting,prize,report,tomorrow,win

将每封邮件转成"词频向量"

  • 邮件1(win win win click here)

    • click:1, here:1, meeting:0, prize:0, report:0, tomorrow:0, win:3

    • 向量 → 1, 1, 0, 0, 0, 0, 3

  • 邮件2(click click win prize)

    • click:2, here:0, meeting:0, prize:1, report:0, tomorrow:0, win:1

    • 向量 → 2, 0, 0, 1, 0, 0, 1

  • 邮件3(meeting report tomorrow)

    • click:0, here:0, meeting:1, prize:0, report:1, tomorrow:1, win:0

    • 向量 → 0, 0, 1, 0, 1, 1, 0

  • 邮件4(report report meeting)

    • click:0, here:0, meeting:1, prize:0, report:2, tomorrow:0, win:0

    • 向量 → 0, 0, 1, 0, 2, 0, 0

拉普拉斯平滑

词表大小 = 7,平滑后每个类别的"总词数"要加上词表大小。

  • Spam平滑总词数 = 9 + 7 = 16

  • Ham平滑总词数 = 6 + 7 = 13

计算条件概率

  • 对于垃圾邮件类别,统计每个特征出现的次数/平滑总词数

特征1(click):P(click∣垃圾邮件)=3+116=0.25P(click|垃圾邮件)=\cfrac{3+1}{16}=0.25P(click∣垃圾邮件)=163+1=0.25

特征2(here):P(here∣垃圾邮件)=1+116=0.125P(here|垃圾邮件)=\cfrac{1+1}{16}=0.125P(here∣垃圾邮件)=161+1=0.125

特征3(meeting):P(meeting∣垃圾邮件)=0+116=0.0625P(meeting|垃圾邮件)=\cfrac{0+1}{16}=0.0625P(meeting∣垃圾邮件)=160+1=0.0625

特征4(prize):P(prize∣垃圾邮件)=1+116=0.125P(prize|垃圾邮件)=\cfrac{1+1}{16}=0.125P(prize∣垃圾邮件)=161+1=0.125

特征5(report):P(report∣垃圾邮件)=0+116=0.0625P(report|垃圾邮件)=\cfrac{0+1}{16}=0.0625P(report∣垃圾邮件)=160+1=0.0625

特征6(tomorrow):P(tomorrow∣垃圾邮件)=1+116=0.125P(tomorrow|垃圾邮件)=\cfrac{1+1}{16}=0.125P(tomorrow∣垃圾邮件)=161+1=0.125

特征7(win):P(win∣垃圾邮件)=4+116=0.3125P(win|垃圾邮件)=\cfrac{4+1}{16}=0.3125P(win∣垃圾邮件)=164+1=0.3125

  • 对于正常邮件类别,统计每个特征出现的次数/平滑总词数

特征1(click):P(click∣垃圾邮件)=0+113=0.077P(click|垃圾邮件)=\cfrac{0+1}{13}=0.077P(click∣垃圾邮件)=130+1=0.077

特征2(here):P(here∣垃圾邮件)=0+113=0.077P(here|垃圾邮件)=\cfrac{0+1}{13}=0.077P(here∣垃圾邮件)=130+1=0.077

特征3(meeting):P(meeting∣垃圾邮件)=2+113=0.0231P(meeting|垃圾邮件)=\cfrac{2+1}{13}=0.0231P(meeting∣垃圾邮件)=132+1=0.0231

特征4(prize):P(prize∣垃圾邮件)=0+113=0.077P(prize|垃圾邮件)=\cfrac{0+1}{13}=0.077P(prize∣垃圾邮件)=130+1=0.077

特征5(report):P(report∣垃圾邮件)=3+113=0.308P(report|垃圾邮件)=\cfrac{3+1}{13}=0.308P(report∣垃圾邮件)=133+1=0.308

特征6(tomorrow):P(tomorrow∣垃圾邮件)=1+113=0.154P(tomorrow|垃圾邮件)=\cfrac{1+1}{13}=0.154P(tomorrow∣垃圾邮件)=131+1=0.154

特征7(win):P(win∣垃圾邮件)=0+113=0.077P(win|垃圾邮件)=\cfrac{0+1}{13}=0.077P(win∣垃圾邮件)=130+1=0.077

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

特征 P(特征|垃圾邮件) P(特征|正常邮件)
click 0.25 0.077
here 0.125 0.077
meeting 0.0625 0.231
prize 0.125 0.077
report 0.0625 0.308
tomorrow 0.0625 0.154
win 0.3125 0.077

模型计算过程

若存在以下新的样本数据:win win click report,转换为向量1,0,0,0,1,0,21, 0, 0, 0, 1, 0, 21,0,0,0,1,0,2,需要计算这个新的样本数据属于哪个类别。特别需要注意是,每个特征值代表的是这个特征出现的次数,而每个特征出现一次的频率为P(x∣y)P(x|y)P(x∣y),所以若是某个特征出现了kkk次,则P(x=k∣y)=P(x∣y)kP(x=k|y)=P(x|y)^kP(x=k∣y)=P(x∣y)k

  • P(y)=P(垃圾邮件)=24=0.5P(y) = P(垃圾邮件) = \cfrac{2}{4} = 0.5P(y)=P(垃圾邮件)=42=0.5

  • 在朴素贝叶斯中,前提性假设特征之间是相互独立的,所以该样本数据为垃圾邮件的概率为

    P(y∣x)=P(y)P(x∣y)P(x)=P(y)P(x1,x2,x3,x4,x5,x6,x7∣y)P(x)=P(y)P(x1∣y)P(x2∣y)P(x3∣y)P(x4∣y)P(x5∣y)P(x6∣y)P(x7∣y)P(x)=P(y)P(x1=1∣y)P(x2=0∣y)P(x3=0∣y)P(x4=0∣y)P(x5=1∣y)P(x6=0∣y)P(x7=2∣y)P(x)=P(y)P(x1∣y)1P(x2∣y)0P(x3∣y)0P(x4∣y)0P(x5∣y)1P(x6∣y)0P(x7∣y)2P(x)=0.5∗0.251∗0.1250∗0.06250∗0.1250∗0.06251∗0.06250∗0.31252P(x)=0.000763P(x) {\footnotesize \begin{equation*} \begin{split} P(y|x) &= \cfrac{P(y)P(x|y)}{P(x)}\\ &= \cfrac{P(y)P(x_1,x_2,x_3,x_4,x_5,x_6,x_7|y)}{P(x)} \\ &= \cfrac{P(y)P(x_1|y)P(x_2|y)P(x_3|y)P(x_4|y)P(x_5|y)P(x_6|y)P(x_7|y)}{P(x)} \\ &= \cfrac{P(y)P(x_1=1|y)P(x_2=0|y)P(x_3=0|y)P(x_4=0|y)P(x_5=1|y)P(x_6=0|y)P(x_7=2|y)}{P(x)} \\ &= \cfrac{P(y)P(x_1|y)^1P(x_2|y)^0P(x_3|y)^0P(x_4|y)^0P(x_5|y)^1P(x_6|y)^0P(x_7|y)^2}{P(x)} \\ &= \cfrac{0.5*0.25^1*0.125^0*0.0625^0*0.125^0*0.0625^1*0.0625^0*0.3125^2}{P(x)} \\ &= \cfrac{0.000763}{P(x)} \\ \end{split}\end{equation*} } P(y∣x)=P(x)P(y)P(x∣y)=P(x)P(y)P(x1,x2,x3,x4,x5,x6,x7∣y)=P(x)P(y)P(x1∣y)P(x2∣y)P(x3∣y)P(x4∣y)P(x5∣y)P(x6∣y)P(x7∣y)=P(x)P(y)P(x1=1∣y)P(x2=0∣y)P(x3=0∣y)P(x4=0∣y)P(x5=1∣y)P(x6=0∣y)P(x7=2∣y)=P(x)P(y)P(x1∣y)1P(x2∣y)0P(x3∣y)0P(x4∣y)0P(x5∣y)1P(x6∣y)0P(x7∣y)2=P(x)0.5∗0.251∗0.1250∗0.06250∗0.1250∗0.06251∗0.06250∗0.31252=P(x)0.000763

  • P(y)=P(正常邮件)=24=0.5P(y) = P(正常邮件) = \cfrac{2}{4} = 0.5P(y)=P(正常邮件)=42=0.5

  • 在朴素贝叶斯中,前提性假设特征之间是相互独立的,所以该样本数据为正常邮件的概率为

    P(y∣x)=P(y)P(x∣y)P(x)=P(y)P(x1,x2,x3,x4,x5,x6,x7∣y)P(x)=P(y)P(x1∣y)P(x2∣y)P(x3∣y)P(x4∣y)P(x5∣y)P(x6∣y)P(x7∣y)P(x)=P(y)P(x1=1∣y)P(x2=0∣y)P(x3=0∣y)P(x4=0∣y)P(x5=1∣y)P(x6=0∣y)P(x7=2∣y)P(x)=P(y)P(x1∣y)1P(x2∣y)0P(x3∣y)0P(x4∣y)0P(x5∣y)1P(x6∣y)0P(x7∣y)2P(x)=0.5∗0.0771∗0.0770∗0.2310∗0.0770∗0.3081∗0.1540∗0.0772P(x)=0.0000705P(x) {\footnotesize \begin{equation*} \begin{split} P(y|x) &= \cfrac{P(y)P(x|y)}{P(x)}\\ &= \cfrac{P(y)P(x_1,x_2,x_3,x_4,x_5,x_6,x_7|y)}{P(x)} \\ &= \cfrac{P(y)P(x_1|y)P(x_2|y)P(x_3|y)P(x_4|y)P(x_5|y)P(x_6|y)P(x_7|y)}{P(x)} \\ &= \cfrac{P(y)P(x_1=1|y)P(x_2=0|y)P(x_3=0|y)P(x_4=0|y)P(x_5=1|y)P(x_6=0|y)P(x_7=2|y)}{P(x)} \\ &= \cfrac{P(y)P(x_1|y)^1P(x_2|y)^0P(x_3|y)^0P(x_4|y)^0P(x_5|y)^1P(x_6|y)^0P(x_7|y)^2}{P(x)} \\ &= \cfrac{0.5*0.077^1*0.077^0*0.231^0*0.077^0*0.308^1*0.154^0*0.077^2}{P(x)} \\ &= \cfrac{0.0000705}{P(x)} \\ \end{split}\end{equation*} } P(y∣x)=P(x)P(y)P(x∣y)=P(x)P(y)P(x1,x2,x3,x4,x5,x6,x7∣y)=P(x)P(y)P(x1∣y)P(x2∣y)P(x3∣y)P(x4∣y)P(x5∣y)P(x6∣y)P(x7∣y)=P(x)P(y)P(x1=1∣y)P(x2=0∣y)P(x3=0∣y)P(x4=0∣y)P(x5=1∣y)P(x6=0∣y)P(x7=2∣y)=P(x)P(y)P(x1∣y)1P(x2∣y)0P(x3∣y)0P(x4∣y)0P(x5∣y)1P(x6∣y)0P(x7∣y)2=P(x)0.5∗0.0771∗0.0770∗0.2310∗0.0770∗0.3081∗0.1540∗0.0772=P(x)0.0000705

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

相关推荐
鱼宵7 分钟前
LangChain4j RAG 流水线:手写问答全流程,给 AI 开卷考试
大数据·人工智能·机器学习·langchain4j
AOI小白新手上路25 分钟前
深度学习项目模板与机器学习软件工程(MLSE)实践笔记
深度学习·机器学习·软件工程
haluhalu.44 分钟前
Agent = LLM + 上下文 + 工具(含观察 / 动作空间、ReAct 循环)
前端·javascript·人工智能·python·react.js·机器学习·个人开发
YOLO数据集集合3 小时前
小麦穗检测数据集 | 小麦穗检测 植物表型 密集目标检测 农业AI9182期
人工智能·yolo·目标检测·机器学习·目标跟踪·小麦穗
Rocky Ding*10 小时前
MOSS-VL技术原理深度解析:让视觉流持续进入生成过程,实时 Agent 才有架构基础
论文阅读·人工智能·深度学习·机器学习·aigc·多模态·ai-native
田里的水稻10 小时前
EP_ROS2的相机视频流传递说明
数码相机·机器学习
加强洁西卡10 小时前
【AI】机器学习常见的指标及其解释
人工智能·机器学习
面包狗AI4S11 小时前
【AI4S】生化环材高可信技术与产业周报(2026-10-03—2026-10-09)
人工智能·深度学习·机器学习·ai
田里的水稻11 小时前
EP_ROS框架---相机视频流交互二
人工智能·深度学习·数码相机·机器学习·迁移学习
Dfreedom.11 小时前
光谱定性分析中PCA、SVM与LDA方法的对比研究
机器学习·支持向量机·lda·pca·svm·化学计量学·光谱数据处理