标签:beta分布 machine learning math 狄利克雷分布 共轭先验
本小节阅读:
MLAPP:第三章
CS229:Naive bayes
我们考虑一个小孩学习一个词的过程,比如“狗”。大概是小孩的父母指出了这个词的一些正例,比如说:“看那条可爱的狗”或者“记住那条小狗”等等。然而,他们是不太可能提供如“看那条不是狗的东西”的负例。当然,负例也可能在动态学习的过程中接触到,比如父母可能纠正小孩的错误:“那是一只猫,不是一条狗。” — 但是心理学研究者已经指出人类可以仅仅通过正例学习概念。
我们可以认为学习一个词的含义和概念学习是等价的,而概念学习反过来和二分类等价。如果
为了教学目的,我们考虑概念学习的一个非常简单的例子,叫“数字游戏”,基于Josh Tenenbaum的PhD论文。这个游戏这么进行:我选择一些简单的数学概念
假设,为了简单起见,所有的数字均为1-100的整数。现在我告诉你一个概念:16是一个正例,其他哪些数字你认为是正例呢?17?6?32?99?仅仅基于一个例子很难回答这个问题,你的回答可能非常含糊。可能一些和16在某种意义上相似的数字是有可能的,但怎样才算是相似呢?17就和16相似,因为接近;6也是相似的,因为有一个共同的数字;32是16的两倍因此也是相似的;99看起来就不怎么相似了。因此一些数字比其他的数字要更加又可能是答案。我们可以把这种性质用概率分布来表示
假设现在我告诉你8,2,64也是正例,你现在可能会猜测隐含的概念是“2的幂”,这是一个“归纳”的例子。给定这个假设,对应的预测分布就很明确了,其质量将集中在2的幂。而如果我告诉你数据
我们如何解释这种行为并用机器进行模拟呢?一个归纳的经典做法是假设我们有一批概念组成的假设空间,设为
然而,可见空间并不是全部的故事,在看到数据
这里size(h)是指咱们假设空间的样本,例如咱们假设结尾为9的数字,根据假设空间的其他限定条件(1,100),那么这个假设空间只有10个数符合条件,9,19,29......99,那么根据概率的乘法原则,且假设N个样本中每个样本都是独立同分布的,那么就能得到上面的概率计算公式。
所以这里假设样本的分布为偶数的概率是,p(D|heven) = 1/50,假设是2次方的概率是:p(D|htwo) = 1/6 。可以带入计算得出2次方的概率是偶数的5000倍之多。
后验是指观察到数据之后,我们需要得到假设分布的概率,表示为:
上公式是根据贝叶斯原理,所以后验概率就是先验和似然度的结合体,如果大多数情况下h的发生概率一样,那么后验概率就直接取决于先验概率了。以下是当我们看到一个数据点为16时,对分布空间h的猜测:
我们可以看到在先验概率中,凭直觉,odd和even这两个假设的概率明显高于其他,因为他们是最简单的假设,但是当16这个数据点出现后,似然度就发生了明显的变化,原来遥遥领先的odd现在降为了零,再看后验概率,他就是先验后似然度的结合体。
所以,只要咱们有足够的数据支持,那么后验概率p(h|D)必将在某一个假设上的概率为1.这也叫做MAP(最大后验估计),也可以写成下式:
因为似然度这项依赖于N的指数级,但是先验概率始终不变,那么当数据量越来越大,N越来越大,后验概率就主要依赖于似然概率,所以最大后验估计就变为了咱们以前接触过的最大似然估计:
所以,通俗来讲,如果有足够的数据,那么数据终将战胜先验,所以咱们的bayes方法不就靠谱了嘛。下面就是例证,当数据量上升为{2,8,16,64}时,后验概率集中于2次方这个假设了。证明了随着数据量的增加,MAP最终收敛与MLE。
其中p(h|D)是咱们之前算的后验概率,而p(y=1|x,h)是指在这个假设h下观察到了样本x,这个x属于类别1的概率。前面的累加符号表示的是在所有的假设空间执行累加的计算,这就算出了y=1这个类别在所有假设空间中的概率总和,其实这个公式细看就是一个加权平均值,权值就是特定假设发生的概率,其实也就是后验概率。所以这个方法也叫做Bayes model averaging 。
下图明确的表示了这种方法:
假设空间中有多个符合条件的假设,每个的后验概率在上图的最右方,最终可以将他们的预测带入之间的公式得出预测的结果在最顶端。
但是当数据量积累到了一定量,即后验概率收敛于1个假设,那么公式就变成下面的了:
where:
就是其他的假设都变成0概率了,独留下我一个牛逼的假设为1,那么最终也就是我有话语权了。这个学名叫做plug-in approximation 。
在贝叶斯方法中,我们先是得到很广的假设空间,通过不断的观察新的信息,来缩窄假设空间,
这里N1表示样本中头朝上的次数,N0表示样本中背部朝上的次数。
为了方便计算,我们将先验概率假设为似然度函数的相似形式,引入了两个参数。
所以可以得到先验概率为:
当先验和后验相同的形式时,我们先验为相应似然的共轭先验。由于容易计算和解释,共轭先验被广泛使用。
根据后验概率的公式,与先验和似然函数的乘积相关,这里设先验概率为beta分布,可以得到:
由指数的相加性得到:
p(θ|D)∝Beta(θ|N1+a,N0+b)
适合在线学习:
事实上,就是在超参加上统计量就得到后验了,因此超参也叫“伪计数”。先验的优点在于effective sample size,也就是伪计数a+b的和,这和数据的和(
根据之间得到beta分布的一下性质:
得到:
当N》》a, b时,方差可以简化为:
均值和众数都是点估计,但是这对于我们是否应该相信结果的分析是很有帮助的,方差也是一种衡量的方法,书上这里分析了标准差,他是以
假如我们使用MLE的结果来预测,近似的结果将会非常糟糕,比如我们的数据是N=3个尾,MLE的上诉结果为0。这称为“0计数问题”或者“稀疏数据问题”,这在数据比较少的情况下经常出现。可能有人会觉得在大数据领域这种问题不会出现,但是注意一定我们把数据以一定标准进行切分,问题将会出现,比如在在网页中进行个性化推荐。因此贝叶斯方法在大数据背景下依旧十分有用。
0计数问题和哲学上一个叫“黑天鹅悖论”的问题是相似的,因为在古代西方的天鹅都是白的,黑天鹅意味着不可能存在的东西(黑天鹅17世纪在澳大利亚被发现)。这个悖论被用于解释归纳,即通过过去的一些观测去总结关于未来的一些通用的结论。
现在让我们推导一个这问题的简单的贝叶斯结论。我们使用一个平均分布作为先验,即a=b=1,在这个例子下,带入到后验的均值中,我们得到Laplace’s rule of succession
这个结果是按经验计数的结果加1,归一化然后带入,这是一种叫“加1平滑”的技术,后面专门讲下laplace平滑。
设有一个N面色子:D ={x1,...,xN},
andxi∈ {1,...,K}
,似然函数如下:
说白了就是没面发生了多少次,然后概率相乘。
同样的,这里的先验是共轭先验,与似然函数有着类似样子,方便求后验的时候好操作。
后验概率计算和之前一样。
但是咱们怎么做最大后验估计MAP呢?可以将其转换为一个优化问题。
constrain:
maxims:
分别求导,可以得出:
Posterior predictive
朴素贝叶斯之所以朴素,是因为它假定了features之间是条件独立的:
这个模型有一些参数是需要通过训练数据求到的,我们先来分析是哪些参数,根据贝叶斯公式,我们要预测一个词向量属于y=1的概率为:
那么我们需要通过训练数据求:
第一个是求P(xi | y=1)的概率,第二项是求:P(xi | y=0)的概率,第3项是求y等于各个类别的概率,把它们带入上式就能求得最终y=1的概率了,所以这个模型非常简单。但是有一些问题需要注意。
我们会发现上述概率会为零,如果将他们带入咱们的预测公式,那么会导致预测的概率为0:
咱们可以通过拉普拉斯平滑来解决,公式如下:
所以当咱们计算各个参数的时候,用这样的形式就可以了:
MLAPP
CS229
版权声明:本文为博主原创文章,未经博主允许不得转载。
CS281: Advanced Machine Learning 第二节 Generative model
标签:beta分布 machine learning math 狄利克雷分布 共轭先验
原文地址:http://blog.csdn.net/frog_in_a_well/article/details/47185491