线性因子模型是基于潜变量的最简单的概率模型,时常被用来作为混合模型或者更大的深度概率模型的组成模块。本文首先介绍线性因子模型的一般形式,然后再罗列一些特殊情况下的典型线性因子模型,方便日后学习。
一、线性因子模型
随机线性解码器函数通过对 (h) 的线性变换以及添加噪声来生成 (x),我们可以通过该函数来定义线性因子模型。
线性因子模型描述的数据生成过程如下:
首先我们从一个因子分布 (p( h) ) 中抽取解释性因子 (h) :(hsim p( h) ),然后在给定因子的情况下,对实值的可观察变量进行采样:
其中噪声往往是对角化的且服从高斯分布。
下图是描述线性因子模型族的有向图模型,从中我们可以看出其一般形式。
二、典型的线性因子模型
我们假设观察到的数据向量 (x) 是通过独立的潜在因子 (h) 的线性组合再加上一定噪声获得的。不同的模型,比如概率 PCA,因子分析或者 ICA,都是选择了不同形式的噪声以及先验 (p( h) )。
1、因子分析
在因子分析中,潜变量的先验是一个方差为单位矩阵的高斯分布
而噪声是从对角协方差矩阵的高斯分布中抽出来的,协方差矩阵为 ( psi =diag(sigma ^{2}) ),其中 ( sigma ^ {2}=left[ sigma _ {1} ^ {2},sigma _ {2} ^ {2},ldots ,sigma _ {n} ^ {2} ight] ^ {T} ) 表示一个向量,每个元素表示一个变量的方差。
很容易我们就可以看出生成的 (x) 服从多维正态分布,并满足
2、概率PCA
当因子分析模型中的条件方差 ( sigma _{i} ^{2} ) 等于同一个值时,线性因子模型就变成了概率 PCA。在这种情况下,(x) 服从的多维正态分布将变为
其中 (sigma ^{2}) 是一个标量。或者等价地,可以将 (x) 表示为
其中 ( zsim N(z;0,I) ) 是高斯噪声。
3、PCA
当概率 PCA 中的 ( sigma ightarrow 0 ) 时,PCA 可以看成是概率 PCA 的退化。此时,( x ) 的表示可以写为
4、独立成分分析
独立成分分析(ICA)是一种建模线性因子的方法,旨在将观察到的信号分离成许多完全独立的潜在信号,这些潜在信号通过缩放和叠加可以恢复成观察数据。
许多不同的具体方法被称为 ICA,它们均要求 ( p(h) ) 是非高斯的。这样的选择在 0 附近具有比正态分布更高的峰值,因此 ICA 常用于学习稀疏特征。
5、慢特征分析
慢特征分析(SFA)是使用来自时间信号的信息学习不变特征的线性因子模型,其想法源于慢性原则。
在求解时,SFA 往往要满足三个约束:一是学习到的特征要具有零均值,这样优化问题才会具有唯一解;二是学习到的特征要具有单位方差,以防止所有的特征趋近于 0 的病态解;最后一个约束是要求学习到的特征之间必须彼此线性去相关。
6、稀疏编码
稀疏编码模型通常假设线性因子有一个各向同性精度为 ( eta ) 的高斯噪声:
而分布 ( p(h) ) 通常为一个峰值很尖锐且接近 0 的分布,如可分解的 Laplace、Cauchy 或者可分解的 Student-t 分布。