主题概率分布模型pLSA

目录

1、pLSA是干什么的?简要了解

 2、pLSA的数学模型

3、求解


1、pLSA是干什么的?简要了解

  • pLSA中关心的就是每篇文章中的每个主题的分布,和每个主题下单词的分布
  • 我们已经假设这两个分布为多项分布了,我们可以利用这两个分布做很多事情,比如文章分类,热词提取等等,这就是pLSA的应用。
  • 要求:怎么样才能求出来这两个概率分布?

 2、pLSA的数学模型

总共用到了M个单词:W=\{w_1,...,w_M\},手里有N个文章:D=\{d_1,...,d_N\},总共涉及到了K个主题,z 代表主题:z_k \in \{z_1,...,z_k\}

下面是一些概率表达式及其意义:

p(z_k|d_i):表示第 i 篇文章中,第 k 个主题出现的概率

p(w_j|z_k):表示第 k 个主题下,第 j 个单词出现的概率

p(w_j|d_i):表示第 i 篇文章中,第 j 个单词出现的概率

p(w_j | d_i) = \sum_{k=1}^Kp(w_j|z_k)p(z_k|d_i)

        如果我们找出来一种可能,能够使每一篇文章中的每一个单词的概率相乘后的结果比任何其他的可能都大的话,那么我们认为此时的p(w_j|z_k)p(z_k|d_i) 的这种可能是最合理的。用数学的形式表达出来就是:\prod_{i=1}^N\prod_{j=1}^Mp(w_j|d_i)^{n(d_i,w_j)}.我们现在的目的就是找出一种p(w_j|z_k)p(z_k|d_i)的解,使上面的这个式子的值最大 。

 这就是求最大似然解。

3、求解

\begin{aligned} \sum_{i=1}^{N} \sum_{j=1}^{M} n\left(d_{i}, w_{j}\right) \log \sum_{k=1}^{K}\left[P\left(w_{j} \mid z_{k}\right) P\left(z_{k} \mid d_{i}\right)\right] &=\sum_{i=1}^{N} \sum_{j=1}^{M} n\left(d_{i}, w_{j}\right) \log \sum_{k=1}^{K}\left[Q^{(i j)\left(z_{k}\right)} \cdot \frac{P\left(w_{j} \mid z_{k}\right) P\left(z_{k} \mid d_{i}\right)}{Q^{(i j)\left(z_{k}\right)}}\right] \\ &=\sum_{i=1}^{N} \sum_{j=1}^{M} n\left(d_{i}, w_{j}\right) \sum_{k=1}^{K}\left[Q^{(i j)\left(z_{k}\right)} \cdot \log \frac{P\left(w_{j} \mid z_{k}\right) P\left(z_{k} \mid d_{i}\right)}{Q^{(i j)\left(z_{k}\right)}}\right] \end{aligned}

这里用到了jessen不等式。

\begin{array}{c} Q^{(i j)}\left(z_{k}\right) \propto P\left(w_{j} \mid z_{k}\right) P\left(z_{k} \mid d_{i}\right) \\ \sum_{k=1}^{K} Q^{(i j)}\left(z_{k}\right)=1 \quad \Rightarrow Q^{(i j)}\left(z_{k}\right)=\frac{P\left(w_{j} \mid z_{k}\right) P\left(z_{k} \mid d_{i}\right)}{\sum_{k=1}^{K} P\left(w_{j} \mid z_{k}\right) P\left(z_{k} \mid d_{i}\right)} \end{array}


