首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从图模型中采样

图模型同样简化了从模型中采样的过程。有向图模型的一个优点是,可以通过一个简单高效的过程从模型所表示的联合分布中产生样本,这个过程被称为 原始采样(Ancestral Sampling)。原始采样的基本思想是将图中的变量 xi使用拓扑排序,使得对于所有 i 和 j,如果 xi是 xj的一个父亲结点,则 j 大于 i。然后可以按此顺序对变量进行采样。换句话说,我们可以首先采 x1∼ P(x1),然后采 x2∼ P(x2| PaG(x2)),以此类推,直到最后我们从 P(xn| PaG(xn)) 中采样。只要不难从每个条件分布 xi∼ P(xi| PaG(xi))中采样,那么从整个模型中采样也是容易的。拓扑排序操作保证我们可以按照条件分布的顺序依次采样。如果没有拓扑排序,我们可能会在其父节点可用之前试图对该变量进行抽样。有些图可能存在多个拓扑排序。原始采样可以使用这些拓扑排序中的任何一个。原始采样通常非常快(假设从每个条件分布中采样都是很容易的)并且非常简便。原始采样的一个缺点是其仅适用于有向图模型。另一个缺点是它并不是每次采样都是条件采样操作。当我们希望从有向图模型中变量的子集中采样时,给定一些其他变量,我们经常要求所有给定的条件变量在顺序图中比要采样的变量的顺序要早。在这种情况下,我们可以从模型分布指定的局部条件概率分布中采样。否则,我们需要采样的条件分布是给定观测变量的后验分布。这些后验分布在模型中通常没有明确指定和参数化。推断这些后验分布的代价可能是很高的。在这种情况下的模型中,原始采样不再有效。

不幸的是,原始采样仅适用于有向模型。我们可以通过将无向模型转换为有向模型来实现从无向模型中抽样,但是这通常需要解决棘手的推断问题(要确定新有向图的根节点上的边缘分布),或者需要引入许多边从而会使得到的有向模型变得难以处理。从无向模型采样,而不首先将其转换为有向模型的做法似乎需要解决循环依赖的问题。每个变量与每个其他变量相互作用,因此对于采样过程没有明确的起点。不幸的是,从无向模型中抽取样本是一个成本很高的多次迭代的过程。理论上最简单的方法是 Gibbs 采样(Gibbs Sampling)。假设我们在一个 n 维向量的随机变量 x 上有一个图模型。我们迭代地访问每个变量 xi,在给定其他变量的条件下从p(xi| x−i) 中抽样。由于图模型的分离性质,抽取 xi时我们可以等价地仅对 xi的邻居条件化。不幸的是,在我们遍历图模型一次并采样所有 n 个变量之后,我们仍然无法得到一个来自 p(x) 的客观样本。相反,我们必须重复该过程并使用它们邻居的更新值对所有 n 个变量重新取样。在多次重复之后,该过程渐近地收敛到正确的目标分布。我们很难确定样本何时达到所期望分布的足够精确的近似。无向模型的采样技术是一个高级的研究方向,读者可自行查阅相关资料。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230305A03MAH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券