朴素贝叶斯
-
- 一、 理论
-
- 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(A∣B)=P(B)P(B∣A)⋅P(A)
其中:
- P ( A ∣ B ) \ P(A|B) P(A∣B) 表示在事件 B \ B B发生的条件下,事件 A \ A A发生的概率;
- P ( B ∣ A ) \ P(B|A) P(B∣A) 表示在事件 A \ A A发生的条件下,事件 B \ B B发生的概率;
- 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(A∣B) 是指在事件 B \ B B发生的条件下,事件 A \ A A发生的概率。
P ( B ∣ A ) \ P(B|A) P(B∣A) 是指在事件 A \ A A发生的条件下,事件 B \ B B发生的概率。
乘法法则:
两个事件A和B同时发生的概率 P ( A ∩ B ) \ P(A∩B) P(A∩B) 可以由 P ( A ) \ P(A) P(A) 和 P ( B ∣ A ) \ P(B|A) P(B∣A)得出,即
P ( A ∩ B ) = P ( A ) ⋅ P ( B ∣ A ) \ P(A \cap B) = P(A) \cdot P(B|A) P(A∩B)=P(A)⋅P(B∣A)
同样地, P ( A ∩ B ) \ P(A∩B) P(A∩B) 也可以由 P ( B ) \ P(B) P(B) 和 P ( A ∣ B ) \ P(A|B) P(A∣B) 得出,即
P ( A ∩ B ) = P ( B ) ⋅ P ( A ∣ B ) \ P(A \cap B) = P(B) \cdot P(A|B) P(A∩B)=P(B)⋅P(A∣B)
接下来就可以进行贝叶斯定理的推导了。很简单,通过乘法公式易得如下式子:
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(B∣A)=P(B)⋅P(A∣B)
移项易得贝叶斯定理公式:
P ( A ∣ B ) = P ( B ∣ A ) ⋅ P ( A ) P ( B ) \ P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)} P(A∣B)=P(B)P(B∣A)⋅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,...,Xn∣Y)=P(X1∣Y)⋅P(X2