victory的博客

长安一片月,万户捣衣声

0%

机器学习 | 朴素贝叶斯

朴素贝叶斯

朴素贝叶斯算法(Naive Bayes)是有监督(supervised)的学习算法,解决的是分类问题(例如:客户是否流失、是否值得投资、信用等级评定等多分类问题)

朴素贝叶斯理论

朴素贝叶斯理论的核心思想:选择具有最高概率的决策

假设现在我们用p1(x,y)表示数据点(x,y)属于类别1的概率,用p2(x,y)表示数据点(x,y)属于类别2的概率,那么对于一个新的数据点,可以用以下规则来进行判断:

  • 如果p1(x,y) > p2(x,y),那么类别为1
  • 如果p1(x,y) < p2(x,y),那么类别为2
  • 条件概率(Conditional probability)

    概念

    条件概率指在事件B发生的情况下,事件A发生的概率,用P(A|B)来表示。

    条件概率计算公式

    P(A|B)=P(B|A)P(A)/P(B)

    全概率公式


    全概率公式:

    条件概率的另一种写法:

    贝叶斯推断

    对条件概率公式进行变形,得到:

    其中,P(A)称为“先验概率”(Prior probability),即在B事件发生之前,我们对A事件概率的一个判断。

    P(A|B)称为“后验概率”,即在B事件发生之后,我们对A事件概率的重新判断。

    P(B|A)/P(B)称为“可能性函数”,即调整因子,使得预估概率更接近真实概率。可能性函数>1:意味着先验概率被增强,事件A发生的可能性变大;可能性函数=1:意味着B事件无助于判断事件A的可能性;可能性函数<1:意味着先验概率被削弱,事件A的可能性变小

    因此,我们可以把条件概率理解成:
    后验概率 = 先验概率 * 调整因子

    贝叶斯推断的含义:我们先预估一个“先验概率”,然后加入实验结果,看这个实验结果到底是增强还是削弱了“先验概率”,由此得到更接近事实的”后验概率”

    朴素贝叶斯推断

    贝叶斯和朴素贝叶斯的概念是不同的,区别就在于“朴素”二字,朴素贝叶斯对条件概率分布做了条件独立性的假设。

    假设有n个特征:

    由于每个特征都是独立的,故:

    朴素贝叶斯改进之拉普拉斯平滑

    1.利用贝叶斯分类器进行分类时,要计算多个概率的乘积,如果其中有一个概率值为0,那么最后的结果为0。
    solution:拉普拉斯平滑(Laplace Smoothing)-加一平滑(比较常用的平滑方法,可以解决0概率问题)
    2.很多很小的数相乘,造成下溢出
    solution:可以通过求对数避免下溢出或浮点数舍入导致的错误

    总结

    朴素贝叶斯推断的一些优点:

  • 生成式模型,通过计算概率来进行分类,可以用来处理多分类问题
  • 对小规模数据表现很好,适合多分类任务,适合增量式训练,算法也比较简单
  • 简单易懂、学习效率高,在某些领域的分类问题中能够与决策树、神经网络相媲美
  • 朴素贝叶斯推断的一些缺点:

  • 对输入数据的表现形式敏感
  • 由于朴素贝叶斯的“朴素”特点(算法以自变量之间的独立性(条件特征独立)和连续变量的正态性假设为前提),所以会带来一些准确率上的损失
  • 需要计算先验概率,分类决策存在错误率
  • 参考资源1
    参考资源2