\begin{aligned} & \sum_{i=1}^{N} \sum_{j=1}^{M} n\left(d_{i}, w_{j}\right) \sum_{k=1}^{K}\left[Q^{(i j)\left(z_{k}\right)} \cdot \log \frac{P\left(w_{j} \mid z_{k}\right) P\left(z_{k} \mid d_{i}\right)}{Q^{(i j)\left(z_{k}\right)}}\right] \\ =& \sum_{i=1}^{N} \sum_{j=1}^{M} n\left(d_{i}, w_{j}\right) \sum_{k=1}^{K}\left\{Q^{(i j)\left(z_{k}\right)} \cdot\left[\log P\left(w_{j} \mid z_{k}\right) P\left(z_{k} \mid d_{i}\right)-\log Q^{(i j)\left(z_{k}\right)}\right]\right\} \\ =& \sum_{i=1}^{N} \sum_{j=1}^{M} n\left(d_{i}, w_{j}\right) \sum_{k=1}^{K}\left[Q^{(i j)\left(z_{k}\right)} \cdot \log P\left(w_{j} \mid z_{k}\right) P\left(z_{k} \mid d_{i}\right)-Q^{(i j)\left(z_{k}\right)} \cdot \log Q^{(i j)\left(z_{k}\right)}\right] \\=& \sum_{i=1}^{N} \sum_{j=1}^{M} n\left(d_{i}, w_{j}\right) \sum_{k=1}^{K}\left[Q^{(i j)\left(z_{k}\right)} \cdot \log P\left(w_{j} \mid z_{k}\right) P\left(z_{k} \mid d_{i}\right)\right] \end{aligned}

因为Q^{(i j)(z_k) }.\log Q^{(i j)(z_k)}是常数项,在求导时可以省略,所以得到了下一步。

在对每个P(w|z)和P(z|d)变量求导前,我们还同时需要保证P(w|z)和P(z|d)的概率归一性,也就是需要加上两个拉格朗日余项:

\sum_{i=1}^{N} \sum_{j=1}^{M} n\left(d_{i}, w_{j}\right) \sum_{k=1}^{K}\left[Q^{(i j)\left(z_{k}\right)} \cdot \log P\left(w_{j} \mid z_{k}\right) P\left(z_{k} \mid d_{i}\right)\right]+\alpha \sum_{k=1}^{K}\left(1-\sum_{j=1}^{M} P\left(w_{j} \mid z_{k}\right)\right)+\beta \sum_{i=1}^{N}\left(1-\sum_{k=1}^{K} P\left(z_{k} \mid d_{i}\right)\right)

求导:

\begin{aligned} \frac{\partial L}{\partial P\left(w_{j} \mid z_{k}\right)} &=\sum_{i=1}^{N} n\left(d_{i}, w_{j}\right) Q^{(i j)}\left(z_{k}\right) \cdot \frac{P\left(z_{k} \mid d_{i}\right)}{P\left(w_{j} \mid z_{k}\right) P\left(z_{k} \mid d_{i}\right)}-\alpha \\ &=\sum_{i=1}^{N} n\left(d_{i}, w_{j}\right) Q^{(i j)}\left(z_{k}\right) \cdot \frac{1}{P\left(w_{j} \mid z_{k}\right)}-\alpha \end{aligned}

令其值为0:

\begin{aligned} \sum_{i=1}^{N} n\left(d_{i}, w_{j}\right) Q^{(i j)}\left(z_{k}\right) \cdot \frac{1}{P\left(w_{j} \mid z_{k}\right)}-\alpha &=0 \\ \sum_{i=1}^{N} n\left(d_{i}, w_{j}\right) Q^{(i j)}\left(z_{k}\right) &=\alpha P\left(w_{j} \mid z_{k}\right) \\ \sum_{j=1}^{M} \sum_{i=1}^{N} n\left(d_{i}, w_{j}\right) Q^{(i j)}\left(z_{k}\right) &=\alpha \sum_{j=1}^{M} P\left(w_{j} \mid z_{k}\right) \\ \alpha &=\sum_{j=1}^{M} \sum_{i=1}^{N} n\left(d_{i}, w_{j}\right) Q^{(i j)}\left(z_{k}\right) \end{aligned}

再把\alpha的值带入(6)中,得出

P\left(w_{j} \mid z_{k}\right)=\frac{\sum_{i=1}^{N} n\left(d_{i}, w_{j}\right) Q^{(i j)}\left(z_{k}\right)}{\sum_{j=1}^{M} \sum_{i=1}^{N} n\left(d_{i}, w_{j}\right) Q^{(i j)}\left(z_{k}\right)}

P\left(z_{k} \mid d_{i}\right)=\frac{\sum_{j=1}^{M} n\left(d_{i}, w_{j}\right) Q^{(i j)}\left(z_{k}\right)}{n\left(d_{i}\right)}

参考文献

[1] pLSA详解

[2] 详解十大经典机器学习算法——EM算法

[3] EM 算法视频

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值