美文网首页Web前端之路机器学习
朴素贝叶斯法(naive Bayes)

朴素贝叶斯法(naive Bayes)

作者: 大雄的学习人生 | 来源:发表于2018-08-21 17:34 被阅读2次

    朴素贝叶斯的英文叫做 naive Bayes,换句话说就是“天真贝叶斯”,它之所以天真,是因为它认为所有的特征条件都是都是独立的,也就是说:
    \begin{array} \\ P(X = x | Y = c_k) \\ = P(X^{(1)} = x^{(1)}, X^{(2)} = x^{(2)}, ..., X^{(n)} = x^{(n)} | Y = c_k) \\ = \prod_{n=1}^N {P(X^{(n)} = x^{(n)} | Y = c_k)} \end{array}
    虽然这种假设在现实情况中是很难成立的,但是在特征条件相关性很小时,朴素贝叶斯法就能获得不错的结果。

    算法释义

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

    算法步骤

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

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

    (3) 取最大的后验概率对应的 y 作为结果:
    y = arg \max_{c_k} {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 = c_k) = \frac {\sum_{n = 1}^N I(y_n = c_k) } {N},k = 1,2,...,K \\ P(X^{(j)} = a_{jl} | Y = c_k) = \frac {\sum_{n = 1}^N I(x_n^{(l)} = a_{jl}, y_n = c_k) } {P(Y = c_k) * N} \\ j = 1,2,...,J; l = 1,2,...,S_j; k=1,2,...,K \end{array}

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

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


    参考文献

    《统计学习方法》,李航

    相关文章

      网友评论

        本文标题:朴素贝叶斯法(naive Bayes)

        本文链接:https://www.haomeiwen.com/subject/xuidiftx.html