zoukankan      html  css  js  c++  java
  • 关于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

  • 相关阅读:
    NJUPT_Wrj 个人训练实录
    图片保存本地,上传阿里云,保存该图片 在阿里云的 路径 到 本地数据库
    微信所有国家列表
    YII load()
    ab命令压力测试
    fatal: Could not read from remote repository
    JS获取URL中参数值的4种方法
    yii 生成 模型
    php子类是否自动调用父类构造函数
    自己实现一个简化版的SpringMVC框架
  • 原文地址:https://www.cnblogs.com/hellochennan/p/6647158.html
Copyright © 2011-2022 走看看