注意:$\alpha$和$\beta$已知,常用为(和LDA EM算法不同)

1.   为什么可用

LDA模型求解的目标为得到$\phi$和$\theta$

假设现在已知每个单词对应的主题$z$,则可以求得$\theta$的后验分布,求期望得到$E(\theta)$作为每份文档的主题

$E(\theta_{mk})=\frac{n_m^k+\alpha_k}{n_m+\alpha_k}$

同样,可以求得$\phi$的后验分布,求期望$E(\phi)$作为每个主题下生成对应单词的概率

$E(\phi_{kt})=\frac{n_k^t+\beta_t}{n_k+\beta_t}$

现在问题转换为,如何获取$z$

2.   公式推导

Gibbs Sampling固定住除了$z_i$以外的其他$z$,记为$\vec {z_{\neg i}}$,使用以下概率分布生成新的$z_i$:

$p(z_i|\vec {z_{\neg i}},\vec w)\quad=\ \frac{p(\vec z,\vec w)}{p(\vec {z_{\neg i}},\vec {w_{\neg i}}|w_i)p(w_i)}$         $(1)$

由于每个单词之间的生成相互独立,所以$p(\vec {z_{\neg i}},\vec {w_{\neg i}}|w_i)=p(\vec {z_{\neg i}},\vec {w_{\neg i}})$

又$\alpha$的每个分量都想等,$\beta$的每个分量都相等,所以对于两个单词有$p(w_i)=p(w_j)$

$(1)\ \propto \frac{p(\vec z,\vec w)}{p(\vec {z_{\neg i}},\vec {w_{\neg i}})}$

$p(\vec z,\vec w,\phi,\theta|\alpha,\beta)=\prod_{k=1}^K p(\phi_k|\beta)\prod_{m=1}^M p(\theta_m|\alpha)\prod_{n=1}^{N_m}p(z_{mn}|\theta_m)p(w_{mn}|z_{mn},\phi)\\ \quad\quad=(\prod_{k=1}^K p(\phi_k|\beta)\prod_{m=1}^M \prod_{n=1}^{N_m} p(w_{mn}|z_{mn},\phi))^{[1]}\\ \quad\quad\quad *(\prod_{m=1}^M p(\theta_m|\alpha) \prod_{n=1}^{N_m}  p(z_{mn}|\theta_m))^{[2]}$

上式中[1]是和$\phi$有关的部分,[2]是和$\theta$有关的部分,对$\phi$,$\theta$积分可得到$p(\vec z,\vec w|\alpha,\beta)$

$[1]=\prod_{k=1}^K \frac{\bigtriangleup \beta+n_k^{(t)}}{\bigtriangleup \beta} \int p(\phi_k|\beta+n_k^{(t)})d\phi_k =\prod_{k=1}^K \frac{\bigtriangleup \beta+n_k^{(t)}}{\bigtriangleup \beta}$,$n_k^{(t)}$为所有单词中,主题为k,单词是t的个数

$[2]=\prod_{m=1}^M \frac{\bigtriangleup \alpha+n_m^{(k)}}{\bigtriangleup \ alpha} \int p(\theta_m|\alpha+n_m^{(k)})d\theta_m=\prod_{m=1}^M \frac{\bigtriangleup \alpha+n_m^{(k)}}{\bigtriangleup \ alpha}$,$n_m^{(k)}$是文档m中,主题为k的个数

结合公式(1):

$p(z_i=k|\vec {z_{\neg i}},\vec w) \propto\quad \frac{\prod_{k=1}^K \bigtriangleup \beta+n_k^{(t)}}{\prod_{k=1}^K \bigtriangleup \beta+n_{k\neg i}^{(t)}}\frac{\prod_{m=1}^M \bigtriangleup \beta+n_k^{(t)}}{\prod_{m=1}^M \bigtriangleup \beta+n_{k\neg i}^{(t)}} \propto \frac{n_{k\neg i}^{(t)}+\beta_t}{\sum_{t=1}^{V} n_{k\neg i}^{(t)}+\beta_t} \frac{n_{m\neg i}^{(k)}+\alpha_k}{\sum_{k=1}^{K} n_{m\neg i}^{(k)}+\alpha_k}$

3.   算法流程

i.   初始化z

ii.  更新z

iii. 得到$\phi$,$\theta$

