MLAPP Chapter 3 离散数据的生成模型

3 Generative models for discrete data

3.1 介绍

我们在2.2.3.2讨论了如何将贝叶斯规则应用于生成分类器对特征向量x进行分类,生成分类器的形式是:

p(y=c|x,θ)p(x|y=c,θ)p(y=c|θ) p ( y = c | x , θ ) ∝ p ( x | y = c , θ ) p ( y = c | θ )

使用这种模型的关键是指定一个合适的类-条件密度p(x | y = c,θ)的形式,它定义了我们希望在每一个类中看到何种数据。在本章中,我们关注观察数据是离散的情况。我们还讨论如何推断出模型的未知参数θ。

3.2 贝叶斯概念学习

考虑一下孩子是如何理解一个单词的意思的,比如“dog”。孩子的父母可能会指出这个概念的正面例子,比如,“看这只可爱的狗!”,或者“小心狗狗”等等。然而,他们不太可能提供负面的例子,比如“看那个非狗狗”。当然,在积极的学习过程中可能会得到负面的例子——孩子说“看狗”,父母说“这是猫,亲爱的,不是狗”——但是心理学研究表明,人们只从正列中就可以学到概念(Xu and Tenenbaum 2007)。
我们可以认为学习一个词的意思等同于概念学习,而概念学习又等同于二元分类。定义f(x) = 1,如果x是概念C的一个例子,f(x) 的另一个值是0。然后我们的目标是学习目标函数f,它仅仅定义了哪些元素在集合C中,通过考虑f的定义的不确定性,或者说等价于C中的元素,我们可以模拟模糊集理论(fuzzy set theory),但是会使用标准概率微积分。注意,标准的二分类技术需要正例和反例。相比之下,我们将设计出一种仅从正面例子中学习的方法。
为了教学的目的,我们将考虑一个非常简单的概念学习的例子,叫做数字游戏,基于Josh Tenenbaum博士论文的一部分(Tenenbaum 1999)。游戏进行如下。我选择了一些简单的算术概念C,比如“质数”或“1到10之间的数字”。然后我给你一系列从集合C中随机选择的正面例子 D=x1,xN D = x 1 , … , x N ,再给你一些新的测试用例 x˜ x ~ ,问你是否属于C,即让你对 x˜ x ~ 进行分类。
为了简单起见,假设所有数字都是1到100之间的整数。现在假设我告诉你“16”是这个概念的一个正例。你认为还有哪些数字是正例?17吗?6 ?32 ?99?仅仅举一个例子是很难判断的,所以你的预测会非常模糊。据推测,在某种意义上与16相似的数字更有可能出现。但相似之处在哪呢?17是相似的,因为它“靠近”,6是相似的,因为它有一个共同的数字,32是相似的,因为它也是偶数,2的幂,但是99看起来并不相似。因此,有些数字比其他数字更可能出现。我们可以用一个概率分布 p(x˜|D) p ( x ~ | D ) 来表示,即给出数据集D后,对于任何的 x˜{1,...,100} x ~ ∈ { 1 , . . . , 100 } x˜C x ~ ∈ C 的概率。这叫做后验预测分布(posterior predictive distribution)
比如我告诉你{2,8,64}也是正例以后,你现在可能会猜隐含的概念是“2的幂”,这是一个归纳(induction)的例子。我们如何解释这种行为并在机器中模拟它?经典的归纳方法是假设我们有一个概念的假设空间(hypothesis space) H ,比如:奇数,偶数,所有1到100之间的数,2的幂…… 与数据D一致的 H 的子集称为版本空间(version space)。随着我们看到更多的例子,版本空间缩小,我们对这个概念越来越确定。

3.2.1 似然(likelihood)

我们必须解释在看到D ={16,8,2,64}后,为什么我们选择 htwo2 h t w o ≜ “ 2 的 幂 ” ,而不是选择 heven h e v e n ≜ “ 偶 数 ” ,因为这两个假设都与证据相符,关键是我们的直觉希望避免可疑的巧合。但真正的概念是偶数,为什么我们只看到2的幂呢?
让我们假设示例是从概念的扩展中随机抽取的。(概念的扩展就是属于它的一组数字,例如, heven h e v e n 的扩展是{2,4,6,…、98、100 };“以9结尾的数字”的扩展为{9,19,…,99}。特南鲍姆称之为强抽样假设。基于此假设,给出了从h中独立抽样N个项目(有放回)的概率:

p(|h)=[1size(h)]N)=[1|h|]N p ( D | h ) = [ 1 s i z e ( h ) ] N ) = [ 1 | h | ] N

这个重要的方程体现了特南鲍姆所称的大小原则(size principle),这意味着该模型倾向于与数据一致的最简单(最小)假设。这就是奥卡姆剃刀原理。
要查看它是如何工作的,让D ={16}。然后 p(D|htwo)=1/6 p ( D | h t w o ) = 1 / 6 ,因为小于100的2的幂只有6个,但是 p(D|hheven)=1/50 p ( D | h h e v e n ) = 1 / 50 。所以 h=htwo h = h t w o 的可能性(likelihood)大于 h=heven h = h e v e n 。在4个例子后, htwo h t w o 的可能性是 (16)4=7.7×104 ( 1 6 ) 4 = 7.7 × 10 − 4 ,而 heven h e v e n 的可能性是 (150)4=1.6×107 ( 1 50 ) 4 = 1.6 × 10 − 7 。这是一个接近5000:1的似然比,有利于 htwo h t w o 。这量化了我们先前的直觉,即D ={16,8,2,64}如果由 heven h e v e n 生成,将是一个非常可疑的巧合。

