第九讲:因子分析(Factor analysis)

本文深入探讨了在数据维度远大于样本数量的情况下,如何使用因子分析模型来拟合高斯分布。文章介绍了因子分析模型的背景,强调了在数据量不足时对协方差矩阵施加约束的必要性,并详细阐述了如何通过期望最大化(EM)算法进行因子分析。此外,还讨论了高斯模型的边界和条件分布,为理解因子分析模型的构建提供了基础。
摘要由CSDN通过智能技术生成

如果有一个多个高斯模型混合(a mixture of several Gaussians)而来的数据集 x ( i ) ∈ R n x^{(i)} ∈ R^n x(i)Rn ,那么就可以用期望最大化算法(EM algorithm)来对这个混合模型(mixture model)进行拟合。这种情况下,对于有充足数据(sufficient data)的问题,我们通常假设可以从数据中识别出多个高斯模型结构(multiple-Gaussian structure)。例如,如果我们的训练样本集合规模(training set size) m 远远大于(significantly larger than)数据的维度(dimension) n,就符合这种情况。
然后来考虑一下反过来的情况,也就是 n 远远大于 m,即 n ≫ m。在这样的问题中,就可能用单独一个高斯模型来对数据建模都很难,更不用说多个高斯模型的混合模型了。由于 m 个数据点所张开(span)的只是一个 n 维空间 R n R^n Rn 的低维度子空间(low-dimensional subspace),如果用高斯模型(Gaussian)对数据进行建模,然后还是用常规的最大似然估计(usual maximum likelihood estimators)来估计(estimate)平均值(mean)和方差(covariance),得到的则是:

μ = 1 m ∑ i = 1 m x ( i ) Σ = 1 m ∑ i = 1 m ( x ( i ) − μ ) ( x ( i ) − μ ) T , \begin{aligned} \mu&=\frac1m\sum_{i=1}^mx^{(i)}\\ \Sigma&=\frac1m\sum_{i=1}^m(x^{(i)}-\mu)(x^{(i)}-\mu)^T, \end{aligned} μΣ=m1i=1mx(i)=m1i=1m(x(i)μ)(x(i)μ)T,

我们会发现这里的 Σ Σ Σ 是一个奇异(singular)矩阵。这也就意味着其逆矩阵 Σ − 1 Σ^{−1} Σ1 不存在,而 1 / ∣ Σ ∣ 1 / 2 = 1 / 0 1/|Σ|^{1/2} = 1/0 1/Σ1/2=1/0。 但这几个变量都还是需要的,要用来计算一个多元高斯分布(multivariate Gaussian distribution)的常规密度函数(usual density)。还可以用另外一种方法来讲述清楚这个难题,也就是对参数(parameters)的最大似然估计(maximum likelihood estimates)会产生一个高斯分布(Gaussian),其概率分布在由样本数据1所张成的仿射空间(affine space)中,对应着一个奇异的协方差矩阵(singular covariance matrix)。

通常情况下,除非 m 比 n 大出相当多(some reasonable amount),否则最大似然估计(maximum likelihood estimates)得到的均值(mean)和方差(covariance)都会很差(quite poor)。尽管如此,我们还是希望能用已有的数据,拟合出一个合理(reasonable)的高斯模型(Gaussian model),而且还希望能识别出数据中的某些有意义的协方差结构(covariance structure)。那这可怎么办呢?

在接下来的这一部分内容里,我们首先回顾一下对 Σ Σ Σ 的两个可能的约束(possible restrictions),这两个约束条件能让我们使用小规模数据来拟合 Σ Σ Σ,但都不能就我们的问题给出让人满意的解(satisfactory solution)。然后接下来我们要讨论一下高斯模型的一些特点,这些后面会用得上,具体来说也就是如何找到高斯模型的边界和条件分布。最后,我们会讲一下因子分析模型(factor analysis model),以及对应的期望最大化算法(EM algorithm)。

