潜变量有什么好处?

机器算法验证 可能性 图形模型 潜变量
2022-04-17 13:54:14

我有一个模型添加潜在变量如何帮助我?而不是单独 )的主要好处是什么?有哪些例子可以说明对后者进行建模会使我的模型变得更好?p(x)zp(x,z)=p(x|z)p(z)p(x)

2个回答

在Ian Goodfellow 等人的深度学习一书的第 16.5 节中有一些元素可以回答您的问题:

一个好的生成模型需要准确地捕获观察或“可见”变量的分布。通常的不同元素高度依赖于彼此。在深度学习的上下文中,最常用于对这些依赖项进行建模的方法是引入几个潜在或“隐藏”变量然后,模型可以之间的直接依赖关系以及之间的直接依赖关系间接之间的依赖关系。vvhvivjvihhvj

该部分还反对将潜在变量添加到尝试在没有任何潜在变量p(v)

一个不包含任何潜在变量的 v 的良好模型需要在贝叶斯网络中的每个节点有非常多的父节点,或者在马尔可夫网络中需要非常大的派系。仅仅表示这些高阶交互是昂贵的。[...]

作为一种发现可见变量之间相关(和计算上易于处理)相互作用的方法,引入了结构学习的概念。通常,使用潜在变量对固定结构进行建模避免了在可见变量之间进行结构学习的需要。这本书似乎暗示前者比后者容易。事实上,我们在这句话后面发现:

使用简单的参数学习技术,我们可以学习一个具有固定结构的模型,该模型在边际上赋予正确的结构。p(v)

编辑(感谢卡罗的评论):进一步分析具有潜在变量的结构,我们遇到了可解释性的概念。跳到第 16.7 节,我们可以阅读:

当在传统图形模型的上下文中使用潜在变量时,它们通常在设计时考虑到一些特定的语义——文档的主题、学生的智力、导致患者症状的疾病等。这些模型通常很多更容易被人类从业者解释,并且通常有更多的理论保证 [...]

在许多情况下,我们观察到的数据取决于一些未观察到或无法观察到的隐藏变量。知道这些变量将简化我们的模型,并且在许多情况下,我们可以通过假设一个潜在变量模型来避免不知道它们的值,该模型可以从数据中“恢复”未观察到的变量。

  • 这种模型的流行例子是有限混合模型,它假设数据是聚类的,而聚类分配是未知的,可以从数据中学习。这些模型可用于学习数据的分布,或更复杂的情况,如回归在每种情况下,模型都学会区分数据中具有共同特征的几个组,并拟合每个组的子模型,无论组分配是先验未知的用简单的英语来说,您不需要构建一个复杂的一刀切模型,而是构建一个由多个特定问题的更简单模型组成的模型。

  • 另一个流行的例子是主成分分析(参见Bishop,2006 年《模式识别和机器学习》一书中的第 12 章),或基本上任何其他降维模型,用于将观察到的数据“压缩”到较少的维数,而不需要太多信息丢失。这里的潜在变量是数据的未观察到的“特征”,几乎可以完全解释它。我们的目标是找到这些特征。

  • 您可以在我最近的问题中找到非常不同的示例,我们在其中观察了汇总数据,同时想了解个体水平的可变性。正如答案中所指出的,这可以被认为是潜在变量模型,我们将个体的预测视为潜在变量,它们会被聚合,以便我们可以预测聚合响应来训练模型。因此,与之前我们使用潜在变量来查找一些更高级别的特征的示例相反,这里我们使用它们来进行更低级别的、去聚合的预测。同样,这里没有观察到个人级别的值,所以我们用潜在变量占位符替换它们,并使模型从数据中预测它们。

这些只是说明潜变量模型的几个例子。您可以在Bishop (2006)的书籍或Kevin P. Murphy 的机器学习:概率视角中找到更多内容,他们提供了更多示例和详细解释。

作为旁注,值得一提的是,这些模型在许多情况下可能难以识别,并且通常需要一些针对特定问题的计算调整和算法,因此“猜测”未观察到的数据需要付出一些代价。