Hinton Nerual Networks课程笔记9d:贝叶斯方法入门

来源:互联网 发布:cpu多核编程 编辑:程序博客网 时间:2024/05/16 04:32

课程简介

Geoffrey Hinton 2012年在coursera上开的网课:Neural Networks for Machine Learning。

课程笔记

这里主要对比的是Bayesian方法 和 频率法(最大似然法)。两者的本质区别在于Bayesian中参数也具有分布,而最大似然法中参数只是一个数。 从数学的角度,这两个理论不分优劣,已经进行了好多年的圣战了;从机器学习的角度,两个方法都有很成功的应用。

1. 最大似然法

最大似然法也是频率法,把参数看做固定不变的数,给定数据集D的情况,求取argmax_W(P(D|W)),其中P(D|W)模型是超参数,人为设定。而此方法的问题在于如果数据集D不足够大,大数定律不适用,则求取的W的可靠性也不高。下图给出了相关的两个问题:
max likelihood

2. 贝叶斯法

贝叶斯理论中,则认为W是具有P(W)的分布的(实现预设的超参数),即如果没有数据集的情况下对于W分布的猜测。随着数据集的增加,P(W)变为P(W|D),先验概率的作用逐渐减低,数据的作用越来越强。而把P(W|D)和P(W)联系起来的,则是著名的贝叶斯公式:
Bayes Theorem
注意到其中P(D)在公式中只是作为归一化的分母存在,使得P(W|D)保持概率形式,但不影响P(W|D)的相对大小;P(W|D)只受P(W)与P(D|W)影响,并且将两者的影响融合在一起。
特别的,P(W)先验部分可以非常模糊,通常是uniform distribution;因为P(W|D)受数据P(D|W)影响,所以最后得到的分布在与先验对抗的过程中,倾向于使得数据出现的概率更高,即设P(W)=P(W|D)的情况下,使得P(D|W)更大。当数据量足够的情况下,P(W|D)更加倾向于最大似然法得到的结果(即数据是可以压过先验的)。
当然贝叶斯方法也不是全是优点,一个明显的缺点就是其过度依赖先验,在样本数较小的情况下,得到的概率很大程度上与P(W)有关。
以上就是本节的全部知识点了,下面给出的是贝叶斯方法在抛硬币问题上的应用。

2.1. 例子:抛硬币问题

为了凸显贝叶斯方法的优势,我们主要探讨当数据样本很少(即抛硬币次数很少的情况)。
假设实验样本只有一个,结果是正面。那么通过最大似然法可以得到p=1(p为抛得正面的概率)。这是很不符合直观感受的结论,p=0.5从直观来讲也要优于p=1。同时在直观中,也可以明显的意识到其实我们对于p为多少是不确定的,大概觉得应该是0.5-1的一个数。
这就可以引入贝叶斯方法,p不是一个固定的数值,而是具有一定分布的参数。初始的时候,我们设p(W)=1/|W|,即uniform distribution,各个位置上概率相同,所得到的概率密度图如下:
003
其中横轴是p的大小,纵轴是概率密度,也表示为P(p)(用于表示连续的概率分布,使用方式为:p在a,b范围内的概率为P(p)在a,b范围内的积分。如图中红色内容area=1,则表示p属于0-1的范围内的概率为1.)
在得到一个样本之后,我们有了P(D|W)如下:
004
这也符合直观感受,随着p增大,P(D=1|p)也增大。(不清楚的请回顾p的定义)
所以通过上方的公式,可以得到P(W|D)的结果如下图(注意到area=1,所以已经是归一化之后的结果):
005
假设又获得了一个样本为反面,则采用的同样方法操作,其中P(W)为红线(和上图相同),P(D|W)为绿线,如下图所示:
006
求得的P(W|D)如下图:
007
此时已经和直观很接近了,即得到一个正面一个反面的两个样本,直观上对于p的猜测也是中间高两边低的抛物线模型。但也注意到不同于最大似然法,这里虽然p=0.5的概率最大,但对于p不等于0.5的情况也具有很大概率,这就是先验的作用。
继续输入样本数据的话,则发现先验的作用越来越少,得到的结果更接近于最大似然法了。例如假设样本中有53个正面,47个反面,则得到的P(W|D)如下:
008

0 0
原创粉丝点击