机器学习——朴素贝叶斯(Naive Bayes)

朴素贝叶斯

    • 一、 理论
      • 1.1 贝叶斯定理
        • 1.1.1 数学定义
        • 1.1.2 推导过程
      • 1.2 朴素贝叶斯算法
        • 1.2.1 理论原理
        • 1.2.2 推导过程
        • 1.2.3 算法流程
      • 1.3 朴素贝叶斯模型
        • 1.3.1 高斯朴素贝叶斯
          • 1.3.1.1 推导过程
        • 1.3.2 多项式朴素贝叶斯
        • 1.3.3 伯努利朴素贝叶斯
      • 1.4 拉普拉斯平滑系数
        • 1.4.1 原理
        • 1.4.2 推导过程
      • 1.5 朴素贝叶斯的优缺点及应用
        • 1.5.1 优缺点
          • 1.5.1.1 优点
          • 1.5.1.2 缺点
        • 1.5.2 应用
      • 1.6 朴素贝叶斯与其他算法
    • 二、代码实现
      • 2.1 数据集准备
      • 2.2 导入库
      • 2.3 数据集划分和标准化
      • 2.4 朴素贝叶斯分类器
      • 2.5 训练模型
      • 2.6 模型评估
    • 三、实验结果分析
      • 3.1 结果分析
      • 3.2 实验小结

一、 理论

1.1 贝叶斯定理

要了解朴素贝叶斯算法,首先就要了解贝叶斯定理。贝叶斯定理是英国数学家托马斯·贝叶斯在18世纪提出的。他是一位神职人员,但同时也是个热衷于研究概率和统计理论的数学家。他提出的这个定理,最初是为了用数学的方法来探讨上帝的存在,但没想到后来它在科学研究和实际应用中发挥了巨大的作用。下面介绍以下贝叶斯定理的数学原理和推导公式。

1.1.1 数学定义

贝叶斯定理的数学定义可以用这个公式来表示:

  P ( A ∣ B ) = P ( B ∣ A ) ⋅ P ( A ) P ( B ) \ P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)}  P(AB)=P(B)P(BA)P(A)

其中:

  1.   P ( A ∣ B ) \ P(A|B)  P(AB) 表示在事件   B \ B  B发生的条件下,事件   A \ A  A发生的概率;
  2.   P ( B ∣ A ) \ P(B|A)  P(BA) 表示在事件   A \ A  A发生的条件下,事件   B \ B  B发生的概率;
  3.   P ( A ) \ P(A)  P(A)   P ( B ) \ P(B)  P(B) 分别表示事件   A \ A  A和事件   B \ B  B单独发生的概率。

这个定理的核心思想就是,当我们知道了某个条件事件   B \ B  B已经发生,我们可以根据这个条件来更新事件   A \ A  A发生的概率。也就是说,我们可以利用已知的信息(条件概率)来推测未知的概率

1.1.2 推导过程

推导之前先了解一些数学概念。

条件概率

  P ( A ∣ B ) \ P(A|B)  P(AB) 是指在事件   B \ B  B发生的条件下,事件   A \ A  A发生的概率。
  P ( B ∣ A ) \ P(B|A)  P(BA) 是指在事件   A \ A  A发生的条件下,事件   B \ B  B发生的概率。

乘法法则

两个事件A和B同时发生的概率   P ( A ∩ B ) \ P(A∩B)  P(AB) 可以由   P ( A ) \ P(A)  P(A)   P ( B ∣ A ) \ P(B|A)  P(BA)得出,即
  P ( A ∩ B ) = P ( A ) ⋅ P ( B ∣ A ) \ P(A \cap B) = P(A) \cdot P(B|A)  P(AB)=P(A)P(BA)
同样地,   P ( A ∩ B ) \ P(A∩B)  P(AB) 也可以由   P ( B ) \ P(B)  P(B)   P ( A ∣ B ) \ P(A|B)  P(AB) 得出,即
  P ( A ∩ B ) = P ( B ) ⋅ P ( A ∣ B ) \ P(A \cap B) = P(B) \cdot P(A|B)  P(AB)=P(B)P(AB)

接下来就可以进行贝叶斯定理的推导了。很简单,通过乘法公式易得如下式子:

P ( A ) ⋅ P ( B ∣ A ) = P ( B ) ⋅ P ( A ∣ B ) P(A) \cdot P(B|A) = P(B) \cdot P(A|B) P(A)P(BA)=P(B)P(AB)

移项易得贝叶斯定理公式:
  P ( A ∣ B ) = P ( B ∣ A ) ⋅ P ( A ) P ( B ) \ P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)}  P(AB)=P(B)P(BA)P(A)

1.2 朴素贝叶斯算法

介绍完贝叶斯定理,就可以更好地理解朴素贝叶斯算法了。朴素贝叶斯算法在20世纪50年代被正式提出,并在60年代被应用到文本检索领域。朴素贝叶斯是一种基于贝叶斯定理特征独立性假设的分类算法,具有坚实的数学基础和广泛的应用场景。在实际应用中,它表现出了很高的分类效率和准确性,成为了一种非常受欢迎的机器学习算法。下面介绍以下朴素贝叶斯算法地理论原理、推导过程和算法流程。

1.2.1 理论原理

朴素贝叶斯法是基于贝叶斯定理特征条件独立假设的分类方法。算法的基本思想是:对于给定的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。

贝叶斯定理:

首先,我们来看贝叶斯定理。这个定理上面已经阐述了很清楚了,它是用来描述两个条件概率之间的关系的,它告诉我们怎样根据新的证据来更新某个假设的概率。在朴素贝叶斯分类器中,这个“新的证据"通常就是我们要分类的对象的特征,而“假设”则是这个对象属于某个类别的概率

特征条件独立假设

特征独立假设是朴素贝叶斯分类器中的一个关键假设。这个假设认为给定目标值时,各个特征之间相互独立。换句话说,一个特征的出现概率与其他特征无关,只与类别有关。

数学上,如果   X 1 , X 2 , . . . , X n \ X_1, X_2, ..., X_n  X1,X2,...,Xn 是样本的   n \ n  n个特征,   Y \ Y  Y是目标变量(即样本所属的类别),那么特征独立假设可以表示为:

  P ( X 1 , X 2 , . . . , X n ∣ Y ) = P ( X 1 ∣ Y ) ⋅ P ( X 2 ∣ Y ) ⋅ . . . ⋅ P ( X n ∣ Y ) \ P(X_1, X_2, ..., X_n | Y) = P(X_1 | Y) \cdot P(X_2 | Y) \cdot ... \cdot P(X_n | Y)  P(X1,X2,...,XnY)=P(X1Y)P(X2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值