LDA(一):LDA前身PLSA介绍与推导

PLSA(概率隐语义分析)是一种文本建模的生成模型,通过引入主题概念来改善多词一义和一词多义问题。模型描述了文档由多个主题构成,每个主题有自己的词汇分布。算法通过EM方法进行参数学习,包括E-step中计算后验概率和M-step中求似然函数最大值。
摘要由CSDN通过智能技术生成

PLSA介绍与推导:

概率隐语义分析(PLSA)是一个著名的针对文本建模的模型,是一个生成模型。因为加入了主题模型,所以可以很大程度上改善多词一义和一词多义的问题。

数学基础:

生成模型: 预测模型的公式是 P(y|x) ,即给定输入,输出给定输入的概率分布,就要学习联合分布 P(x,y) ,所以还要先求出 P(x) ,反应的数据本身的相似度。 这样的方法之所以称为生成方法,是因为模型表示了给定输入X产生输出Y的生成关系。用于随机生成的观察值建模,特别是在给定某些隐藏参数情况下。典型的生成模型有:朴素贝叶斯和隐马尔科夫模型等。(但是朴素贝叶斯没有体现词之间的关系!)

而判别模型:没有中间过程,直接对样本学习出概率 P(y|x) ,也可写作 P(y|xθ) ,可以理解为给定 θ 值的情况下根据特征值来预测概率,想想LR就是这样的。我们只不过要先梯度下降求出 θ 罢了,如svm,LR 对于分类任务常用

生成文档(文本建模)

Unigram模型:

这里我们称这个包含不重样单词的集合为词袋(bags of words)

这里写图片描述

对于Unigram模型,生成一篇文档的方法就是随机的从这个词袋中抽取单词组成。而这篇文档的被生成的概率就是被抽出每个词概率(首发球员)的乘积
所以生成一篇文档 w=(w1,w2,w3...wn) 的概率就是

p(w)=p(w1)p(w2)...p(wn)

假设语料库中有多篇文档,而且文档与文档之间是独立的,那么整个语料库的生成概率就是就是n篇文档概率之积:
P(W)=p(w1)p(w2)...p(wn)

2.Mixture of unigrams模型:

这里写图片描述
对于Mixture of unigrams,我们在生成一篇文档之前先给它一个主题(注意:这篇文档只有这一个主题),然后根据这个主题的(词袋)词分布来随机选择出n个词
所以对于整个语料库,生成文档的概率就是:对每个主题下生成的文档(每个主题可以随机挑所以可以生成多个文档)的概率进行加和:

p(W)=p(z1)n=1Np(wn|z1)+...+p(zn)n=1Np(wn|zn)=zp(z)n=1Np(wn|z)


3.PLSA模型:

就以上两个模型来说,每个文档只包含一个主题未免太单一了。Hoffmm在1999年提出了概率隐语义分析(Probabilistic Latent Semantic Analysis)。他认为每个主题下都有一个词汇的概率分布,而一篇文章通常由多个主题构成,并且文章中的每个单词都是由某个主题生成的。

每个文档在所有主题上服从多项分布
P z1 z2 zk
文档 d1 0.3 0.05 0.01
文档 d2 0.05 0.2 0.05
文档 di 0.01 0.2 0.01
每个主题在所有词上服从多项分布。
P w1 w2 wj
主题 z1 0.1 0.25 0.11
主题 z2 0.25 0.1 0.15
主题 zk 0.21 0.1 0.05

1.所以整篇文档的过程就是:

  • 1.先以 p(di) 的概率选中文档 dj
  • 2.以 p(zk|di) 的概率从这个文档 i 的主题概率分布中挑选出主题 zk

  • 3.以 p(wj|zk) 的概率产生一个单词 wj

这其实就是一个简单的单链贝叶斯网络,![Alt text](./Screenshot from 2016-05-20 15-59-05.png)因为里面包含隐变量 z ,所以通常采用EM算法学习模型参数,所以有如下推导过程。

2.算法推导过程:

  • 观察数据为 (di,wj) 对,主题 zj 是隐含变量,对 (di,wj) 进行极大似然估计。

    • 目标函数存在未知变量,使用EM算法求最优值。
      • E-step:假定参数已知,求 zk 的后验概率。
      • M-step:求似然函数期望最大值(实为找到最优参数)。
        • 存在约束条件,转换为拉格朗日乘子法,求驻点 。
        • 不断迭代EM步直到收敛。
    • 详细过程如下:
      2.1.首先明确两个重要概率:
      • (diwi) 的联合分布(某文档和某个词同时出现的概率)为
        p(di,wj)=p(wj|di)p(di)
      • 某个文档生成某个词的概率而计算每个文档的主题分布是PLSA任务的目标?
        p(w
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值