概率潜在语义分析(PLSA)

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

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

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

1.基本思想

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

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

2.生成模型

假设有单词集合W=\{w_1,w_2,\dots,w_M\},其中\mathbf M是单词个数;文本(指示)集合D=\{d_1,d_2,\dots,d_N\},其中N是文本个数;话题集合Z=\{z_1,z_2,\dots,z_K\},其中K是预先设定的话题个数。随机变量w取值于单词集合;随机变量d取值与文本集合,随机变量z取值与话题集合。概率分布P(d),条件概率分布P(z|d),条件概率分布p(w|z)皆属于多项分布,其中P(d)表示生成文本d的概率,P(z|d)表示文本d生成话题的概率,P(w|z)表示话题生成单词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)集合,观测数据表示为单词-文本矩阵\mathbf T的形式,矩阵\mathbf T的行表示单词,列表示文本,元素表示单词-文本对(w,d)的出现次数。

从生成过程可以推出,文本-单词共现数据\mathbf T的生成概率为所有单词-文本对(w,d)的生成概率的乘积
P(T)= \prod_{(w,d)}P(w,d)^{n(w,d)}
这里n(w,d)表示(w,d)出现的次数,单词-文本对出现的总次数时N*L,每个单词文本对(w,d)的生成概率由以下公决定
\begin{aligned} P(w,d) = P(d)P(w|d) \\ = p(d)\sum_z p(w,z|d) \\ = p(d) \sum_z p(z|d)p(w|z) \end{aligned}
生成模型假设在话题给定的条件下,单词w和文本d条件独立即
P(w,z|d) = p(z|d)p(w|z)

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

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

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

设单词集合W=\{w_1,w_2,\dots,w_M\},文本集合为D=\{d_1,d_2,\dots,d_N\},话题集合z=\{z_1,z_2,\dots,z_K\}。给定单词-文本贡现数据T=\{n(w_i,d_j)\},i=1,2,\dots.M,j=1,2,\dots,N,目标是估计概率潜在语义分析模型的参数,如果使用极大似然大估计,对数似然函数是
\begin{aligned} L=\sum_{i=1}^M\sum_{j=1}^N n(w_i,d_j)logP(w_i,d_j) \\ =\sum_{i=1}^M\sum_{j=1}^N n(w_i,d_j)log \bigg[ \sum_{k=1}^K P(w_i|z_k)P(z_k|d_j)\bigg] \end{aligned}
但是隐变量,对数似然函数的优化无法用解析方法求解,这时使用EM算法,应用EM算法的核心是定义Q函数

E步:计算Q函数
Q函数为完全数据的对数似然函数对不完全数据的条件分布的期望,针对概率潜在语义分析的生成模型,Q函数是
Q = \sum_{k=1}^K \bigg\{ \sum_{j=1}^N n(d_j)\bigg[log P(d_j) + \sum_{i=1}^M \frac{n(w_i,d_j)}{n(d_j)}log P(w_i|z_k)P(z_k|d_j)\bigg]\bigg\}p(z_k|w_i,dj)
n(d_j)=\sum_{i=1}^M n(w_i,d_j)表示文本d_j中的单词个数,n(w_i,d_j)表示单词w_i在文本d_j中出现的次数。条件概率分布P(z_k|w_i,d_j)表示不完全数据,是已知变量。条件概率分布P(w_i|z_k)和P(z_k|d_j)的乘积代表完全数据,是未知变量。

由于可以从数据中直接统计得出P(d_j)的估计,这里只考虑P(w_i|z_k),P(z_k|d_j)的估计,可将Q函数简化为函数Q'

Q'=\sum_{i=1}^M \sum_{j=1}^N n(w_i,d_j)P(z_k|w_i,d_j)log\bigg[P(w_i|z_k)P(z_k|d_j)\bigg]
Q'函数中的P(z_k|w_i,d_j)可以根据贝叶斯公式计算
P(z_k|w_i,d_j)=\frac{P(w_i|z_k)p(z_k|dj)}{\sum_{k=1}^K P(w_i|z_k)P(z_k|d_j)}
其中P(z_k|d_j)和P(w_i|z_k)可由上一步迭代得到

M步:极大化Q函数
通过约束最优化求解Q函数的极大值,这时P(z_k|d_j)和P(w_i|z_k)是变量,因为变量P(w_i|z_k),P(z_k|d_j)形成概率分布,满足约束条件
\begin{aligned} \sum_{i=1}^M P(w_i|z_k) = 1,k=1,2,\dots,K \\ \sum_{k=1}^KP(z_k|d_j)=1 ,j=1,2,\dots,N \end{aligned}
应用拉格朗日法,引入拉哥朗日乘子\tau和\rho_j,定义拉格朗日函数\Lambda
\Lambda = Q'+\sum_{k=1}^K \tau_k\bigg(1-\sum_{i=1}^MP(w_i|z_k)\bigg)+\sum_{j=1}^N\rho_j\bigg(1-\sum_{k=1}^KP(z_k|d_j)\bigg)
将拉格朗日函数\Lambda分别对P(w_i|z_k)和P(z_k|d_j)求偏导数,并令其为0,得到下面的方程组
\begin{aligned} \sum_{j=1}^Nn(w_i,d_j)P(z_k|w_i,d_j) -\tau P(w_i|z_k) =0,i=1,2,\dots,M;k=1,2,\dots,K \\ \sum_{i=1}^Mn(w_i,d_j)P(z_k|w_i,d_j)-\rho_jP(z_k|d_j),j=1,2,\dots,N;k=1,2,\dots,K \end{aligned}
解方程组得到M步参数估计公式
\begin{aligned} P(w_i|z_k) =\frac{\sum_{j=1}^N n(w_i,d_j)P(z_k|w_i,d_j)}{\sum_{m=1}^M\sum_{j=1}^Nn(w_m,d_j)P(z_k|w_m,d_j)} \\ P(z_k|d_j)=\frac{\sum_{i=1}^Mn(w_i,d_j)P(z_k|w_i,d_j)}{n(d_j)} \end{aligned}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容