概率潜在语义分析(Probabilistic Latent Semantic Analysis, PLSA)

单词集合$W=\{w_1,w_2,\cdots,w_M\}$
文本集合$D=\{d_1,d_2,\cdots,d_N\}$
话题集合$Z=\{z_1,z_2,\cdots,z_K\}$
单词-文本共现数据$T=\left[n\left(w_i,d_j\right)\right],i=1,2,\cdots,M;j=1,2,\cdots,N;$

文本-单词共现数据的生成过程:

  1. 依据概率分布$P\left(d\right)$,从文本集合中随机选取一个文本$d$,共生成$N$个文本;针对每个文本,执行以下操作;
  2. 在文本$d$给定条件下,依据条件概率分布$P\left(z|d\right)$,从话题集合中随机选取一个话题$z$,共生成$L$个话题($L$为文本长度);
  3. 在话题$z$给定条件下,依据条件概率分布$P\left(w|z\right)$,从单词集合中随机选取一个单词$w$。

文本-单词共现数据$T$的生成概率

其中,$n\left(w,d\right)$表示$\left(w,d\right)$的出现次数,单词-文本对出现的总次数是$N\times L$。

每个单词-文本对$\left(w,d\right)$的生成概率

假设在话题$z$给定条件下,单词$w$与文本$d$条件独立

单词-文本共现数据$T$的对数似然函数

应用EM算法求解含有隐变量的对数似然函数优化问题。
E步:定义Q函数

其中,$n\left(w,d\right)$表示单词$w$在文本$d$中出现的次数,$n\left(d\right)=\sum_w\left(w,d\right)$表示文本$d$中单词的个数。

由于可以从数据中直接统计得出$P\left(d_j\right)$的估计,可将$Q$函数简化为只考虑$P\left(w_i|z_k\right)$和$P\left(z_k|d_j\right)$的函数$Q^{‘}$

$Q^{‘}$函数中$P\left(z_k|w_i,d_j\right)$根据贝叶斯公式

其中,$P\left(z_k|d_j\right)$和$P\left(w_i|z_k\right)$可由上一次迭代得到。

M步:极大化Q函数

定义拉格朗日函数

拉格朗日函数$\Lambda$对$P\left(w_i|z_k\right)$求偏导,并令其等于0,得

拉格朗日函数$\Lambda$对$P\left(z_k|d_j\right)$求偏导,并令其等于0,得

概率潜在语义模型参数估计的EM算法:
输入:设单词集合为$W=\{w_1,w_2,\cdots,w_M\}$,文本集合为$D=\{d_1,d_2,\cdots,d_N\}$,话题集合为$Z=\{z_1,z_2,\cdots,z_K\}$,共现数据$\{n\left(w_i,d_j\right)\},i=1,2,\cdots,M,j=1,2,\cdots,N$
输出:$P\left(w_i|z_k\right)$和$P\left(z_k|d_j\right)$

  1. 设置参数$P\left(w_i|z_k\right)$和$P\left(z_k|d_j\right)$的初始值;
  2. 迭代执行以下E步,M步,直到收敛为止
    E步骤:M步骤:

Machine Learning      nlp topic model

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

MCMC 上一篇
LSA 下一篇