PLSA
2022-10-12

 

前置知识

概率公式

  1. 加法公式

    (1)P(X)=YP(X,Y)
  2. 乘法公式

    (2)P(X,Y)=P(XY)P(Y)=P(YX)P(X)
  3. 贝叶斯公式

(3)P(YX)=P(X,Y)P(X)=P(XY)P(Y)YP(X,Y)=P(XY)P(Y)YP(XY)P(Y)

独立随机变量的性质

如果两个随机变量XY独立,那么:

(4)P(X,Y)=P(X)P(Y)

根据乘法公式:

(5)P(X,Y)=P(XY)P(Y)

因此:

(6)P(X)=P(XY)

PLSA简介

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

 

PLSA模型

PLSA有生成模型,以及等价的共现模型。

生成模型

假设有如下集合:

  1. 单词集合

    W={w1,w2,,wM},其中,M为单词个数

  2. 文本集合

    D={d1,d2,,dN},其中,N为文本个数

  3. 话题集合

    Z={z1,z2,,zK},其中,K为话题个数

 

随机变量w取值于单词集合,随机变量d取值于文本集合,随机变量z取值于话题集合。定义如下概率分布(都是多项式分布):

  1. P(d):生成文本d的概率
  2. P(zd):文本d生成话题z的概率
  3. P(wz):话题z生成单词w的概率

 

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

  1. 依据概率分布P(d),从文本集合中随机选取一个文本d,共生成N个文本。针对每个文本,执行以下操作:
  2. 在文本d给定条件下,依据概率条件分布P(zd),从话题集合随机选取一个话题z,共生成L个话题,其中L是文本长度;
  3. 在话题z给定条件下,依据概率条件分布P(wz),从单词集合中随机选取一个单词w

 

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

 

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

(7)P(T)=(w,d)P(w,d)n(w,d)n(w,d)(w,d)

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

(8)P(w,zd)=P(zd)P(wz,d)=P(zd)P(wz)

根据概率公式,每个单词-文本对(w,d)的生成概率由以下公式决定:

(9)P(w,d)=P(d)P(wd)=P(d)zP(zd)P(wz,d)=P(d)zP(zd)P(wz)

上式即为生成模型的定义。

生成模型属于概率有向图模型,可以用有向图表示。如下图所示,实心圆表示观测变量,空心圆表示隐变量,箭头表示概率依存关系,方框表示多次重复,方框内的数字(NL)表示重复的次数

PLSA

共现模型

文本-单词共现数据T的生成概率为所有单词-文本对(w,d)的生成概率的乘积:

(10)P(T)=(w,d)P(w,d)n(w,d)n(w,d)(w,d)

共现模型假设在话题z给定条件下,单词w与文本d条件独立,即:

(11)P(w,dz)=P(wz)P(dz)

根据概率公式,每个单词-文本对(w,d)的概率由以下公式决定:

(12)P(w,d)=zP(w,d,z)=zP(z)P(w,dz)=zP(z)P(wz)P(dz)

上式即为共现模型的定义。

下图所示为共现模型。文本变量d和单词变量w为观测变量,话题变量z为隐变量

PLSA_共现

总结

生成模型刻画文本-单词共现数据生成的过程,共现模型描述文本-单词共现数据拥有的模式。生成模型公式中单词变量w与文本变量d是非对称的,而共现模型公式中的单词变量w与文本变量d是对称的。因此,前者称为非对称模型,后者称为对称模型。

 

PLSA的学习方法

生成模型

定义对数似然函数

优化目标是对数似然函数最大化,该函数定义如下:

(13)logP(T)=logi,jP(wi,dj)n(wi,dj)=i=1Mj=1Nn(wi,dj)logP(wi,dj)=i=1Mj=1Nn(wi,dj)log[P(dj)k=1KP(zkdj)P(wizk)]=i=1Mj=1Nn(wi,dj)[logP(dj)+logk=1KP(zkdj)P(wizk)]=i=1Mj=1Nn(wi,dj)logP(dj)+i=1Mj=1Nn(wi,dj)logk=1KP(zkdj)P(wizk)

n(wi,dj)logP(dj)都为常数,因此,将对数似然函数简化为:

(14)logP(T)=L=i=1Mj=1Nn(wi,dj)logk=1KP(zkdj)P(wizk)

E步:定义Q函数

根据Jesson不等式:

(15)logpf(x)plogf(x)

定义概率分布函数P(zkwi,dj),对于对数似然函数:

