text mining week3

一、概率主题模型:混合的一元语言模型
text mining week3
混合模型中单词的概率是生成单词的不同方法的总和。

text mining week3
text mining week3

二、概率主题模型:混合模型估计
假设文本数据包括两种词,一种是像the is 等的背景词,一种是像text mining等的高频词分布中的词。
为了筛选高频率的背景词,我们设该混合模型为假,即我们将假设模型中除了以参数theta d表示的文本分布,所有其他分布的参数值都是已知的,然后再假设背景词模型已知。第一个问题是怎么选择参数theta d来让已观测到的高频词概率(text mining等词)达到最大
text mining week3
假设选择这两模型的概率是一样的,即都为0.5,再假设这个文档中只有the和text两个词,且其在背景模型中的概率分别为0.9和0.1,然后求出text和the的概率,似然函数就是两个概率的乘积。
text mining week3
下一步就是要求出让似然函数达到最大值的变量
text mining week3
原本假设的是一个文档中只有text和the两个词,而今假如有很多个the的话,可以得知the的概率会比之前算出来的0.1要大。每个组件模型都会试着去为高频率词分配高概率。
text mining week3

三、概率主题模型:EM算法
大概思路是先假设我们知道这些词在theta d中的暂定概率,再推测哪一个分布已用于生成该文本。
text mining week3
text mining week3
我们可以试探性地猜测,给出的分布是一个更高概率的词,因为这很可能使可能性最大化。所以我们要比较p(w|theta d)和p(w|theta b)这两个概率,从图中可看到text一词在theta d中出现的概率高于theta b,所以我们可以先推测这词更大可能来自theta d,但还要同时比较一下两个先验概率的大小。结合考虑两种概率后我们可以得出text更像是属于哪一个词分布,如图假设用z=0表示词来自主题分布,z=1表示背景分布。

text mining week3
E-step: 猜测z的值为0还是1,即用附加信息来支持数据,比如z的值。
M-step: 利用推断的z值将相同分布的词分到一组,再用正态计数来预测概率或者修正参数的预测,这是利用附加信息来分离数据并得到正确的数据账目来重新预测参数。

text mining week3
先假设两个数字有相同概率且背景模型是空值,图中#列是表示词计数。第一次迭代先给p(w|theta)设定初值,预设这是正态均一的分布,即可得到每个词的概率都是0.25,而p(z=0|w)则根据E步骤的公式计算得到,第二次迭代的p(w|theta)是通过M步骤计算得到的。以此类推迭代。

text mining week3
EM算法能确保汇聚于一局部的最大值,通过重复计算来寻找整体的最大值。在计算过程中,我们通常从不同的点出发或用其他方法确定一个好的原始起点。

四、PLSA

text mining week3
挖掘多主题
input: collection,topic number, vocabulary size
output: 词分布,每一个文档的主题覆盖率

text mining week3
假设背景模型的先验概率p(theta b)=lamda b,所以另外多个主题的先验概率为(1-lamda b), 右侧π的表示文档覆盖率。最终的概率就是要把左边这一串给加起来。

text mining week3
text mining week3

text mining week3
这里的z值不再是0,1两种分布,是有背景模型及其余k个主题分布
text mining week3

五、PLSA 与LDA
text mining week3

PLSA的不足
1. 不是一个真正的生成模型,不能计算一个新文档的概率。因为pi与我们的训练集文档紧密联系,同时它又要用来生成文档,所以我们没办法计算全新模型的pi。
2. 模型较复杂,参数多,带来了极大值多,易过拟合等问题。不过过拟合不是文本挖掘中所必需解决的问题,因为我们关注的点在于挖掘训练集,而不是去预测数据。

LDA的改进
在模型参数上强加Dirichlet先验,所以LDA是贝叶斯版本的PLSA,LDA中的参数更加规范化,可以达到与PLSA的相同的挖掘目的。

text mining week3

text mining week3
其中PLSA与LDA相同的式子表示的是从一个混合模型中得到某一个词的概率

text mining week3
text mining week3

text mining week3
text mining week3
text mining week3
text mining week3