zoukankan      html  css  js  c++  java
  • LDA算法里面Dirichlet分布的两个参数alpha和beta怎样确定?

    本文参考自:https://www.zhihu.com/question/21692336/answer/19387415
     
    方法一:  
      alpha 是 选择为 50/ k, 其中k是你选择的topic数,beta一般选为0.01吧,,这都是经验值,貌似效果比较好,收敛比较快一点。。有一篇paper, lda-based document models for ad-hoc retrieval里面的实验系数设置有提到一下啊

    方法二:

      alpha属于超参数,可以经验贝叶斯估计,在Blei原作里面是用EM算法估计超参数的。E步就是固定超参数,对其中的变分参数gamma和phi进行推断,然后在M步,利用E步得到的变分参数最大化边缘似然函数,对alpha和beta进行估计。E步和M步迭代进行,最后可以收敛到一个定值。这就是变分EM方法,Blei原作里面也是这么做的。经过训练以后,当给一个新的文档,就可以使用训练中得到的alpha和beta直接对新文档进行变分,从而对其进行聚类。

    在这里beta仍然是参数,完全贝叶斯方法还要在beta上加一个狄利克雷先验,这时仍然可以用变分EM估计beta的先验。

    在上面的过程中,E步用到的是变分推断,这一步可以用Gibbs推断代替,这时可以得到参数theta和beta。然后再用M步最大化边缘似然函数,得到超参数alpha和beta的先验参数,在不同的文章里上面的符号表示的不太一样,注意区分一下。LDA的Gibbs推断详细算法可以参考“parameter estimation for text analysis”






  • 相关阅读:
    牛客-小V和gcd树
    CF-Codeforces Round #639 (Div. 2)-D-Monopole Magnets
    牛客-牛牛染颜色
    CF-637
    提高办公效率——快捷键
    FusionComputer虚拟机克隆后出现网卡服务重启失败解决办法
    centos7.5mini中Firewalld端口不通解决办法及想法
    FusionConputer热迁移过程记录
    Java集合框架之Iterable接口
    初识Java集合框架
  • 原文地址:https://www.cnblogs.com/hellochennan/p/6647132.html
Copyright © 2011-2022 走看看