贝叶斯算法理论

avatar
作者
猴君
阅读量:0

目录

贝叶斯

贝叶斯要解决的问题:

  1. **正向概率:**假设袋子里面有N个白球,M个黑球,你伸手进去摸一把,摸出黑球的概率是多大
  2. **逆向概率:**如果我们事先并不知道袋子里面黑白球的比例,而是闭着眼睛摸出一个(或好几个)球,观察这些取出来的球的颜色之后,那么我们可以就此对袋子里面的黑白球的比例作出什么样的推测

Why贝叶斯

  • 现实世界本身就是不确定的,人类的观察能力是有局限性的
  • 我们日常所观察到的只是事物表面上的结果,因此我们需要提供一个猜测

贝叶斯公式

P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B) = \dfrac{P(B|A)P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)

实例——拼写纠正

问题是:我们看到用户输入了一个不在字典中的单词,我们需要去猜测:“这个家伙到底真正想输入的单词是什么呢?”
P ( 我们猜测他想输入的单词 ∣ 他实际输入的单词 ) P(我们猜测他想输入的单词|他实际输入的单词) P(我们猜测他想输入的单词他实际输入的单词)

  • 用户实际输入的单词记为D(D代表Data,即观测数据)

猜测1: P ( h 1 ∣ D ) P(h1|D) P(h1∣D)

猜测2: P ( h 2 ∣ D ) P(h2|D) P(h2∣D)

猜测3: P ( h 3 ∣ D ) P(h3|D) P(h3∣D)

……

统一为: P ( h ∣ D ) P(h|D) P(hD)

即,
P ( h ∣ D ) = P ( h ) P ( D ∣ h ) P ( D ) P(h|D) = \dfrac{P(h)P(D|h)}{P(D)} P(hD)=P(D)P(h)P(Dh)
对于不同的具体猜测 h 1 h 2 h 3 … … h1 h2 h3 …… h1h2h3……,P(D)都是一样的,所以在比较P(h1|D)和P(h2|D)的时候我们可以忽略这个常数。

P ( h ∣ D ) ∝ P ( h ) ∗ P ( D ∣ h ) P(h|D)\propto P(h)*P(D|h) P(hD)P(h)P(Dh)对于给定观测数据,一个猜测是好是坏,取决于“这个猜测本身独立的可能性大小(先验概率,prior)”和“这个猜测生成我们观测到的数据的可能性大小。”

  • 贝叶斯方法计算: P ( h ) ∗ P ( D ∣ h ) P(h)*P(D|h) P(h)P(Dh),P(h)是特定猜测的先验概率

比如用户输入tlp,那到底是top还是tip?这个时候,当最大似然不能作出决定性的判断时,先验概率就可以插手进来给出指示——“既然你无法决定,那么我告诉你,一般来说top出现的程度要高许多,所以更可能他想打的是top

模型比较理论

  • 最大似然:最符合观测数据的(即P(D|h)最大的)最有优势
  • 奥卡姆剃刀:P(h)较大的模型有较大的优势

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

如果平面上有N个点,近似构成一条直线,但绝不精确地位于一条直线上。这时我们既可以用直线来拟合(模型1),也可以用二阶多项式(模型2)拟合,也可以用三阶多项式(模型3),特别地,用 N − 1 N-1 N1阶多项式便能够保证肯定能完美通过N个数据点。那么,这些可能的模型之中到底哪个是最靠谱的呢?

奥卡姆剃刀:越是高价的多项式越是不常见的(越是高阶去拟合,拟合效果肯定越好,但是这只是在训练集上,在测试集上往往达不到很好的效果,也就是常见的鲁棒性差)

垃圾邮件过滤实例

问题:给定一封邮件,判定它是否属于垃圾邮件。D来表示这封邮件,注意D由N个单词组成。我们用h+来表示垃圾邮件,h-表示正常邮件

P ( h + ∣ D ) = P ( h + ) ∗ P ( D ∣ h + ) P ( D ) P(h+|D) = \dfrac{P(h+)*P(D|h+)}{P(D)} P(h+D)=P(D)P(h+)P(Dh+)

P ( h − ∣ D ) = P ( h − ) ∗ P ( D ∣ h − ) P ( D ) P(h-|D) = \dfrac{P(h-)*P(D|h-)}{P(D)} P(hD)=P(D)P(h)P(Dh)

  • 先验概率:P(h+)和P(h-)这两个先验概率都是很容易求出来的,只需要计算一个邮件库里面垃圾邮件和正常邮件的比例就行了。

D里面含有N个单词d1,d2,d3,……,P(D|h+) = P(d1,d2,…,dn|h+)。

P(D|h+) = P(d1,d2,…,dn|h+)就是说在垃圾邮件当中出现跟我们目前这封邮件一模一样的一封邮件的概率是多大!

P ( d 1 , d 2 , . . . , d n ∣ h + ) P(d1,d2,...,dn|h+) P(d1,d2,...,dnh+)扩展为: P ( d 1 ∣ h + ) ∗ P ( d 2 ∣ d 1 , h + ) ∗ P ( d 3 ∣ d 2 , d 1 , 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+)...

  • P ( d 1 ∣ h + ) ∗ P ( d 2 ∣ d 1 , h + ) ∗ P ( d 3 ∣ d 2 , d 1 , 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+)...。假设di与di-1是完全条件无关的(朴素贝叶斯假设特征之间是独立的。互不影响)。简化为 P ( d 1 ∣ h + ) ∗ P ( d 2 ∣ h + ) ∗ P ( d 3 ∣ h + ) . . . P(d1|h+)*P(d2|h+)*P(d3|h+)... P(d1∣h+)P(d2∣h+)P(d3∣h+)...
  • 对于 P ( d 1 ∣ h + ) ∗ P ( d 2 ∣ h + ) ∗ P ( d 3 ∣ h + ) . . . P(d1|h+)*P(d2|h+)*P(d3|h+)... P(d1∣h+)P(d2∣h+)P(d3∣h+)...只要统计di这个单词在垃圾邮件中出现的频率即可

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!