朴素贝叶斯法(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)