第十三章 线性因子模型
许多深度学习算法被设计为处理无监督学习问题,但不像深度学习已经在很大程度上解决了各种任务的监督学习问题,没有一个算法能以同样的方式真正解决无监督学习问题。
无监督学习困难的核心原因是被建模的随机变量的高维度。这带来了两个不同的挑战:统计挑战和计算挑战。
统计挑战与泛化相关:我们可能想要区分的配置数会随着感兴趣的维度数指数增长,并且这快速变得比可能具有的(或者在有限计算资源下使用的)样本数大得多。
与高维分布相关联的计算挑战之所以会出现,是因为用于学习或使用训练模型的许多算法(特别是基于估计显式概率函数的算法)涉及难处理的计算量,并且随维数呈指数增长。
使用概率模型,这种计算挑战来自执行难解的推断或归一化分布。
无监督学习常常需要建立一种依赖于观察数据的概率模型 。 原则上说,给定任何其他变量的情况下,这样的模型可以使用概率推断来预测其环境中的任何变量。
由于实际观察的数据 常常比较杂乱没有规律,通常我们会用某种代表了更低维基本特征的潜变量(latent variables,或者说隐变量) 来更好的表征数据,将问题转化为 。 这些潜变量提供了表示数据的另一种方式。 我们在深度前馈网络和循环网络中已经发现,基于潜变量的分布式表示继承了表示学习的所有优点。
本章主要介绍了最基本的利用潜变量的概率模型——线性因子模型(Linear Factor model),即假定 取自某种先验分布(prior distribution) ,而我们观察到的数据是 的线性变换与一些随机噪声的叠加,用式子表示为 ,之后讨论的不同方法会选择不同的 和 noise 分布。
从某种程度上说,线性因子模型是最简单的生成模型和学习数据表示的最简单模型。许多模型如线性分类器和线性回归模型可以扩展到深度前馈网络,而这些线性因子模型可以扩展到自编码器网络和深度概率模型,它们可以执行相同任务但具有更强大和更灵活的模型族。
概率PCA和因子分析
关于PCA和因子分析,独立成分分析可以参见https://zhuanlan.zhihu.com/p/33204580
概率PCA、因子分析和其他线性因子模型是等式 的特殊情况,并且仅在对观测到 之前的噪声分布和潜变量 先验的选择上有所不同。
因子分析
(Factor Analysis)模型中,
满足单位高斯分布
,而观察数据
相对于
则相互条件独立,noise来自于对角协方差高斯分布,其协方差矩阵(covariance matrix)
,其中 中
是每个变量的方差(variances)。
概率主成分分析
(Probabilistic PCA)模型与因子分析模型类似,但是我们令所有的条件方差(conditional variances)
都相等,即
其中
是高斯噪声。
独立成分分析(Independent Component Analysis,ICA)
独立成分分析(independent component analy sis,ICA)是最古老的表示学习算法之一。它是一种建模线性因子的方法,旨在将观察到的信号分离成许多潜在信号,这些潜在信号通过缩放和叠加可以恢复成观察数据。这些信号是完全独立的,而不是仅仅彼此不相关。
通俗理解:ICA 认为观测信号是若干个独立信号的线性组合,ICA 要做的是一个解混过程。
例如,将收集到的不同人的语音信息的叠加分割成原本每个人的语音。
- 场景(1)
我们去ktv唱歌,想辨别唱的是什么歌曲?ICA 观察发现是原唱唱的一首歌【2个独立的声音(原唱/主唱)】。 - 场景(2)
有 个人同时说话。 如果我们在不同位置放置 个不同的麦克风,则 ICA 可以检测每个麦克风的音量变化,并且分离信号,使得每个 仅包含一个人清楚地说话。。
由于目的是潜变量相互独立,所以其先验分布为非高斯分布。这是因为如果p(h)是具有高斯分量的独立先验,则W是不可识别的。而概率 PCA 和因子分析通常要求 是高斯的,以便使模型上的许多操作具有闭式解。
另外,ICA并不一定需要生成模型即知道怎样模拟 的生成概率分布 ,许多ICA的变种只是将目标定为尽量提高 的峰度以尽可能偏离高斯分布,而无需明确的表示 的生成概率分布 。
PCA,因子分析和ICA这3项技术中,目前PCA应用最广泛。