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\),这时称为 拉普拉斯平滑

posted @ 2026-01-15 22:28  星光映梦  阅读(0)  评论(0)    收藏  举报