因子分析(二)- Gibbs采样算法求解

本文介绍了Gibbs采样算法在因子分析中的使用,作为解决EM算法局限性的方法。Gibbs采样是MCMC算法的一种,用于从多变量概率分布中抽取样本。在因子分析的背景下,详细阐述了如何建立模型的条件后验分布,并给出了具体的采样步骤。通过大量的样本估计,Gibbs采样能够近似复杂的后验分布,尽管结果带有随机性,但随着迭代次数增加,结果会更接近真实分布。
摘要由CSDN通过智能技术生成

系列文章

因子分析(〇)- FA数学模型

因子分析(一)- EM算法求解

因子分析(二)- Gibbs采样算法求解

因子分析(三)- VB算法求解

〇、前言

在上一篇文章最后,我们推导了出来FA模型的参数 [公式][公式] 的极大似然估计的解析公式。不过大家会发现参数的解析式很长,还都是矩阵运算,并且要迭代很多次,计算机的运算速度会比较慢。同时对于很多实际模型,它的后验分布无法直接计算或者形式相当复杂,因此需要某些形式的近似方法。

为了解决EM算法的局限,我们可以采用Gibbs采样算法来求解。

一、Gibbs采样

吉布斯采样是统计学中用于马尔科夫蒙特卡洛(Markov chain Monte Carlo, MCMC)的一种算法,用于在难以直接采样时从某一多变量概率分布中近似抽取样本序列。

虽然吉布斯采样算法已经是MCMC最首选的方法,但在往下看之前如果有对MCMC不了解的同学,强烈建议先学习了解一下MCMC方法中的各种算法的演变过程,能帮助大家理解Gibbs是咋来的。
我在这篇文章中就不推导Gibbs采样了,因为要涉及到的知识有点多,我怕我讲得不好,我只给出采样步骤,重点讲Gibbs怎么求解FA模型。
这里强烈推荐 刘建平大佬的blog,从一看到四。

吉布斯采样算法的步骤其实挺简单:

[公式]

[公式]

[公式]

[公式]

[公式]

[公式]

具体理解就是:

[公式] 个随机变量[公式],他们会服从一个联合分布 [公式] ,如果我想对这 [公式] 个随机变量采样采 [公式] 组,我们只需要在条件分布[公式] 中采样,对随机变量 [公式] 采样得到 [公式] 之后就更新之前的 [公式] ,每个随机变量 [公式] 都采了一次样后,我们就能得到一组样本,迭代 [公式] 次采样后就能得到 [公式] 组样本,越往后面的那一批样本会更加接近真实的联合分布。Gibbs采样的思想简单来说就是固定其中 [公式] 个随机变量,只看剩下的那一个随机变量,在这个变量上采样,然后对 [公式] 个变量都这样做。再通俗的讲就是这么多变量全都一起考虑难度太大,那我就不管其他的,只对其中一个下手,对每个变量都这样做。

二、FA模型的Gibbs采样算法求解

假设有独立同分布(i.i.d)的样本集 [公式] ,其中每个 [公式] 都是一 [公式] 维空间中的向量,同上一篇文章,给出因子分析的数学模型如下:

[公式]

首先选择模型的无信息先验分布:

[公式]

进一步假设:

[公式]

注意:上式中的无信息先验分布并不是随意选取的,一般可根据共轭分布法则(conjugate distribution),即最后使得参数的先验分布和后验分布数学表达形式相同。此处, [公式] 表示伽马分布,是高斯分布中关于方差的共轭先验分布正态分布方差σ²的共轭先验分布为倒伽马分布,假定X~gamma,则1/X~InvGamma(倒伽马),也就是伽马的倒数,所以上面都是-1次方)。

以上分布中的参数如 [公式] 称为超参数(hyperparameter),并且都是已知量。

我们假设变量之间都是互相独立的,得模型的联合概率分布(公式很长,是连乘):

[公式]

由上式求边缘分布,积分得:

[公式]

上式表明 [公式] 服从高斯分布,即:

[公式]

( [公式]提议分布(proposal distribution),也就是上面的边缘分布),其中:

[公式]

以此类推我们可以得到 [公式] 的:

[公式]

由上式得:

[公式]

能得到 [公式] 的:

[公式]

能得到 [公式] 的:

[公式]

能得到 [公式] 的:

[公式]

得到了各条件后验分布函数的参数表达形式后,下面给出由Gibbs采样算法推导 FA模型的具体步骤:

(1)根据样本数据与参数的联合概率密度,求出各参数的条件后验(此处不必计算出概率分布的归一化常数),并找出该分布对应参数的具体表达形式,即上面的公式。

(2)初始化模型参数并确定采样次数,利用具体表达形式进行Gibbs采样。

(3)在马尔可夫链中等间隔(尽可能保证采样值之间是独立的)保存参数的采样值,采样结束后,对这些采样值取平均,即为所求参数的平均值。

三、总结

与EM算法这种确定性(deterministic)的近似算法不同的是,吉布斯采样算法是一种具有随机性(stochastic)的近似算法。它可以近似计算复杂的后验分布,能很好地应用到贝叶斯统计推断中。这种方法通过大量的样本估计真实的后验,因为算法中涉及采样,所以近似结果带有一定的随机性。即在相同的初始条件下,最终得到的结果可能有所不同。

如果迭代次数趋于无穷大,理论上它可以获得确定的解,即可以得到参数真实后验分布的采样值,有限的迭代次数决定了最终得到的只能是一个近似解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值