LDA Gibbs Sampling的更多相关文章

  1. LDA的Gibbs Sampling求解

    <LDA数学八卦>对于LDA的Gibbs Sampling求解讲得很详细,在此不在重复在轮子,直接贴上该文这部分内容. Gibbs Sampling 批注: 1.              ...

  2. 随机采样和随机模拟:吉布斯采样Gibbs Sampling实现文档分类

    http://blog.csdn.net/pipisorry/article/details/51525308 吉布斯采样的实现问题 本文主要说明如何通过吉布斯采样进行文档分类(聚类),当然更复杂的实 ...

  3. 随机采样和随机模拟:吉布斯采样Gibbs Sampling

    http://blog.csdn.net/pipisorry/article/details/51373090 吉布斯采样算法详解 为什么要用吉布斯采样 通俗解释一下什么是sampling. samp ...

  4. Gibbs Sampling深入理解

    二维Gibbs Sampling算法 Gibbs Sampling是高维概率分布的MCMC采样方法.二维场景下,状态(x, y)转移到(x’, y’),可以分为三种场景 (1)平行于y轴转移,如上图中 ...

  5. PRML读书会第十一章 Sampling Methods(MCMC, Markov Chain Monte Carlo,细致平稳条件,Metropolis-Hastings,Gibbs Sampling,Slice Sampling,Hamiltonian MCMC)

    主讲人 网络上的尼采 (新浪微博: @Nietzsche_复杂网络机器学习) 网络上的尼采(813394698) 9:05:00  今天的主要内容:Markov Chain Monte Carlo,M ...

  6. 随机采样方法整理与讲解(MCMC、Gibbs Sampling等)

    本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅.其实参考资料中的资料写的比我好,大家可以看一下!好东西多分享!PRML的第11章也是sampling,有时间后面写到P ...

  7. LDA-math-MCMC 和 Gibbs Sampling

    http://cos.name/2013/01/lda-math-mcmc-and-gibbs-sampling/ 3.1 随机模拟 随机模拟(或者统计模拟)方法有一个很酷的别名是蒙特卡罗方法(Mon ...

  8. 随机采样和随机模拟:吉布斯采样Gibbs Sampling实现高斯分布参数推断

    http://blog.csdn.net/pipisorry/article/details/51539739 吉布斯采样的实现问题 本文主要说明如何通过吉布斯采样来采样截断多维高斯分布的参数(已知一 ...

  9. Gibbs sampling

    In statistics and in statistical physics, Gibbs sampling or a Gibbs sampler is aMarkov chain Monte C ...

随机推荐

  1. Substrings(hd1238)

    Substrings Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  2. sqlite在Android上的一个bug:SQLiteCantOpenDatabaseException when nativeExecuteForCursorWindow

    更多内容在这里查看 https://ahangchen.gitbooks.io/windy-afternoon/content/ ::-/com.company.product W/System.er ...

  3. 阅读express的感悟

    在github上看了半天的源码,也是云里雾里,勉强也算看完了,通过查看很多人的讲解也方便了我的理解,今天记录下来,也算是做个笔记. 进入express的源码文件里我们可以看到8个文件:middlewa ...

  4. python学习day3

    目录: 1.集合set 2.计数器 3.有序字典 4.默认字典 5.可命名元组 6.队列 7.深浅拷贝 8.函数 9.lambda表达式 10.内置函数 一.集合set set是一个无序且不重复的元素 ...

  5. perl binlog dml操作报告

    <pre name="code" class="html">if ( $#ARGV < 2 ){ print "please inp ...

  6. How ASP.NET MVC Works?

    原文地址:http://www.cnblogs.com/artech/archive/2012/04/10/how-mvc-works.html?ADUIN=7783008&ADSESSION ...

  7. JIRA官方:为什么要用JIRA?

    因为你有各种事务 工作中总是有各种事务要去处理,而这些事务不仅仅是代码中的Bug.这些事务充斥在你的收件箱中,各种想法散落在 Excel表格里,需求隐藏在原有的业务系统中.使用JIRA可以轻松捕捉和管 ...

  8. linux之普通用户与root用户之间切换

  9. javascript数据类型、初始化

    Javascript数据类型有6种: 数值型数据类型(Number): 字符串(String): 布尔型数据(Boolean): 对象数据(Object): 空(Null): 未定义(Undefine ...

  10. js/jquery中实现图片轮播

    一,jquery方法 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&qu ...