机器学习中的朴素贝叶斯

朴素贝叶斯

1、概述+推导

先验概率:基于统计的概率,是基于以往历史经验和分析得到的结果,不需要依赖当前发生的条件。

后验概率:从条件概率而来,由因推果,基于当下发生的事件计算之后的概率,依赖于当前发生的条件。

条件概率:记事件A发生的概率为P(A),事件B发生的概率为P(B),则B事件发生的前提下,A事件发生的概率为P(A|B)。
P ( A ∣ B ) = P ( A B ) P ( B ) P(A|B)=\frac{P(AB)}{P(B)} P(A∣B)=P(B)P(AB)

贝叶斯公式就是基于条件概率通过P(B|A)来求解P(A|B):
P ( A ∣ B ) = P ( B ∣ A ) × P ( A ) P ( B ) P(A|B)=\frac{P(B|A)×P(A)}{P(B)} P(A∣B)=P(B)P(B∣A)×P(A)

而朴素贝叶斯就是假设事件(特征)之间没有联系,给定训练数据集,其中每个样本x都包括n维特征,也就是x={x1,x2,x3,...,xn},有k种类别即y={y1,y2,y3,...,yk},对于给定的样本,判断属于什么标记的类别,根据贝叶斯定理可以获得P(yk|x)
P ( y k ∣ x ) = P ( x ∣ y k ) × P ( y k ) ∑ k P ( x ∣ y k ) × P ( y k ) P(y_k|x)=\frac{P(x|y_k)×P(y_k)}{\sum_kP(x|y_k)×P(y_k)} P(yk∣x)=∑kP(x∣yk)×P(yk)P(x∣yk)×P(yk)

而朴素贝叶斯对条件概率分布做出了独立性的假设,所以每个特征相互独立,此时条件概率可以转化为:
P ( x ∣ y k ) = P ( x 1 , x 2 , . . . , x n ∣ y k ) = ∏ i = 1 n P ( x i ∣ y k ) P(x|y_k)=P(x_1,x_2,...,x_n|y_k)=\prod_{i=1}^{n}P(x_i|y_k) P(x∣yk)=P(x1,x2,...,xn∣yk)=i=1∏nP(xi∣yk)

将此式带入到上述的贝叶斯公式中得出:
P ( y k ∣ x ) = P ( y k ) × ∏ i = 1 n P ( x i ∣ y k ) ∑ k P ( y k ) × ∏ i = 1 n P ( x i ∣ y k ) P(y_k|x)=\frac{P(y_k)×\prod_{i=1}^{n}P(x_i|y_k)}{\sum_kP(y_k)×\prod_{i=1}^{n}P(x_i|y_k)} P(yk∣x)=∑kP(yk)×∏i=1nP(xi∣yk)P(yk)×∏i=1nP(xi∣yk)
适用范围:

  • 特征之间是条件独立的情况下,否则分类效果不好,朴素就是指条件独立
  • 主要被使用在文档分类中

常见模型:

  • 高斯模型:处理特征是连续型变量的情况
  • 多项式模型:最常见,要求特征是离散数据
  • 伯努利模型:要求特征是离散的,且为布尔类型,即true和false,或者1和0

2、拉普拉斯平滑

主要是为了解决零概率的情况,所以在分子和分母分别加上一个数值,每个分量x的计数加一造成的概率变化几乎可以忽略不记,却可以有效的避免零概率事件。
P ( A ∣ B ) = N i + α N + α m α :拉普拉斯平滑系数,一般指定为 1 N i : A 中符合条件 B 的样本数量 N :符合条件 C 的所有样本数量 m :所有独立样本的总数 P(A|B)=\frac{N_i+α}{N+αm}\\ α:拉普拉斯平滑系数,一般指定为1\\ N_i:A中符合条件B的样本数量\\ N:符合条件C的所有样本数量\\ m:所有独立样本的总数 P(A∣B)=N+αmNi+αα:拉普拉斯平滑系数,一般指定为1Ni:A中符合条件B的样本数量N:符合条件C的所有样本数量m:所有独立样本的总数

3、相关api

导包:

from sklearn.naive_bayes import MultinomialNB

调用:

MultinomialNB(alpha = 1.0)

alpha:拉普拉斯平滑系数

4、优缺点

优点:

  • 朴素贝叶斯模型有稳定的分类效率。
  • 对小规模的数据表现很好,能处理多分类任务,适合增量式训练,尤其是数据量超出内存时,可以一批批的去增量训练。
  • 对缺失数据不太敏感,算法也比较简单,常用于文本分类。

缺点:

  • 需要知道先验概率,且先验概率很多时候取决于假设,假设的模型可以有很多种,因此在某些时候会由于假设的先验模型的原因导致预测效果不佳。
  • 对输入数据的表达形式很敏感(离散、连续,值极大极小之类的)。
相关推荐
啊阿狸不会拉杆2 小时前
《机器学习》第 1 章 - 机器学习概述
人工智能·机器学习·ai·ml
咚咚王者2 小时前
人工智能之核心基础 机器学习 第十八章 经典实战项目
人工智能·机器学习
DuHz2 小时前
矩阵束法(Matrix Pencil)用于 FMCW 雷达干扰抑制:论文精读
人工智能·机器学习·矩阵
编程小风筝2 小时前
机器学习和稀疏建模的应用场景和优势
人工智能·机器学习
Kakaxiii2 小时前
【2025.8 npj】图检索增强的大型语言模型用于面部表型相关的罕见遗传疾病
人工智能·语言模型·自然语言处理
程序员小嬛2 小时前
(TETCI 2024) 从 U-Net 到 Transformer:即插即用注意力模块解析
人工智能·深度学习·机器学习·transformer
SEO_juper3 小时前
生成式引擎优化(GEO)终极指南:优化品牌在对话式AI中的呈现与推荐
人工智能·chatgpt·seo·geo·数字营销
小程故事多_803 小时前
AI Agent进阶架构:用渐进式披露驯服复杂性
人工智能·架构
人工智能AI技术4 小时前
【Agent从入门到实践】10 决策模块:Agent如何“思考问题”
人工智能
qq_527887875 小时前
联邦经典算法Fedavg实现
人工智能·深度学习