美文网首页
【理论篇】贝叶斯算法应用(二)

【理论篇】贝叶斯算法应用(二)

作者: 山药鱼儿 | 来源:发表于2022-03-02 22:53 被阅读0次

连载的上一篇文章,我们在介绍贝叶斯拼写检查器的时候,得出了如下的正比公式:

P(h|D) ∝ P(h) * P(D|h)

即为了比较在输入错误的单词 D 的情况下,猜测用户可能输入 h 的概率大小,我们需要求得 P(h)P(D|h) 的概率。而关于比较 P(h) * P(D|h) 也就引出了我们接下来的 2 种模型比较理论:最大似然估计和奥卡姆剃刀。

最大似然估计

对于最大似然估计,最符合观测数据的最有优势。也就是输入 h 时错误地输入成了 D 的概率 P(D|h) 越大,越有优势。

举个极端的例子,掷一个硬币,观察到的是“正”,根据最大似然估计的精神,我们应该猜测这枚硬币掷出“正”的概率是 1,因为这个才是能最大化 P(D | h) 的那个猜测。

奥卡姆剃刀

对于奥卡姆剃刀而言,先验概率 P(h) 较大的模型优势越大。

假设有这样一个问题:如果平面上有 N 个点,近似构成一条直线,但并没有精确地位于一条直线上。这时我们既可以用直线来拟合,称之为 模型 1,也可以用二阶多项式曲线 模型 2 拟合,也可以用三阶多项式 模型 3...

特别地,用 N-1 阶多项式便能够保证肯定能完美通过 N 个数据点,也就是拟合所有数据点。那这些可能的模型之中到底哪个是最靠谱的呢?

如果使用奥卡姆剃刀:越是高阶的多项式越是不常见,我们可以很轻松的知道模型 N-1 阶多项式最不靠谱,这样的模型发生了严重的过拟合。

越是高阶的多项式越是不常见 这就是一个先验概率。

垃圾邮件过滤

接下来,我们再通过一个垃圾邮件过滤的实例来进一步理解贝叶斯公式、最大似然估计以及奥卡姆剃刀。

问题:给定一封邮件,判定它是否属于垃圾邮件。使用 D 来表示这封邮件,其中 DN 个单词组成。我们用 h+ 来表示垃圾邮件,h- 表示正常邮件。判断一封邮件是属于垃圾邮件还是正常邮件,也就是在比较 P(h+|D)P(h-|D) 那个概率大。

根据贝叶斯公式,可以将上述两个逆向概率转换为:

  • P(h+|D) = P(h+) * P(D|h+) / P(D)
  • P(h-|D) = P(h-) * P(D|h-) / P(D)

由于 P(D) 相同,所以只需要比较:

  • P(h+|D) ∝ P(h+) * P(D|h+)
  • P(h-|D) ∝ P(h-) * P(D|h-)

先验概率 P(h+)P(h-) 很容易就可以求出来,只需要计算一个邮件库里面垃圾邮件和正常邮件的比例就行了。下面,我们来 P(D|h+)P(D|h-) 的计算。

我们前面说 D 表示我们收到的邮件,由 N 个单词表示:d1, d2, d3,...dn,则 P(D|h+) = P(d1,d2,..,dn|h+)

P(d1,d2,..,dn|h+) 就是说在垃圾邮件当中出现跟我们目前这封邮件一模一样的一封邮件的概率是多大!因此,P(d1,d2,..,dn|h+) 又可以表示为 P(d1|h+) * P(d2|d1, h+) * P(d3|d2,d1,h+) *..

P(d1|h+) * P(d2|d1, h+) * P(d3|d2,d1,h+) *.. 公式求解起来显然是不现实的,我们可以利用朴素贝叶斯的思想假设单词 d1,d2,d3,...dn 之间相互独立,互补影响。那么 dn 出现也就和 dn - 1 出现毫无关系,因此可以将上式继续简化为 P(d1|h+) * P(d2|h+) * P(d3|h+) * ..

最后,对于 P(d1|h+) * P(d2|h+) * P(d3|h+) * .. 只要统计 dn 这个单词在垃圾邮件中出现的频率即可,即词频的统计。

注:朴素贝叶斯假设特征之间是独立,互不影响的。但实际上,特种之间是会存在一些联系的,只是我们会在联系非常小的情况下,忽略它。这样朴素贝叶斯的假设就可以简化和求解实际问题了。

相关文章

  • 【理论篇】贝叶斯算法应用(二)

    连载的上一篇文章,我们在介绍贝叶斯拼写检查器的时候,得出了如下的正比公式: P(h|D) ∝ P(h) * P(D...

  • 【理论篇】贝叶斯算法应用

    连载的上一篇文章,我们了解到了贝叶斯公式:P(A|B) = P(A) * P(B|A) / P(B) ,使用贝叶斯...

  • 04 贝叶斯算法 - 贝叶斯网络

    01 贝叶斯算法 - 朴素贝叶斯02 贝叶斯算法 - 案例一 - 鸢尾花数据分类03 贝叶斯算法 - 案例二 - ...

  • python实现贝叶斯推断——垃圾邮件分类

    理论 理论强推阮一峰大神的个人网站1.贝叶斯推断及其互联网应用(一):定理简介2.贝叶斯推断及其互联网应用(二):...

  • 短信分类中的分类算法—朴素贝叶斯算法

    naive_bayes 算法,又叫朴素贝叶斯算法,朴素:特征条件独立;贝叶斯:基于贝叶斯定理。 实际应用场景 文本...

  • 2019-01-28

    1 了解 高斯分布贝叶斯 , 多项式贝叶斯 伯努力贝叶斯的区别和应用场景 A B 贝叶斯算法: (在各个特征独立...

  • 【理论篇】贝叶斯算法概述

    贝叶斯介绍 贝叶斯是十八世纪英国伟大的数学家,贝叶斯算法源于他生前为解决 “逆概” 问题而写的一篇文章。 逆概问题...

  • 【理论】贝叶斯算法

    贝叶斯相关的理论来源于概率论 概率论关注的焦点是无处不在的可能性。 最开始接触贝叶斯算法时,总是搞不清楚几个概率的...

  • 朴素贝叶斯分类算法

    朴素贝叶斯分类算法 算法简介 朴素贝叶斯是使用贝叶斯的条件概率来做分类判断的一种算法,具体的依据就是,对于二分类来...

  • 朴素贝叶斯算法介绍及优化

    朴素贝叶斯(Naive Bayes) 贝叶斯公式 朴素贝叶斯算法其实原理很简单,要理解朴素贝叶斯算法我们首先得知道...

网友评论

      本文标题:【理论篇】贝叶斯算法应用(二)

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