# 0x02 PLSA

**PLSA(Probabilistic Latent Semantic Analysis)**&#x6982;率潜在语义分析, 与LSA相比, 有着更坚实的数学基础.

## 意向模型

PLSA的核心思想即是意向模型(Aspect Model). 对于**主题**, 将其对应于**隐变量**$$z\in{Z}={z\_1,\cdots,z\_K}$$, 并与词汇$$w\in{W}={w\_1,\cdots,w\_M}$$和文档$$d\in{D}={d\_1,\cdots,d\_N}$$联系起来, 组成统计模型. 同时我们认为每篇文本的每个单词生成过程如下:

* 一篇文本对应一个$$K$$面的骰子, 选出一个主题
* 一个主题对应一个$$M$$面的骰子, 选出一个单词

因此有以下关系:

* $$d\_i$$和$$w\_j$$是相对独立的
* $$w\_j$$产生只依赖于$$z\_k$$, 不依赖与$$d\_i$$

则模型可以表示为词与文档的联合概率:

$$P(d\_i,w\_j)=P(d\_i)P(w\_j|d\_i) \tag{1}$$

$$P(w\_j|d\_i)=\sum\limits\_{k=1}^K P(w\_j|z\_k)P(z\_k|d\_i) \tag{2}$$

利用贝叶斯公式, 将$$(1)$$变换为:

$$\begin{align} P(d\_i,w\_j) &= P(d\_i)P(w\_j|d\_i) \ &=P(d\_i)\sum\limits\_{k=1}^K P(w\_j|z\_k)P(z\_k|d\_i) \ &= \sum\limits\_{k=1}^K P(w\_j|z\_k)P(d\_i)P(z\_k|d\_i) \tag{3} \ &= \sum\limits\_{k=1}^K P(z\_k)P(w\_j|z\_k)P(d\_i|z\_k) \end{align}$$

使用极大似然估计, 计算PLSA模型的参数:

$$\mathcal{L}=\sum\limits\_{i=1}^N\sum\limits\_{j=1}^Mn(d\_i, w\_j)\log{P}(d\_i, w\_j) \tag{4}$$

其中$$n(d\_i,w\_j)$$是词汇$$w\_j$$在文档$$d\_i$$中出现的次数.

## 模型拟合

由于隐变量, 使用**EM算法**求解.

### E步

利用当前估计参数值计算隐变量$$z$$的后验概率.

$$\begin{align} P(z\_k|d\_i,w\_j) &= \frac{P(z\_k,d\_i,w\_j)}{P(d\_i,w\_j)} \ &= \frac{P(d\_i,w\_j|z\_k)P(z\_k)}{P(d\_i)P(w\_j|d\_i)} \ &= \frac{P(d\_i|z\_k)P(w\_j|z\_k)P(z\_k)}{P(d\_i)P(w\_j|d\_i)} \ &= \frac{P(w\_j|z\_k)P(z\_k|d\_i)P(d\_i)}{P(d\_i)\sum\limits\_{k=1}^K P(w\_j|z\_k)P(z\_k|d\_i)} \ &= \frac{P(w\_j|z\_k)P(z\_k|d\_i)}{\sum\limits\_{k=1}^K P(w\_j|z\_k)P(z\_k|d\_i)} \end{align} \tag{5}$$

### M步

使用E步得到的$$z$$的**后验概率**, 极大化似然函数, 更新参数$$P(w\_i|z\_k)$$和$$P(z\_k|d\_i)$$.

$$\begin{align} \mathcal{L} &= \sum\limits\_{i=1}^N\sum\limits\_{j=1}^Mn(d\_i,w\_j)\log P(d\_i,w\_j) \ &= \sum\limits\_{i=1}^N\sum\limits\_{j=1}^Mn(d\_i,w\_j)\log\[P(d\_i)\sum\limits\_{k=1}^KP(w\_j|z\_k)P(z\_k|d\_i)] \ &= \sum\limits\_{i=1}^Nn(d\_i)\log P(d\_i) + \sum\limits\_{i=1}^N\sum\limits\_{j=1}^Mn(d\_i,w\_j)\log\sum\limits\_{k=1}^KP(w\_j|z\_k)P(z\_k|d\_i) \tag{6} \end{align}$$

其中$$n(d\_i)=n(d\_i,w\_j)$$, 第一项是常数项, 因此极大化$$\mathcal{L}$$等价于极大化第二项:

$$\max\mathcal{L}\Leftrightarrow\max\sum\limits\_{i=1}^N\sum\limits\_{j=1}^Mn(d\_i,w\_j)\log\sum\limits\_{k=1}^KP(w\_j|z\_k)P(z\_k|d\_i) \tag{7}$$

令$$\mathcal{L}*c=\sum\limits*{i=1}^N\sum\limits\_{j=1}^Mn(d\_i,w\_j)\log\sum\limits\_{k=1}^KP(w\_j|z\_k)P(z\_k|d\_i)$$, 对$$\mathcal{L}\_c$$求期望得:

$$\begin{align}E(\mathcal{L}*c) &= \sum\limits*{i=1}^N\sum\limits\_{j=1}^Mn(d\_i,w\_j)E(\log\sum\limits\_{k=1}^KP(w\_j|z\_k)P(z\_k|d\_i)) \ &= \sum\limits\_{i=1}^N\sum\limits\_{j=1}^Mn(d\_i,w\_j)\sum\limits\_{k=1}^KP(z\_k|d\_i,w\_j)\log\[P(w\_j|z\_k)P(z\_k|d\_i)] \tag{8} \end{align}​$$