1 Σ Σ Σ 的约束条件(Restriction)

如果我们没有充足的数据来拟合一个完整的协方差矩阵(covariance matrix),就可以对矩阵空间 Σ Σ Σ 给出某些约束条件(restrictions)。例如,我们可以选择去拟合一个对角(diagonal)的协方差矩阵 Σ Σ Σ。这样,读者很容易就能验证这样的一个协方差矩阵的最大似然估计(maximum likelihood estimate)可以由对角矩阵(diagonal matrix) Σ Σ Σ 满足:

Σ j j = 1 m ∑ i = 1 m ( x j ( i ) − μ j ) 2 . \begin{aligned} \Sigma_{jj}=\frac1m\sum_{i=1}^m(x^{(i)}_j-\mu_j)^2. \end{aligned} Σjj=m1i=1m(xj(i)μj)2.

因此, Σ j j Σ_{jj} Σjj 就是对数据中第 j 个坐标位置的方差值的经验估计(empirical estimate)。

回忆一下,高斯模型的密度的形状是椭圆形的。对角线矩阵 Σ Σ Σ 对应的就是椭圆长轴(major axes)对齐(axis- aligned)的高斯模型。

有时候,我们还要对这个协方差矩阵(covariance matrix)给出进一步的约束,不仅设为对角的(major axes),还要求所有对角元素(diagonal entries)都相等。这时候,就有 Σ = σ 2 I Σ = σ^2I Σ=σ2I,其中 σ 2 σ^2 σ2 是我们控制的参数。对这个 σ 2 σ^2 σ2 的最大似然估计则为:

σ 2 = 1 m n ∑ j = 1 n ∑ i = 1 m ( x j ( i ) − μ j ) 2 . \begin{aligned} \sigma^2=\frac1{mn}\sum_{j=1}^n\sum_{i=1}^m(x^{(i)}_j-\mu_j)^2. \end{aligned} σ2=mn1j=1ni=1m(xj(i)μj)2.

这种模型对应的是密度函数为圆形轮廓的高斯模型(在二维空间也就是平面中是圆形,在更高维度当中就是球(spheres)或者超球体(hyperspheres))。

如果我们对数据要拟合一个完整的,不受约束的(unconstrained)协方差矩阵 Σ Σ Σ,就必须满足 m ≥ n + 1 m ≥ n + 1 mn+1,这样才使得对 Σ Σ Σ 的最大似然估计不是奇异矩阵(singular matrix)。在上面提到的两个约束条件之下,只要 m ≥ 2 m ≥ 2 m2,我们就能获得非奇异的(non-singular) Σ Σ Σ

然而,将 Σ Σ Σ 限定为对角矩阵,也就意味着对数据中不同坐标(coordinates)的 x i x_i xi x j x_j xj建模都将是不相关的(uncorrelated),且互相独立(independent)。通常,还是从样本数据里面获得某些有趣的相关信息结构比较好。如果使用上面对 Σ Σ Σ 的某一种约束,就可能没办法获取这些信息了。在本章讲义里面,我们会提到因子分析模型(factor analysis model),这个模型使用的参数比对角矩阵 Σ Σ Σ 更多,而且能从数据中获得某些相关性信息(captures some correlations),但也不能对完整的协方差矩阵(full covariance matrix)进行拟合。

2 多重高斯模型(Gaussians )的边界(Marginal)和条件(Conditional)

在讲解因子分析(factor analysis)之前,我们要先说一下一个联合多元高斯分布(joint multivariate Gaussian distribution)下的随机变量(random variables)的条件(conditional)和边界(marginal)分布(distributions)。

假如我们有一个值为向量的随机变量(vector-valued random variable):

x = [ x 1 x 2 ] \begin{aligned} x=\begin{bmatrix} x_1\\x_2\end{bmatrix} \end{aligned} x=[x1x2]

