浅谈混合因子分析——A Brief Discussion about Mixture of Factor Analysis (MFA)

混合因子分析(MFA),或曰概率主成分分析(PPCA),在数据科学中是一种有效的数据降维方法。但是其用途不啻于此。本文从实用的角度简单介绍下混合因子分析的基本原理。

因子分析概述

基本原理

主成分分析(PCA)是一种常用的线性降维技术,因子分析(Factor Analysis, FA)是其更一般形式。这里不讨论PCA的相关细节。FA的提出基于下述线性高斯隐变量生成模型:
p ( z ) = N ( z ∣ μ 0 , Σ 0 ) p ( x ∣ z , θ ) = N ( x ∣ W z + μ , Ψ ) \begin{aligned} p(z) &= \mathcal{N}(z | \mu_{0}, \Sigma_{0}) \\ p(x|z,\theta) &= \mathcal{N}(x|Wz+\mu,\Psi) \end{aligned} p(z)p(xz,θ)=N(zμ0,Σ0)=N(xWz+μ,Ψ) 其中 W ∈ R D × L W\in\mathbb{R}^{D \times L} WRD×L被称为factor loading矩阵。FA可被看作是一种低阶的高斯分布。
murphy2020-1
如上图, x ∈ R D , D = 2 x\in\mathbb{R}^{D}, D=2 xRD,D=2 是2维变量,但是,我们可以用 z ∈ R L , L = 1 z\in\mathbb{R}^{L}, L=1 zRL,L=1这个1维变量将其生成。这便是FA的基本原理。该思路应用于机器人运动规划领域十分有价值,因为很多时候维度与自由度并不相同,换一个视角就可以将高维度的运动轨迹用低自由度的机器人实现。

话不多说,给定上述公式,我们可以计算可观变量(visible/observable variable) x x x的边缘概率分布为: p ( x ∣ θ ) = ∫ p ( x ∣ z , θ ) p ( z ) d z = N ( x ∣ W μ 0 + μ , W Σ 0 W ⊤ + Ψ ) p(x|\theta) = \int p(x|z,\theta)p(z)\mathrm{d}z = \mathcal{N}(x|W\mu_{0}+\mu, W\Sigma_{0}W^{\top}+\Psi) p(xθ)=p(xz,θ)p(z)dz=N(xWμ0+μ,WΣ0W+Ψ)
不失一般性,假定 μ 0 = 0 , Σ 0 = I \mu_{0} = 0, \Sigma_{0} = I μ0=0,Σ0=I,那么可得到: p ( x ∣ θ ) = N ( μ , W W ⊤ + Ψ ) p(x|\theta) = \mathcal{N}(\mu,WW^{\top}+\Psi) p(xθ)=N(μ,WW+Ψ) 定义:
C = C o v [ x ] = W W ⊤ + Ψ C = \mathrm{Cov}[x] = WW^{\top}+\Psi C=Cov[x]=WW+Ψ 其中 Ψ \Psi Ψ 是对角矩阵,该假设十分关键。对于可观变量 x x x 的每个维度,其方差为
V [ x ] = ∑ k = 1 L w d k 2 + ψ d \mathrm{V}[x] = \sum_{k=1}^{L}w_{dk}^{2}+\psi_{d} V[x]=k=1Lwdk2+ψd 可以看出,该表达式包含一个通用因子和一个uniqueness ψ d \psi_{d} ψd。基于上述假设,容易得到可观变量与隐变量的联合分布为:
[ x z ] ∼ N ( [ μ 0 ] , [ W W ⊤ + Ψ W W ⊤ I ] ) \begin{bmatrix} x \\ z \end{bmatrix} \sim \mathcal{N}\left( \begin{bmatrix} \mu \\ 0 \end{bmatrix}, \begin{bmatrix} WW^{\top}+\Psi & W \\ W^{\top} & I \end{bmatrix} \right) [xz]N([μ0],[WW+ΨWWI])

利用高斯分布的贝叶斯法则,我们可知:
p ( z ∣ x ) = N ( z | W ⊤ C − 1 ( x − μ ) , I − W ⊤ C − 1 W ) p(z|x) = \mathcal{N}\left( z \middle\vert W^{\top}C^{-1}(x-\mu), I-W^{\top}C^{-1}W \right) p(zx)=N(zWC

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值