• 李航-统计学习方法-笔记-4:朴素贝叶斯


    朴素贝叶斯

    简介:朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于“特征条件独立”的假设学习输入/输出的联合概率分布。然后基于此模型,对给定输入x,利用贝叶斯定理求后验概率最大的y。

    朴素贝叶斯实现简单,学习与预测的效率都很高,是一种常用的方法。

    基本方法:朴素贝叶斯方法通过训练数据集学习联合概率分布(P(X, Y))。具体地,学习以下先验概率分布及条件概率分布,从而学习到联合概率分布。

    先验概率分布

    [P(Y=c_k), k = 1,2, ..., K ]

    条件概率分布

    [P(X=x | Y = c_k) = P( X = (x^{(1)}, x^{(2)}, ..., x^{(n)}) | Y = c_k), k = 1,2, ..., K ]

    当时条件概率分布中有指数级数量的参数,其估计实际是不可行的。假设(x^{(j)})可取值(S_j)个,那么参数个数为(Kprod_{j=1}^{n} S_j)

    特征条件独立的假设:朴素贝叶斯假设“用于分类的特征在类确定的条件下是条件独立的”。这是一个较强的假设,它使得算法变得简单(因此称为“朴素”),但有时会牺牲一定的分类准确率。

    [egin{split}P(X= x | Y = c_k) &= P(x^{(1)}, x^{(2)}, ..., x^{(n)} | Y = c_k) \ &= prod_{j=1}^{n} P(X^{(j)} = x^{(j)} | Y = c_k) end{split} ]

    朴素贝叶斯分类

    贝叶斯定理

    [egin{split} P(Y | X) &= frac{P(Y) P(X|Y)}{P(X)} \ &= frac{P(Y) P(X|Y)}{sum_YP(Y) P(X|Y)}end{split} ]

    分类
    分类时,对给定的输入(x),通过学习到的模型计算后验概率分布(P(Y=c_k | X = x)),将后验概率最大的类作为(x)的类输出。

    [egin{split} P(Y=c_k | X=x) &= frac{P(X = x | Y = c_k) P(Y = c_k)}{P(X = x)} \ &= frac{P(X = x | Y = c_k) P(Y = c_k)}{sum_k P(X = x | Y = c_k) P(Y = c_k)} \ &= frac{P(Y = c_k) prod_j P(X^{(j)}=x^{(j)} | Y = c_k)}{sum_k P(Y = c_k) prod_j P(X^{(j)}=x^{(j)} | Y = c_k)} end{split}]

    于是朴素贝叶斯分类器可表示为

    [y = f(x) = arg max_{c_k} P(Y = c_k | X = x) ]

    注意到分母对所有(c_k)都相同,可以去掉,最终有:

    [y = arg max_{c_k} P(Y = c_k) prod_j P(X^{(j)}=x^{(j)} | Y = c_k) ]

    极大似然估计

    极大似然估计:利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值,是一种参数估计方法。

    朴素贝叶斯中,学习意味着(P(Y=c_k))(P(X^{(j)} = x^{(j)}| Y = c_k))
    可以用极大似然估计来估计相应的概率。

    [P(Y=c_k ) = frac{sum_{i=1}^{N} I(y_i = c_k)}{N} ]

    设第(j)个特征(x^{(j)})可能取值的集合为({a_{j1}, a_{j2}, ..., a_{jS_j}})

    [P(X^{(j)} = a_{jl} | Y = c_k) = frac{sum_{i=1}^{N} I(x_i^{(j)} = a_{jl}, y_i = c_k)}{sum_{i=1}^{N}I(y_i = c_k)} ]

    贝叶斯估计:极大似然估计可能会出现所要估计的概率值为0的情况。这时会影响到后验概率的计算结果,使分类产生偏差。解决这一问题的方法是采用贝叶斯估计。

    [P_{lambda}(Y = c_k) = frac{sum_{i=1}^{N} I(y_i = c_k) + lambda}{N + k lambda} ]

    [P(X^{(j)} = a_{jl} | Y = c_k) = frac{sum_{i=1}^{N} I(x_i^{(j)} = a_{jl}, y_i = c_k) + lambda}{sum_{i=1}^{N}I(y_i = c_k) + S_j lambda} ]

    (lambda=0)时称为极大似然估计,(lambda=1)时称为拉普拉斯平滑。

  • 相关阅读:
    Nginx中如何配置中文域名?
    VS2012找不到EF框架实体模型的解决方法
    来自一位家长的电话
    孩子大了真是不好管了
    springboot项目不加端口号也可以访问项目的方法
    分享几个上机案例题
    今晚在学校值班……
    3班的第二次模拟面试
    Sword 09
    Sword 06
  • 原文地址:https://www.cnblogs.com/liaohuiqiang/p/10979742.html
Copyright © 2020-2023  润新知