(16)L=i=1Mj=1Nn(wi,dj)logk=1KP(zkdj)P(wizk)=i=1Mj=1Nn(wi,dj)logk=1KP(zkdj)P(wizk)P(zkwi,dj)P(zkwi,dj)i=1Mj=1Nn(wi,dj)k=1KP(zkwi,dj)logP(zkdj)P(wizk)P(zkwi,dj)=i=1Mj=1Nn(wi,dj)k=1KP(zkwi,dj){log[P(zkdj)P(wizk)]logP(zkwi,dj)}=i=1Mj=1Nn(wi,dj)k=1K{P(zkwi,dj)log[P(zkdj)P(wizk)]P(zkwi,dj)logP(zkwi,dj)}

因为P(zkwi,dj)为常数,因此上式可简化为:

(17)Li=1Mj=1Nn(wi,dj)k=1KP(zkwi,dj)log[P(zkdj)P(wizk)]

定义Q函数为:

(18)Q=i=1Mj=1Nn(wi,dj)k=1KP(zkwi,dj)log[P(zkdj)P(wizk)]

Q函数为对数似然函数L的下界,将对L的极大化问题,转为对Q的极大化问题。

根据概率公式,对P(zkwi,dj)化简为:

(19)P(zkwi,dj)=P(zk,wi,dj)P(wi,dj)=P(zk)P(wi,djzk)P(wi,dj)=P(zk)P(dizk)P(wizk)P(wi,dj)=P(dj)P(zkdj)P(wizk)a=1KP(wi,dj,za)=P(dj)P(zkdj)P(wizk)a=1KP(dj)P(zadj)P(wiza)=P(zkdj)P(wizk)a=1KP(zadj)P(wiza)

所以,Q函数可以化简为:

(20)Q=i=1Mj=1Nn(wi,dj)k=1KP(zkwi,dj)log[P(zkdj)P(wizk)]=i=1Mj=1Nn(wi,dj)k=1KP(zkdj)P(wizk)a=1KP(zadj)P(wiza)log[P(zkdj)P(wizk)]

P(wizk)P(zkdj)为变量,即待求解参数。

M步:极大化Q函数

极大化Q函数是一个带约束的最优化问题。因为变量P(wizk)P(zkdj)为概率分布,因此:

(21)i=1MP(wizk)=1,k=1,2,,Kk=1KP(zkdj)=1,j=1,2,,N

应用拉格朗日乘子法,引入拉格朗日乘子τkρj,定义拉格朗日函数Λ

(22)Λ=Q+k=1Kτk(1i=1MP(wizk))+j=1Nρj(1k=1KP(zkdj))

将拉格朗日函数Λ分别对P(wizk)P(zkdj)求偏导,并令其为0,得:

(23)j=1Nn(wi,dj)P(zkwi,dj)τkP(wizk)=0,i=1,2,,M;k=1,2,,Ki=1Mn(wi,dj)P(zkwi,dj)ρjP(zkdj)=0,j=1,2,,N;k=1,2,,K

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

(24)P(wizk)=j=1Nn(wi,dj)P(zkwi,dj)m=1Mj=1Nn(wm,dj)P(zkwm,dj)P(zkdj)=i=1Mn(wi,dj)P(zkwi,dj)n(dj)

总结

概率潜在语义模型(PLSA)参数估计的EM算法:

输入:单词集合W={w1,w2,,wM},文本集合D={d1,d2,,dN},话题集合Z=z1,z2,,zK,共现数据n(wi,dj),i=1,2,,M,j=1,2,,N

输出:P(wizk)P(zkdj)

步骤:

(1)设置参数P(wizk)P(zkdj)的初始值

(2)迭代执行E步和M步,直到收敛为止。

E步:

(25)P(zkwi,dj)=P(wizk)P(zkdj)k=1KP(wizk)P(zkdj)

M步:

(26)P(wizk)=j=1Nn(wi,dj)P(zkwi,dj)m=1Mj=1Nn(wm,dj)P(zkwm,dj)P(zkdj)=i=1Mn(wi,dj)P(zkwi,dj)n(dj)

共现模型

暂略。

 

参考文档

  1. 李航 《统计学习方法》
  2. 【学习笔记】pLSA算法原理手写推导 - 知乎 (zhihu.com)
  3. PLSA的EM算法求解6哔哩哔哩_bilibili
  4. (143条消息) 李航老师《统计学习方法》第二版第十八章概率潜在语义分析课后习题答案_六七~的博客-CSDN博客