朴素贝叶斯法(naive Bayes)

Posted 大雄的学习人生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了朴素贝叶斯法(naive Bayes)相关的知识,希望对你有一定的参考价值。

朴素贝叶斯的英文叫做 naive Bayes,换句话说就是“天真贝叶斯”,它之所以天真,是因为它认为所有的特征条件都是都是独立的,虽然这种假设在现实情况中是很难成立的,但是在特征条件相关性很小时,朴素贝叶斯法就能获得不错的结果。

算法释义

朴素贝叶斯法首先在特征条件独立假设的前提下学得输入/输出的联合概率分布,然后利用贝叶斯定理求出所有可能的输出 ck 后验概率,从中取最大的结果作为输出。

算法步骤

输入:训练数据集 T,输入实例 x 输出:实例 x 的分类 (1) 计算先验概率和条件概率: $$ \begin{array} \ P(Y = ck) \ P(X^{(j)} = a{jl} | Y = ck) \ j = 1,2,...,J; l = 1,2,...,Sj; k=1,2,...,K \end{array} $$

(2) 计算所有 y 的后验概率: $$ P(Y = ck, X = x) = P(Y = ck) \prod{j=1}^J P(X^{(j)} = x^{(j)} | Y = ck), k = 1,2,...,K $$

(3) 取最大的后验概率对应的 y 作为结果: $$ y = arg \max{ck} {P(Y = c_k, X = x)} $$


重要概念

贝叶斯定理

$$ P (A | B) = \frac {P(B | A) P(A)} {P(B)} $$ 经典的条件概率公式,相关的介绍网上很多,这里就不详述了。

特征条件独立假设

即假设特征条件(输入的不同维度)是完全独立的,即: $$ P(X^{(i)}, X^{(j)}) = P(X^{(i)})P(X^{(j)}),i ≠ j $$

参数估计

在朴素贝叶斯法中,学习模型意味着估计先验概率 P(Y = ck) 和条件概率 P(X(j) = x(j) | Y = ck),下面介绍两种估计方法。

极大似然估计

$$ \begin{array} \ P(Y = ck) = \frac {\sum{n = 1}^N I(yn = ck) } {N},k = 1,2,...,K \ P(X^{(j)} = a{jl} | Y = ck) = \frac {\sum{n = 1}^N I(xn^{(l)} = a{jl}, yn = ck) } {P(Y = ck) * N} \ j = 1,2,...,J; l = 1,2,...,S_j; k=1,2,...,K \end{array} $$

贝叶斯估计(拉普拉斯平滑)

在极大似然估计中,很有可能出现条件概率为零的情况,这样会导致其后验概率为零,很容易造成偏差,因此这里对极大似然估计法稍作改动,即贝叶斯估计: $$ \begin{array} \ P(X^{(j)} = a{jl} | Y = ck) = \frac {\sum{n = 1}^N I(xn^{(l)} = a{jl}, yn = ck) + λ } {P(Y = ck) * N + Sjλ} \ j = 1,2,...,J; l = 1,2,...,Sj; k=1,2,...,K;λ>0 \end{array} $$ 当 λ = 1时即拉普拉斯平滑。


参考文献

《统计学习方法》,李航

由于markdown的公式无法转成html,如需查看公式,请点击下方阅读全文


以上是关于朴素贝叶斯法(naive Bayes)的主要内容,如果未能解决你的问题,请参考以下文章

资源分享今日学习打卡--朴素贝叶斯法 (naive bayes classifier)

朴素贝叶斯(naive bayes)

朴素贝叶斯(Naive Bayes)算法

朴素贝叶斯算法(Naive Bayes)

第10天:NLP补充——朴素贝叶斯(Naive-Bayes)

朴素贝叶斯(Naive Bayes)模型