机器学习笔记--线性因子模型

线性因子模型是基于潜变量的最简单的概率模型,时常被用来作为混合模型或者更大的深度概率模型的组成模块。本文首先介绍线性因子模型的一般形式,然后再罗列一些特殊情况下的典型线性因子模型,方便日后学习。

一、线性因子模型

随机线性解码器函数通过对 \(h\) 的线性变换以及添加噪声来生成 \(x\),我们可以通过该函数来定义线性因子模型。

线性因子模型描述的数据生成过程如下:

首先我们从一个因子分布 \(p( h) \) 中抽取解释性因子 \(h\) :\(h\sim p( h) \),然后在给定因子的情况下,对实值的可观察变量进行采样:

\[x= Wh+ b+ noise, \]

其中噪声往往是对角化的且服从高斯分布。

下图是描述线性因子模型族的有向图模型,从中我们可以看出其一般形式。

二、典型的线性因子模型

我们假设观察到的数据向量 \(x\) 是通过独立的潜在因子 \(h\) 的线性组合再加上一定噪声获得的。不同的模型,比如概率 PCA,因子分析或者 ICA,都是选择了不同形式的噪声以及先验 \(p( h) \)。

1、因子分析

在因子分析中,潜变量的先验是一个方差为单位矩阵的高斯分布

\[h\sim N( h; 0, I) , \]

而噪声是从对角协方差矩阵的高斯分布中抽出来的,协方差矩阵为 \( \psi =diag(\sigma ^{2}) \),其中 \( \sigma ^ {2}=\left[ \sigma _ {1} ^ {2},\sigma _ {2} ^ {2},\ldots ,\sigma _ {n} ^ {2}\right] ^ {T} \) 表示一个向量,每个元素表示一个变量的方差。

很容易我们就可以看出生成的 \(x\) 服从多维正态分布,并满足

\[x\sim N( x; b, WW ^{T} + \psi ). \]

2、概率PCA

当因子分析模型中的条件方差 \( \sigma _{i} ^{2} \) 等于同一个值时,线性因子模型就变成了概率 PCA。在这种情况下,\(x\) 服从的多维正态分布将变为

\[x\sim N(x;b,WW ^{T} +\sigma ^{2} I), \]

其中 \(\sigma ^{2}\) 是一个标量。或者等价地,可以将 \(x\) 表示为

\[x=Wh+b+\sigma z, \]

其中 \( z\sim N(z;0,I) \) 是高斯噪声。

3、PCA

当概率 PCA 中的 \( \sigma \rightarrow 0 \) 时,PCA 可以看成是概率 PCA 的退化。此时,\( x \) 的表示可以写为

\[x=Wh+b. \]

4、独立成分分析

独立成分分析(ICA)是一种建模线性因子的方法,旨在将观察到的信号分离成许多完全独立的潜在信号,这些潜在信号通过缩放和叠加可以恢复成观察数据。

许多不同的具体方法被称为 ICA,它们均要求 \( p(h) \) 是非高斯的。这样的选择在 0 附近具有比正态分布更高的峰值,因此 ICA 常用于学习稀疏特征。

5、慢特征分析

慢特征分析(SFA)是使用来自时间信号的信息学习不变特征的线性因子模型,其想法源于慢性原则。

在求解时,SFA 往往要满足三个约束:一是学习到的特征要具有零均值,这样优化问题才会具有唯一解;二是学习到的特征要具有单位方差,以防止所有的特征趋近于 0 的病态解;最后一个约束是要求学习到的特征之间必须彼此线性去相关。

6、稀疏编码

稀疏编码模型通常假设线性因子有一个各向同性精度为 \( \beta \) 的高斯噪声:

\[p(x|h)=N(x;Wh+b,\frac{1}{\beta} I). \]

而分布 \( p(h) \) 通常为一个峰值很尖锐且接近 0 的分布,如可分解的 Laplace、Cauchy 或者可分解的 Student-t 分布。

posted @ 2019-03-25 15:05  此账号已注销  阅读(1371)  评论(0编辑  收藏  举报