概率潜在语义分析(PLSA)

概率潜在语义分析(PLSA),也称概率潜在语义索引,是一种利用概率生成式模型对文本集合进行话题分析的无监督学习方法。模型的最大特点是利用概率生成模型对文本集合进行话题分析的无监督学习方法。模型的最大特点是用隐变量表示话题:整个模型表示文本生成话题,话题生成单词,从而得到单词-文本共现数据的过程;假设每个文本由一个话题分布决定,每个话题由一个单词分布决定。

概率潜在语义分析受潜在语义分析的启发,1999年由Hofmann提出,前者基于概率模型,后者基于非概率模型。概率潜在语义分析最初用户文本数据挖掘,后来扩展到其他领域。

一、概率潜在语义分析模型

1.基本思想

给定一个文本集合,每个文本讨论若干个话题,每个话题由若干个单词表示。对文本集合进行概率潜在语义分析,就能够发现每个文本的话题,以及每个话题的单词,话题是不能从数据中直接观察到的,是潜在的。

文本集合转换为文本-单词共现数据,具体表现为单词-文本矩阵。每一行对应一个单词,每一列对应一个文本,每一个元素表示单词在文本中出现的次数。一个话题表示一个语义内容。文本数据基于如下的概率模型产生(共现模型):首先有话题的概率分布,然后有话题给定条件下文本的条件概率分布,以及话题给定条件下单词的条件概率分布,概率潜在语义分析时发现隐变量表示的话题,即潜在语义。直观上看,语义相近的单词,语义相近的文本会被聚到相同的“软类别”比赛,而话题所表示就是这样的软类型。

2.生成模型

假设有单词集合,其中是单词个数;文本(指示)集合,其中N是文本个数;话题集合,其中K是预先设定的话题个数。随机变量w取值于单词集合;随机变量d取值与文本集合,随机变量z取值与话题集合。概率分布P(d),条件概率分布P(z|d),条件概率分布p(w|z)皆属于多项分布,其中表示生成文本d的概率,表示文本d生成话题的概率,表示话题生成单词w的概率。

每个文本d拥有自己的话题概率分布P(z|d),每个话题z拥有自己的单词概率分布P(w|z);也就是说一个文本的内容由其他相关话题决定,一个话题的内容由其他相关单词决定。

生成模型通过以下步骤生成we日本-单词共现数据:

  1. 依据概率分布P(d),从文本(指示)集合中随机选取一个文本d,共生成N个文本;针对每个文本,执行以下操作
  2. 在文本d给定条件下,依据条件概率分布P(z|d),从话题集合中随机选取话题z,共生成L个话题,这里L是文本长度
  3. 在话题z给定条件下,依据条件概率分布P(w|d),从单词集合随机选取一个单词
    注意,这里为叙述方便,假设文本都是等长的,现实中不需要这样的假设。

生成文本中,单词变量w与文本变量d是观测变量,话题变量z是隐变量。也就是说模型生成的是单词-话题-文本三元组(w,z,d)的集合,但观测数据是单词-文本二元组(w,d)集合,观测数据表示为单词-文本矩阵的形式,矩阵的行表示单词,列表示文本,元素表示单词-文本对(w,d)的出现次数。

从生成过程可以推出,文本-单词共现数据的生成概率为所有单词-文本对(w,d)的生成概率的乘积

这里n(w,d)表示(w,d)出现的次数,单词-文本对出现的总次数时,每个单词文本对(w,d)的生成概率由以下公决定

生成模型假设在话题给定的条件下,单词w和文本d条件独立即

生成模型属于概率有向图模型,可以用有向图表示,图中实心圆表示观测数据,空心圆表示隐变量,箭头表示概率依存关系,方框表示多次重复,方框内数字表示重复次数。文本变量d是一个观测变量,话题变量z是一个隐变量,单词变量w是一个观测变量。

二、概率潜在语义分析的算法

概率潜在语义分析模型是含有隐变量的模型,其学习通常使用EM算法。EM算法是一种迭代算法,每次迭代包括交替两步:E步,求期望;M步,求极大。E步是计算Q函数,即完全数据的对数似然函数对不完全数据的条件分布的期望。M步是对Q函数极大化,更新模型参数。

设单词集合,文本集合为,话题集合。给定单词-文本贡现数据,目标是估计概率潜在语义分析模型的参数,如果使用极大似然大估计,对数似然函数是

但是隐变量,对数似然函数的优化无法用解析方法求解,这时使用EM算法,应用EM算法的核心是定义Q函数

E步:计算Q函数
Q函数为完全数据的对数似然函数对不完全数据的条件分布的期望,针对概率潜在语义分析的生成模型,Q函数是

式表示文本中的单词个数,表示单词在文本中出现的次数。条件概率分布表示不完全数据,是已知变量。条件概率分布的乘积代表完全数据,是未知变量。

由于可以从数据中直接统计得出的估计,这里只考虑的估计,可将函数简化为函数


函数中的可以根据贝叶斯公式计算

其中可由上一步迭代得到

M步:极大化函数
通过约束最优化求解函数的极大值,这时是变量,因为变量形成概率分布,满足约束条件

应用拉格朗日法,引入拉哥朗日乘子,定义拉格朗日函数

将拉格朗日函数分别对求偏导数,并令其为0,得到下面的方程组

解方程组得到M步参数估计公式

你可能感兴趣的:(概率潜在语义分析(PLSA))