许多概率模型(通常是无向图模型)由一个未归一化的概率分布定义,我们必须除以配分函数来归一化
对数似然梯度
通过最大似然学习无向模型特别困难的原因在于配分函数依赖于参数。对数似 然相对于参数的梯度具有一项对应于配分函数的梯度:
这是机器学习中非常著名的正相(positive phase)和负相(negative phase)的 分解。
即得到
随机最大似然和对比散度
可以用MCMC采样求解这个梯度
对比散度算法降低了吉布斯采样花费的时间,从数据分布中获取样本是计算代价最小的,因为它们已经在数据集中了。初始时,数 据分布并不接近模型分布,因此负相不是非常准确。幸运的是,正相仍然可以准确 地增加数据的模型概率。进行正相阶段一段时间之后,模型分布会更接近于数据分 布,并且负相开始变得准确。
当然,CD仍然是真实负相的一个近似。CD未能定性地实现真实负相的主要原因是,它不能抑制远离真实训练样本的高概率区域。这些区域在模型上具有高概率, 但是在数据生成区域上具有低概率,被称为虚假模态(spurious modes)。图18.2解 释了这种现象发生的原因。基本上,除非 k 非常大,模型分布中远离数据分布的峰 值不会被使用训练数据初始化的马尔可夫链访问到。
另一个解决CD中许多问题的不同策略是,在每个梯度步骤中初始化马尔可夫链为先前梯度步骤的状态值。这个方法首先被应用数学和统计学社群发现,命名 为随机最大似然(SML)(Younes, 1998)
伪似然
蒙特卡罗近似配分函数及其梯度需要直接处理配分函数。有些其他方法通过训 练不需要计算配分函数的模型来绕开这个问题。这些方法大多数都基于以下观察: 无向概率模型中很容易计算概率的比率。这是因为配分函数同时出现在比率的分子 和分母中,互相抵消
假设我们将 x 分为 a,b 和 c,其中 a 包含我们想要的条件分布的变量,b 包含我们想要条件化的变量,c 包含除此之外的变量
在极端情况下,a 可以是单个变量,c 可以为空,那么该计算仅需要估计与单 个随机变量值一样多的 ˜ p。
在这种情况下,我们已经使a尽可能小,但是c可以大到x2:n。如果我们简单地将c移 到 b 中以减少计算代价,那么会发生什么呢?这便产生了伪似然
得分匹配和比率匹配
得分匹配提供了另一种训练模型而不需要估计 Z 或其导数 的一致性方法。对数密度关于参数的导数 ∇xlogp(x),被称为其得分(score),得分 匹配这个名称正是来自这样的术语。得分匹配采用的策略是,最小化模型对数密度 和数据对数密度关于输入的导数之间的平方差期望
噪声对比估计
具有难求解的配分函数的大多数模型估计都没有估计配分函数。SML和CD只 估计对数配分函数的梯度,而不是估计配分函数本身。得分匹配和伪似然避免了和配 分函数相关的计算。
噪声对比估计(noise-contrastive estimation,NCE)(GutmannandHyvarinen, 2010) 采取了一种不同的策略。在这种方法中,模型估计的概率分布被明确表示 为
NCE 的思想很简单,它希望我们将真实的样本和一批“噪声样本”进行对比,从中发现真实样本的规律出来。
具体来说,我们引入一个噪声分布,并且设定联合分布
现在我们可以应用标准的最大似然学习拟合 pjoint 到 ptrain 的监督学习问题:
这样我们就得到了模型的参数和配分值c
估计配分函数
如果想要知道两个模型哪个比较好,可以比较似然函数
用蒙特卡洛方法求解
如果分布 p0 接近 p1,那么式(18.44)能够有效地估计配分函数 (Minka, 2005)。 不幸的是,大多数时候 p1 都很复杂(通常是多峰值的),并且定义在高维空间中。 很难找到一个易求解的 p0,既能易于评估,又能充分接近 p1 以保持高质量的近似。 如果 p0 和 p1 不接近,那么 p0 的大多数采样将在 p1 中具有较低的概率,从而在 式(18.44)的求和中产生(相对的)可忽略的贡献。
我们现在关注两个解决高维空间复杂分布上估计配分函数的方法:退火重要采样和桥式采样。此处暂且略过
网友评论