06. 朴素贝叶斯
一、朴素贝叶斯
朴素贝叶斯(naive Bayes)法是一种基于概率的机器学习方法。它基于贝叶斯定理,并假设特征之间相互独立。朴素贝叶斯法实现简单,学习与预测的效率都很高。朴素贝叶斯的核心是贝叶斯定理:
\[P(Y|X) = \frac{P(X|Y)P(Y)}{P(X)}
\]
其中,\(P(Y|X)\) 是 后验概率,给定特征 X 时类 Y 的概率。\(P(X|Y)\) 是 条件概率,类 Y 包含特征 X 的概率。\(P(Y)\) 是 先验概率,类 Y 的概率。\(P(X)\) 是 特征 X 的概率。
例如,我们判断一封邮件是否是垃圾邮件(Y = 垃圾邮件,X = 邮件内包含免费这个词):
- \(P(Y|X)\):邮件包含免费这个词时是垃圾邮件的概率。
- \(P(X|Y)\):垃圾邮件中包含免费这个词的概率。
- \(P(Y)\):邮件是垃圾邮件的概率。
- \(P(X)\):邮件包含免费这个词的概率。
朴素贝叶斯假设所有特征相互独立,这使得我们无需考虑特征之间的复杂的依赖关系,加大简化了条件概率的计算:
\[P(X_{1},X_{2},...,X_{n}|Y) = P(X_{1}|Y).P(X_{2}|Y)...P(X_{n}|Y) = \prod\limits_{j=1}^{n}{P(x_{j}|Y)}
\]
在朴素贝叶斯法中,学习意味着估计先验概率和条件概率,可以用用极大似然估计法估计相应的概率。
先验概率 \(P(Y=C_{k})\)(Y 为类 \(C_{k}\))的极大似然估计:
\[P(Y = C_{k}) = \frac{\sum_{i=1}^{N}{I(y_{i}=C_{k})}}{N}, k = 1, 2, ..., N
\]
条件概率 \(P(X_{j} = a_{jl}|Y = C_{k})\)(Y 为类 \(C_{k}\) 时第 j 个特征 \(X_{j}\) 为 \(a_{jl}\))的极大似然估计:
\[P(X_{j} = a_{jl}|Y = C_{k}) = \frac{\sum_{i=1}^{N}I({x_{ji} = a_{jl}, y_{i} = C_{k}})}{\sum_{i=1}^{N}{I(y_{i}=C_{k})}} \\
J = 1,2,..., N; l = 1,2,...L; k = 1,2,...,K
\]
其中 I 为示性函数,取值为 1 或 0。
使用极大似然估计可能会出现所要估计的概率值为 0 的情况,这会影响到后验概率的计算结果,使分类产生偏差。我们可以使用贝叶斯估计来解决这个问题。
先验概率的贝叶斯估计:
\[P_{\lambda}(Y = C_{k}) = \frac{\sum_{i=1}^{N}{I(y_{i}=C_{k}) + \lambda}}{N + K\lambda}, k = 1, 2, ..., N
\]
条件概率的贝叶斯估计:
\[P_{\lambda}(X_{j} = a_{jl}|Y = C_{k}) = \frac{\sum_{i=1}^{N}I({x_{ji} = a_{jl}, y_{i} = C_{k}}) + \lambda}{\sum_{i=1}^{N}{I(y_{i}=C_{k}) + L\lambda}} \\
J = 1,2,..., N; l = 1,2,...L; k = 1,2,...,K
\]
式中 \(\lambda \ge 0\),当 \(\lambda = 0\) 时就是极大似然估计,常取 \(\lambda = 1\),这时称为 拉普拉斯平滑。

浙公网安备 33010602011771号