隐变量 - latent variable
隐变量 (latent variable) 是指不能直接observe的变量,比如economics里面的utility,要通过别的observed variables (price, feature, etc.) 来推算。
隐变量主要是指 ”不能被直接观察到,但是对系统的状态和能观察到的输出存在影响的一种东西“,很多人在研究隐变量。以及设计出各种更优(比如可解释,可计算距离,可定义运算等性质)的隐变量的表示。
隐变量是不可观测的变量
举一个最简单的因子分析模型的例子
p个科目的成绩用X1,X2,...,Xp来表示,X(t),(t=1,2,...,n)表示第t个学生p个科目的成绩,对这些资料进行归纳分析,可以看出各个科目(变量)由两部分组成:
Xi=ai*F+ei
其中F是对所有Xi所共有的因子,ei是变量Xi特有的特殊因子。
在上面这个模型中,p个科目的成绩是可以观测到的,对所有Xi产生影响的F是不可观测的,它可能代表智能因子,显然成绩是会受智力影响的,但是智力这个变量无法直接观测,这个F就可以看作是一个隐变量。
KL散度
无论从概率论的角度,还是从信息论的角度,我们都可以很好地给出KL散度测量的意义。这里不是基础的概念介绍,所以有关KL的概念就不介绍了。在Variational Inference中,我们希望能够找到一个相对简单好算的概率分布q,使它尽可能地近似我们待分析的后验概率p(z|x),其中z是隐变量,x是显变量。在这里我们的“loss函数”就是KL散度,他可以很好地测量两个概率分布之间的距离。如果两个分布越接近,那么KL散度越小,如果越远,KL散度就会越大。
KL散度的公式为:
,这个是离散概率分布的公式,
,这个是连续概率分布的公式。
VAE
VAE 通过最大化证据下限 (ELBO) 来隐式优化数据的对数似然。
变分自编码器 (VAE) 提供了一种概率方式来描述潜在空间中的观察。 因此,与其构建一个输出单个值来描述每个潜在状态属性的编码器,我们将制定我们的编码器来描述每个潜在属性的概率分布。
举个例子,假设我们已经在编码维度为 6 的大型面部数据集上训练了一个自动编码器模型。 理想的自动编码器将学习面部的描述性属性,例如肤色,该人是否戴眼镜等等,试图以某种压缩表示来描述观察。
在上面的示例中,我们使用单个值来描述每个属性,根据其潜在属性来描述输入图像。 但是,我们可能更愿意将每个潜在属性表示为一系列可能的值。 例如