其中 x 1 ∈ R r x_1 ∈ R^r x1Rr, x 2 ∈ R s x_2 ∈ R^s x2Rs,因此 x ∈ R r + s x ∈ R^{r+s} xRr+s。设 x ∼ N ( μ , Σ ) x ∼ N(μ,Σ) xN(μ,Σ), 即以 μ μ μ Σ Σ Σ 为参数的正态分布,则这两个参数为:

μ = [ μ 1 μ 2 ] , Σ = [ Σ 11 Σ 12 Σ 21 Σ 22 ] . \begin{aligned} \mu=\begin{bmatrix} \mu_1\\\mu_2\end{bmatrix},\Sigma=\begin{bmatrix} \Sigma_{11}&\Sigma_{12}\\\Sigma_{21}&\Sigma_{22}\end{bmatrix}. \end{aligned} μ=[μ1μ2],Σ=[Σ11Σ21Σ12Σ22].

其中, μ 1 ∈ R r μ_1 ∈ R^r μ1Rr, μ 2 ∈ R s μ_2 ∈ R^s μ2Rs, Σ 11 ∈ R r × r Σ_{11} ∈ R^{r×r} Σ11Rr×r, Σ 12 ∈ R r × s Σ_{12} ∈ R^{r×s} Σ12Rr×s,以此类推。由于协方差矩阵(covariance matrices)是对称的(symmetric),所以有 Σ 12 = Σ 21 T Σ_{12} = Σ^T_{21} Σ12=Σ21T.

基于我们的假设, x 1 x_1 x1 x 2 x_2 x2联合多元高斯分布(jointly multivariate Gaussian)。 那么 x 1 x_1 x1 的边界分布是什么?不难看出 x 1 x_1 x1 的期望 E [ x 1 ] = μ 1 E[x_1] = μ1 E[x1]=μ1 ,而协方差 C o v ( x 1 ) = E [ ( x 1 − μ 1 ) ( x 1 − μ 1 ) ] = Σ 11 Cov(x_1) = E[(x_1 − μ_1)(x_1 − μ_1)] = Σ_{11} Cov(x1)=E[(x1μ1)(x1μ1)]=Σ11 。接下来为了验证后面这一项成立,要用 x 1 x_1 x1 x 2 x_2 x2的联合方差的概念:

C o v ( x ) = Σ = [ Σ 11 Σ 12 Σ 21 Σ 22 ] = E [ ( x − μ ) ( x − μ ) T ] = E [ ( x 1 − μ 1 x 1 − μ 1 ) ( x 1 − μ 1 x 1 − μ 1 ) T ] = E [ ( x 1 − μ 1 ) ( x 1 − μ 1 ) T ( x 1 − μ 1 ) ( x 2 − μ 2 ) T ( x 2 − μ 2 ) ( x 1 − μ 1 ) T ( x 2 − μ 2 ) ( x 2 − μ 2 ) T ] . \begin{aligned} Cov(x)&=\Sigma\\ &=\begin{bmatrix} \Sigma_{11}&\Sigma_{12}\\\Sigma_{21}&\Sigma_{22}\end{bmatrix}\\ &=E[(x-\mu)(x-\mu)^T]\\ &=E\begin{bmatrix}\binom{x_1 − μ_1}{x_1 − μ_1} \binom{x_1 − μ_1}{x_1 − μ_1} ^T\end{bmatrix}\\ &=E\begin{bmatrix}(x_1 − μ_1)(x_1 − μ_1)^T&(x_1 − μ_1)(x_2 − μ_2)^T\\ (x_2 − μ_2)(x_1 − μ_1)^T&(x_2 − μ_2)(x_2 − μ_2)^T\end{bmatrix}. \end{aligned} Cov(x)=Σ=[Σ11Σ21Σ12Σ22]=E[(xμ)(xμ)T]=E[(x1μ1x1μ1)(x1μ1x1μ1)T]=E[(x1μ1)(x1μ1)T

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值