主题模型之pLSA

我们了解到通过SVD可以进行LSA,把给定文档投影到语义空间,但语义的权重不好解释。pLSA是从概率分布的角度建模的一种方法,它假设在词和文档之间有一层主题隐语义,而主题符合多项分布,一个主题中的词项也符合多项分布,由这两层分布的模型,生成各种文档。

想象某个人要写 $N$ 篇文档,他需要确定每篇文档里每个位置上的词。假定他一共有 $K$ 个可选的主题,有 $V$ 个可选的词项,所以,他制作了 $K$ 个 $V$ 面的 “主题-词项” 骰子,每个骰子对应一个主题,骰子每一面对应要选择的词项。然后,每写一篇文档会再制作一颗 $K$ 面的 ”文档-主题“ 骰子;每写一个词,先扔该骰子选择主题;得到主题的结果后,使用和主题结果对应的那颗”主题-词项“骰子,扔该骰子选择要写的词。他不停的重复如上两个扔骰子步骤,最终完成了这篇文档。重复该方法 $N$ 次,则写完所有的文档。在这个过程中,我们并未关注词和词之间的出现顺序,所以pLSA也是一种词袋方法;并且我们使用两层概率分布对整个样本空间建模,所以pLSA也是一种混合模型。

具体来说,该模型假设一组共现(co-occurrence)词项关联着一个隐含的主题类别 $z_k \in \brace{z_1,\dots,z_K}$ 。有如下三个相关的概率: $P(d_i)$ 表示词在文档 $d_i$ 中出现的概率, $P(w_j\vert z_k)$ 表示某个词 $w_j$ 在给定主题 $z_k$ 下出现的概率, $P(z_k\vert d_i)$ 表示某个主题 $z_k$ 在给定文档 $d_i$ 下出现的概率。利用这三个概率,我们可以按照如下方式得到“词-文档”的生成模型:

  1. 按照概率 $P(d_i)$ 选择一篇文档 $d_i$
  2. 按照概率 $P(z_k\vert d_i)$ 选择一个隐含的主题类别 $z_k$
  3. 按照概率 $P(w_j\vert z_k)$ 生成一个词 $w_j$

这样可以得到文档中每个词的生成概率。把这个过程用数学方法表示:

用概率图表示如下:

plsa pgm

Hofmann的原始论文里使用概率符号 $P(w_j\vert z_k)$ 和 $P(z_k\vert d_i)$ ,我们也可以从矩阵的角度来描述这两个变量:

假设用 $\phi_k$ 表示词表 $\mathcal{V}$ 在主题 $z_k$ 上的一个多项分布,则 $\phi_k$ 可以表示成一个向量,每个元素 $\phi_{k,j}$ 表示词项 $w_j$ 出现在主题 $z_k$ 中的概率,即

同样,假设用 $\theta_i$ 表示所有主题 $\mathcal{Z}$ 在文档 $d_i$ 上的一个多项分布,则 $\theta_i$ 可以表示成一个向量,每个元素 $\theta_{i,k}$ 表示主题 $z_k$ 出现在文档 $d_i$ 中的概率,即

最终我们要求解的参数是这两个矩阵:

由于词和词之间是互相独立的,于是可以得到整篇文档的词的分布;并且文档和文档也是互相独立的,于是我们可以得到整个样本的词的分布:

其中, $n(d_i,w_j)$ 表示词项 $w_j$ 在文档 $d_i$ 中的词频, $n(d_i)$ 表示文档 $d_i$ 中词的总数,显然有 $n(d_i) = \sum_{w_j \in \mathcal{V}} n(d_i, w_j)$ 。

于是,可以很容易写出样本分布的对数似然函数:

我们需要最大化对数似然函数来求解参数,对于这种含有隐变量的最大似然估计,我们还是需要使用EM方法。

E-step: 假定参数已知,计算此时隐变量的后验概率。

利用贝叶斯法则,可以得到:

这需要一点贝叶斯网络和概率图模型的知识,具体可以参考PRML第八章。

M-step:带入隐变量的后验概率,最大化样本分布的对数似然函数,求解相应的参数。

观察上面的对数似然函数 $\ell$ ,由于 $P(d_i) \propto n(d_i)$ 也就是文档长度可以单独从样本计算,可以去掉不影响最大化似然函数;此外,根据E-step的计算结果,把 $\phi_{k,j} \theta_{i,k} = P(z_k\vert d_i,w_j) \sum_{l=1}^K \phi_{l,j} \theta_{i,l}$ 代入 $\ell$ ,于是我们最大化下面这个函数即可:

这是一个多元函数求极值问题,并且已知有如下约束条件:

一般处理这种带有约束条件的极值问题,我们常用的方法是拉格朗日乘数法,引入拉格朗日乘子把约束条件和多元函数结合在一起,转化为无条件极值问题。这里我们引入两个乘子 $\tau$ 和 $\rho$ ,可以写出拉格朗日函数,如下:

需要求解 $\phi_{k,j}$ 和 $\theta_{i,k}$ ,分别求偏导,取0,可得如下等式:

消去拉格朗日乘子,最终可估计出参数:

参考

  • Thomas Hofmann, Unsupervised Learning by Probabilistic Latent Semantic Analysis, Machine Learning, 42, 177–196, 2001
  • Qiaozhu Mei, ChengXiang Zhai, A Note on EM Algorithm for Probabilistic Latent Semantic Analysis (从混合模型的角度推导pLSA)
  • Liangjie Hong, Probabilistic Latent Semantic Analysis (从两层多项分布出发逐步推导,理解了Hofmann的论文再去阅读更有裨益)