PLSA主题模型的EM算法推导

看论文顺便粗略学习了EM算法和PLSA主题模型,鉴于刚入门,本文不对其原理进行深入探讨,主要针对其中的公式推导详细说明一下。


PLSA主题模型:

Probabilitic Latent Sematic Analysic(PLSA)主题模型是一种自然语言处理相关问题中非常经典的统计模型。相较于LSA模型,PLSA是一种基于概率统计的模型,可以用来判断文本中隐藏主题。
PLSA原理图如下:
这里写图片描述
其中,d代表文档,一共N篇,z代表主题,一共K种,w代表单词,一共M个,p(z|d)表示主题z出现在文档d下的条件概率,p(w|z)表示的是单词w出现在主题z下的条件概率。主题在单词上服从多项分布,文档在主题上服从多项分布。整篇文档的生成过程如下:

  1. 以p(d)的概率选中一篇文档d
  2. 在文档d选中的条件下,以p(z|d)的概率选中一个主题z
  3. 在文档d和主题z都选中的条件下,以p(w|z)的概率选中一个单词w生成。

其中文章d和单词w是我们可以观察到的数据,而主题z是隐含变量。
根据定义,由全概率公式很容易得到二元组(d,w)的联合概率分布:

这里写图片描述

其中,这里写图片描述这里写图片描述都是未确定参数的多项分布,我们的目的就是估计这两组参数。
首先不妨利用极大似然估计(MLE),似然函数表示在当前参数条件下,观测出数据的联合概率,针对PLSA模型即为(假设数据之间相互独立):
这里写图片描述
其中,这里写图片描述为单词wj出现在文档di中的次数。为了便于计算求导,取对数似然函数,并将前面几个公式代入,可以得到:
这里写图片描述
式中,这里写图片描述可以视为一个常数,我们需要极大化似然函数,求解这里写图片描述这里写图片描述
很显然,对这样含有对数和的函数求偏导非常困难,因此,需要利用EM算法迭代求解。


EM算法:

Expectation Maximization(EM)算法,顾名思义,分为两个步骤:1)求期望,2)最大化。
算法具体描述如下:

这里写图片描述

一般用Y表示观测随机变量的数据,用Z表示隐随机变量的数据。Y和Z一起成为完全数据(complete-data),Y单独称为不完全数据(incomplete-data)。
算法需要注意的几点如下:

这里写图片描述


利用EM算法求解PLSA:

按照EM算法的思路,首先要求出Q函数,也就是完全数据的对数似然函数这里写图片描述关于给定数据这里写图片描述和当前参数这里写图片描述下,对未观测数据这里写图片描述的条件概率分布这里写图片描述的期望。
对于完全数据的对数似然函数,与MLE时类似可以得到:
这里写图片描述
要注意的是,这里这里写图片描述已经和MLE时不同,为:
这里写图片描述

为什么这里不是zk的求和呢?因为此时我们针对的是完全数据,认为隐藏变量也已知,简言之就是我们已经观察到了每个单词w背后的主题z,这样计算概率的时候zk是确定的。
完全数据的似然函数求出来了,下面需要求这个似然函数针对隐藏变量Z在观测数据和当前参数条件下的期望。因此要先求出Z的后验概率这里写图片描述,这里根据全概率公式与以上的推导可以得到:
这里写图片描述

这样,可以得到在PLSA主题模型下的Q函数表达式:
这里写图片描述

剩下的就是要对Q函数求极大化,需要用到拉格朗日乘子法,在后续文章中会介绍。

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值