3.2.2 先验

假设D ={16,8,2,64}。鉴于这个数据,概念h′= “除了32的2的幂”比h =“2的幂”更有可能,因为h′不用为D中没有32作解释。
然而,h′= “除了32的2的幂”似乎“在概念上不自然”。我们可以通过分配较低的先验概率给非自然的概念。当然,不同人的先验可能有所不同。贝叶斯推理的这一主观方面是许多争议的根源,因为它意味着,例如,一个孩子和一个数学教授将得出不同的答案。事实上,他们可能不仅有不同的先验,而且有不同的假设空间。然而,我们可以通过定义孩子的假设空间与数学教授的相同,然后将孩子在某些“高级”概念上的先验权重设定为零,这样在先验空间和假设空间上就不会有明显的区别。
虽然先验的主观性是有争议的,但它实际上是很有用的。如果你被告知一些数字来自某算术规则,那么给你1200、1500、900和1400,你可能会认为属于此规则的数中,400是可能的,但是1183是不可能的。但如果你被告知这些数字是健康胆固醇水平的例子,你可能会认为400不太可能,1183可能。由此可见,是通过先验这个机制,来使用背景知识解决问题。如果没有先验,快速学习(即从很小的样本中学习)是不可能的。
那么,我们应该使用什么先验呢?为了便于说明,让我们使用一个简单的先验,赋予30个简单的算术概念均匀的概率,如“偶数”、“奇数”、“素数”、“以9结尾的数”等等。为了让事情变得更有趣,我们增加偶数和奇数的先验权重。30个中也包括两个“非自然”的概念,即“2的幂,加上37”和“2的幂,去掉32”,但给予它们较低的先验权重。请参阅图3.2(a),稍后我们将考虑稍微复杂一点的情况。

3.2.3 后验

后验只是似然乘以先验,再标准化。即:

p(h|)=p(|h)p(h)hp(,h)=p(h)(h)/|h|Nhp(h)(h)/|h|N) p ( h | D ) = p ( D | h ) p ( h ) ∑ h ′ ∈ H p ( D , h ′ ) = p ( h ) Ⅱ ( D ∈ h ) / | h | N ∑ h ′ ∈ H p ( h ′ ) Ⅱ ( D ∈ h ′ ) / | h ′ | N )

其中,当且仅当所有数据都在假设h的延伸中时, (h)=1 Ⅱ ( D ∈ h ) = 1
图3.2显示给出D ={16}后的先验、似然和后验。我们看到后验是先验和似然概率的结合。在大多数概念中,先验是均匀的,所以后验与似然概率成正比。然而,两个“非自然”概念,虽然有很高的似然概率,但由于先验较低,故有较低的后验。相反,奇数的概念尽管有较高的先验,由于似然概率为0,故后验为0。
图3.3显示给出D ={16、8、2、64}后的先验、似然和后验。现在“2的幂”概念上的似然概率很高,所以这在后验中占了主导地位。从本质上讲,学习者有了一个顿悟时刻(aha),并得出真正的概念。(在这里,我们看到,需要赋予非自然概念很低的先验概率,否则我们会过度拟合数据并选择“2的幂,去掉32”的概念。)
一般来说,当我们有足够的数据时,后验概率会 p(h|) p ( h | D ) 在某一个概念上达到顶峰,即最大后验估计MAP,即:
p(h|)δĥ MAP(h) p ( h | D ) → δ h ^ M A P ( h )

其中, ĥ MAP=argmaxhp(h|) h ^ M A P = a r g m a x h p ( h | D ) 是最大后验估计MAP, δ δ 是狄拉克测度,定义为:
δx(A)={10ifxAifxA δ x ( A ) = { 1 i f x ∈ A 0 i f x ∉ A

注意,最大后验估计可以写成:
ĥ MAP=argmaxhp(|h)p(h)=argmaxh [logp(|h)+logp(h) ]) h ^ M A P = a r g m a x h ⁡ p ( D | h ) p ( h ) = a r g m a x h ⁡   [ log ⁡ p ( D | h ) + log ⁡ p ( h )   ] )

由于似然项依赖于指数N,且先验保持不变,随着我们得到越来越多的数据,最大后验估计MAP趋于最大似然估计MLE:
ĥ mleargmaxhp(|h)=argmaxhlogp(|h) h ^ m l e ≜ a r g m a x h ⁡ p ( D | h ) = a r g m a x h ⁡ l o g p ( D | h )

换句话说,如果我们有足够的数据,就可以看到数据压倒了先验,这种情况下,MAP收敛于MLE。 (我的理解是如图3.1到3.2的变化,随着数据的增加,版本空间缩小,似然分布变得越来越集中,由于先验是固定值,所以后验也会随之变得越来越集中,当N足够大,似然分布中就只剩下个别假设,是这样的一个趋近过程,而不是后验概率简单地从数学上由小变大。另外3.6的两个log项都是负的,随着数据的增加MAP项的绝对值会不断增加,由此可以忽略掉先验,所以称数据压过了先验)
如果真实假设在假设空间中,那么MAP/ MLE将收敛于这个假设。因此,我们说贝叶斯推理(和MLE)是一致估计(详细信息请参见第6.4.1节)。我们还说,假设空间在极限中是可识别的(identifiable in the limit),这意味着我们可以在无限数据的极限中接近真理。如果我们的假设类不够丰富,不足以代表“真相”(通常情况下是这样),我们就会收敛于尽可能接近真相的假设。然而,“接近”的概念超出了本章的范围。
(待续….)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值