又有限制:

$$\sum\limits\_{j=1}^M P(w\_j|z\_k)=1 \ \sum\limits\_{j=1}^M P(z\_k|d\_i)=1 \tag{9}$$

因此问题转化为**带约束条件的极大值问题**, 引入**Lagrange函数**$$\tau\_{k}$$, $$\rho\_{i}$$, 有:

$$\begin{align} H &= \sum\limits\_{i=1}^N \sum\limits\_{j=1}^M n(d\_i,w\_j) \sum\limits\_{k=1}^K P(z\_k|d\_i,w\_j)\log\[P(w\_j|z\_k)P(z\_k|d\_i)] + \sum\limits\_{k=1}^K \tau\_{k}(1-\sum\limits\_{j=1}^MP(w\_j|z\_k)) + \sum\limits\_{i=1}^N \rho\_{i}(1-\sum\limits\_{k=1}^K P(z\_k|d\_i)) \ &= \sum\limits\_{i=1}^N \sum\limits\_{j=1}^M n(d\_i,w\_j) \sum\limits\_{k=1}^K P(z\_k|d\_i,w\_j)\log(w\_j|z\_k)+\sum\limits\_{j=1}^M n(d\_i,w\_j) \sum\limits\_{k=1}^K P(z\_k|d\_i,w\_j)\log(z\_k|d\_i)+ \ & \sum\limits\_{k=1}^K \tau\_{k}(1-\sum\limits\_{j=1}^MP(w\_j|z\_k)) + \sum\limits\_{i=1}^N \rho\_{i}(1-\sum\limits\_{k=1}^K P(z\_k|d\_i)) \tag{10} \end{align}$$

因此问题转换为$$\max{H}$$. 对$$H$$求每个参数的偏导数, 并令偏导数都为0, 得到:

$$\begin{align}\frac{\partial H}{\partial P(w\_j|z\_k)}=\sum\limits\_{i=1}^N n(d\_i,w\_j)P(z\_k|d\_i,w\_j)\frac{1}{P(w\_j|z\_k)}-\tau\_k=0, \quad j=1,\cdots,M;k=1,\cdots,K \end{align}$$

$$\begin{align}\frac{\partial H}{\partial P(z\_k|d\_i)}=\sum\limits\_{i=1}^N n(d\_i,w\_j)P(z\_k|d\_i,w\_j)\frac{1}{P(z\_k|d\_i)}-\rho\_i=0, \quad i=1,\cdots,N;k=1,\cdots,K \end{align}$$

由$$(10)$$得到:

$$\begin{align}P(w\_j|z\_k)=\frac{\sum\limits\_{i=1}^Nn(d\_i,w\_j)P(z\_k|d\_i,w\_j)}{\tau\_k}, \quad j=1,\cdots,M;k=1,\cdots,K \end{align}$$

$$\begin{align}P(z\_k|d\_i)=\frac{\sum\limits\_{i=1}^Nn(d\_i,w\_j)P(z\_k|d\_i,w\_j)}{\rho\_i}, \quad i=1,\cdots,N;k=1,\cdots,K \tag{11} \end{align}$$

再利用$$(9)$$的限制, 对上面两式的两侧求和, 可得:

$$\tau\_k=\sum\limits\_{j=1}^M\sum\limits\_{i=1}^Nn(d\_i,w\_j)P(z\_k|d\_i,w\_j), k=1,\cdots,K$$

$$\rho\_i=\sum\limits\_{k=1}^K\sum\limits\_{i=1}^Nn(d\_i,w\_j)P(z\_k|d\_i,w\_j), i=1,\cdots,N \tag{12}$$

将$$(13)$$带入$$(12)$$得到最终结果:

$$\begin{align}P(w\_j|z\_k)=\frac{\sum\limits\_{i=1}^Nn(d\_i,w\_j)P(z\_k|d\_i,w\_j)}{\sum\limits\_{j=1}^M\sum\limits\_{i=1}^Nn(d\_i,w\_j)P(z\_k|d\_i,w\_j)}, \quad j=1,\cdots,M;k=1,\cdots,K \end{align}$$

$$\begin{align}P(z\_k|d\_i)=\frac{\sum\limits\_{i=1}^Nn(d\_i,w\_j)P(z\_k|d\_i,w\_j)}{\sum\limits\_{k=1}^K\sum\limits\_{i=1}^Nn(d\_i,w\_j)P(z\_k|d\_i,w\_j)}, \quad i=1,\cdots,N;k=1,\cdots,K \end{align}$$

E步和M步之间不断迭代, 直到收敛.

## PLSA缺点

PLSA不是一个**生成模型**. PLSA只能对训练的文本得到降维主题向量, 由$$P(z,d)$$组成. 对于新的文本, 没有方法得到主题向量.

## PLSA与LSA的联系

* 相似性
  * 将$$(3)$$重写为矩阵形式, 定义矩阵:

    $$\hat{T}=(P(d\_i|z\_k))\_{i,k}$$

    $$\hat{S}=diag(P(z\_k))\_k$$

    $$\hat{D}=(P(w\_j|z\_k))\_{j,k}$$

    则联合概率模型$$P$$可以写为$$P=\hat{T}\hat{S}\hat{D}^T$$, 与LSA的形式一致.
* 差别点
  * PLSA具有更坚实的统计学基础
