MLAPP————第十二章 隐线性模型

第十二章 隐线性模型

12.1 要素分析(factor analysis)

在我们之前提到的混合模型中,数据的生成都是由某个隐状态控制的,然后是那个隐状态控制的分布生成的,但是这样的模型在表示上还是具有一定的局限性,不够完整。

一个可行的方法是引入实值的隐变量,最简单的先验就是使用高斯的(当然后面也会考虑其它的情况):,如果我们观测到的数据也是连续的话,即:,那么我们可以假设似然为:

这有点像线性模型一样,不过这里我们做出的假设是均值是关于隐变量的线性模型,这是基于隐变量的条件概率模型(也是似然)。其中的矩阵,称之为因子载荷矩阵(factor loading matrix),是一个的协方差矩阵。我们令是一个对角阵,因为你想在我们用这个隐变量,某种程度上就是为了简化模型,所以说在已知下,中的任何两个分量是不相关的,也是很合理的。整个模型我们就称之为 factor analysis 或者是FA。一种特殊的情况就是,这个称之为概率的主成分分析(probabilistic principle components analysis, PPCA)。

下图展示了一个简单的例子,其中

关于为什么要用FA,下面是我的一些看法:

12.1.1 FA是MVN的低秩的参数化

FA可以被认为是一种使用少量参数去指定联合密度模型的方法。我们根据公式4.126,可以得到边缘分布也是高斯的,并且可以表示为:

在这里完全可以耦合到中去,以及我们也可以令,即做一个变量代换,所以说不失一般性,我们就可以假设以及,所以我们可以发现,这样的话,协方差矩阵就是:=

因为我们之前说过是一个对角阵,所以说在这种情况下,我们的参数的个数是,但是对于MVN来说,其参数的个数是,所以说我们引入隐变量其实是对数据进行了压缩表示,如果我们没有设置是对角阵,那么这样隐变量的引入就不能减少参数的个数。

12.1.2 latent factors的推理

尽管FA可以被看做仅仅是给出了一种关于数据的一种压缩方法,但是我们总是希望隐变量可以揭露数据自身的一些特性。所以我们就想去计算隐变量的后验分布,在高斯的模型下,这个计算是比较简单的,即:

我们可以看到在FA模型中,其实是独立于i的,所以我们可以用来表示它。计算这个后验协方差矩阵需要,计算每个需要有时我们称之为latent scores或者是latent factors。

下面我们举一个具体的例子,考虑我们关于汽车的数据集中有个变量以及有组数据。变量包括引擎的尺寸,汽缸的数目,每加仑英里(MPG)以及价格等。我们先拟合一个L=2这样一个模型,那么在这个模型下,我们就可以在平面上画出的的图,具体如下:

我们可以看到这上面给了一些不同的车的一些点。(这里我们说明一下为什么叫隐因素,因为在FA中其实可以看成是压缩,但是有时也是一种叫隐藏的因素影响了最终的结果,在这个问题中看似有11的变量,但是实际上有很多是相关的,所以说我们也许用其中的两个或者说我们引入另外两个具有一定物理意义的变量,就可以很好的刻画出最终的结果

基于上面的解释,我们再来理解一下什么是latent factors。假设我们在做压缩的时候,我们固定的只能是压缩到这11个维度中取两个维度,我们看到上图的蓝线就表示了我们进行这样压缩之后的坐标图的变化情况,在这个例子下,纵坐标表示的是价格,横坐标表示的是MPG。

12.1.3 不唯一性

就像在混合模型中一样,FA这个模型其实也是不唯一的,怎么解释这个事情呢。之前在12.1.1中我们将其实假设以及是不失一般性的假设。确实,因为即使你作出了这样的假设只是会使你后面关于的估计的结果会不一样。所以在这里我们保持那个假设,那么在这样的假设下,我们发现对于任意的,只要其满足,都会有:

这个分布的结果是一样的结果,均值都是不变,协方差矩阵=

从几何上看这一个现象,我们的乘以一个正交的矩阵,就是相当于在生成之前把进行了旋转,又因为是从一个各向同性的高斯分布中取得的,所以这样对似然就没有什么影响。

为了确保我们的解只有一个,我们就需要扔掉个自由度,因为我们的正交矩阵的维度是。(怎么来看待这个问题呢,对于一个的正交矩阵来说,它的第一行有L-1个自由的参数,因为长度要为1,第二行则是L-2的自由度,因为要和第一行正交,依次类推)。那么总的来说,在FA模型中,我们的协方差矩阵就只能有个自由的变量。当然,我们肯定是要求这个值一定是要小于没有被约束的MVN的参数的个数,即,这就给出了我们进行L选取的一个上界,即:

例如,当,表明,当然,我们往往并不会去选择这个上界,因为这样很容易会过拟合(具体关于L的选择参见12.3)。

不幸的是,即使我们选择了,仍然不能唯一的确定参数,旋转的不确定性仍旧是存在的。尽管这样的一个旋转的特性并不会影响预测的性能,但是它会影响,影响了这个就会影响我们关于隐变量的物理解释,这样的话有可能就不能够很好的去揭示模型的相关物理意义。所以说一下还有一些方法:

强迫是标准正交的:对于解不唯一性的最干净的解决办法可能就是强迫是标准正交的,并且列的话按照隐变量的方差从大到小进行降序排列。在12.2中讲的PCA就是用的该种方法。这个方法的解释性也不强,但是至少是唯一的。

强迫是下三角矩阵:在贝叶斯的体系中,一个非常流行的方法是假设我们的第一个观测到的变量只和第一个隐变量相关,我们的第二个观测到的变量只和第一个和第二个隐变量相关,如此下去。例如当,相应的factor loading matrix就是如下形式:

我们还要求,在这样的要求下,参数的总共的数目就是,这个和上面说的uniquely的参数数目是一样的。这个方法的缺点就是,前L个观测到的变量是非常重要的,在选取的时候需要十分的谨慎。

增加促使权重稀疏性的先验:我们不去特别的强调的哪些元素是0,而是去鼓励它的一些元素为0,使用正则化,ARD或者spike-and-slab先验(后两种都没听过)。这个叫做稀疏的因素分析,在这个方法下并不强调MAP估计一定是唯一的,但是它鼓励可以解释的一些解。

选择有一些信息的旋转矩阵:因为实际上就是的取值是有很多个,所以我们就想能不能通过一些方法去限制这个,去增加它的可解释性,经常的,我们就是尽量使是稀疏的或者近似稀疏的。一个流行的方法就是varimax。

使用非高斯的先验:在后面12.6中我们将会介绍这类方法,叫做ICA。

12.1.4 混合因素分析器(Mixtures of factor analysers)

在FA模型中,我们假设的是我们的数据是在一个低维的线性流形下的。但是实际上在很多应用场合,我们的数据更符合低维的曲线流形这样一个特征。我们可以把曲线的流形近似为一块一块的线性流形的组合。具体的模型如下:

在此模型下,假设我们用K个线性的流形去近似曲线流形,到底选择哪一个线性流形取决于隐变量指示器。这个模型称之为mixtures of factor analysers(MFA),下图展示了其CI关系:

另一个方法去看待这个模型,就是把它看成低秩的混合高斯模型。实际上,这个模型只需要个参数,而不是GMM中,过多的参数容易导致过拟合。事实上MFA对于高维的实数据是一个非常好的压缩模型。

12.1.5 EM算法应用到FA模型中

直接使用第四章的一些推导结果,我们可以很直接的将EM算法应用到FA模型中去,并且只需要一些微小的变动就可以运用到MFA中去。书上说下面只会给出一些直接的结果,并不会给出相关的证明,我们来看一看,如果可以的话,也是可以简单的证明一下。

下面给出的是MFA的结果,对于FA来说,就是设定

在E step中,我们有:

下面证明一下为什么是这样

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值