关于LDA的gibbs采样,为什么可以获得正确的样本?
算法里面是随机初始了一个分布,然后进行采样,然后根据每次采样的结果去更新分布,之后接着采样直到收敛。
1.首先明确一下MCMC方法。
当我们面对一个未知或者复杂的分布时,我们经常使用MCMC方法来进行分布采样。而采样的目的是得到这个分布的样本,通过这些样本,我们就能明确出该分布的具体结构。所以MCMC本身就是解决无法直接采样或理解的分布问题的,所以不是对已知分布进行采样。
而gibbs采样时MCMC方法的一种改进策略,所以解决的是一类问题。在LDA中,后验概率无法直接取得,我们通过gibbs采样的方法去采样该分布,从而得到模型结构。
2.关于gibbs采样正确性,或者鸡生蛋蛋生鸡的说法。
关于gibbs采样的正确性,即能够得到正确的结果。基本层面是MCMC方法的正确性问题,因为gibbs采样只是MCMC方法的变种,即升级接受概率为1,关于这方面的证明过比较专业,题主可以去查询相关的资料。
而在实际中鸡生蛋蛋生鸡的问题,建议题主可以从EM算法了解下手,即含有隐变量时的参数估计问题,相信题主能够得到一些答案。
Gibbs Sampling或者说更一般的MCMC算法,本来就可以保证对于任意初始分布(或者应该说不叫分布吧,就是一组初值),迭代能收敛到真实分布。和LDA本身没什么关系。
至此,采用Gibbs采样:
(1)随机给定每个单词的主题。
(2)根据转移概率依次产生每个单词的新的主题。
(3)收敛后,得到的采样极为所求的采样。
[1]LDA数学八卦
[2]Parameter estimation for text analysis
厚积薄发,行胜于言@飞鸟各投林