0x02 PLSA

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

意向模型

PLSA的核心思想即是意向模型(Aspect Model). 对于主题, 将其对应于隐变量zZ={z1,,zK}z\in{Z}=\{z_1,\cdots,z_K\}, 并与词汇wW={w1,,wM}w\in{W}=\{w_1,\cdots,w_M\}和文档dD={d1,,dN}d\in{D}=\{d_1,\cdots,d_N\}联系起来, 组成统计模型. 同时我们认为每篇文本的每个单词生成过程如下:

  • 一篇文本对应一个KK面的骰子, 选出一个主题

  • 一个主题对应一个MM面的骰子, 选出一个单词

因此有以下关系:

  • did_iwjw_j是相对独立的

  • wjw_j产生只依赖于zkz_k, 不依赖与did_i

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

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

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

其中n(di,wj)n(d_i,w_j)是词汇wjw_j在文档did_i中出现的次数.

模型拟合

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

E步

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

M步

使用E步得到的zz后验概率, 极大化似然函数, 更新参数P(wizk)P(w_i|z_k)P(zkdi)P(z_k|d_i).

其中n(di)=n(di,wj)n(d_i)=n(d_i,w_j), 第一项是常数项, 因此极大化L\mathcal{L}等价于极大化第二项:

Lc=i=1Nj=1Mn(di,wj)logk=1KP(wjzk)P(zkdi)\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), 对Lc\mathcal{L}_c求期望得:

又有限制:

因此问题转化为带约束条件的极大值问题, 引入Lagrange函数τk\tau_{k}, ρi\rho_{i}, 有:

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

(10)(10)得到:

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

τk=j=1Mi=1Nn(di,wj)P(zkdi,wj),k=1,,K\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

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

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

PLSA缺点

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

PLSA与LSA的联系

  • 相似性

    • (3)(3)重写为矩阵形式, 定义矩阵:

      T^=(P(dizk))i,k\hat{T}=(P(d_i|z_k))_{i,k}

      S^=diag(P(zk))k\hat{S}=diag(P(z_k))_k

      D^=(P(wjzk))j,k\hat{D}=(P(w_j|z_k))_{j,k}

      则联合概率模型PP可以写为P=T^S^D^TP=\hat{T}\hat{S}\hat{D}^T, 与LSA的形式一致.

  • 差别点

    • PLSA具有更坚实的统计学基础

最后更新于

这有帮助吗?