潜在狄利克雷分配(LDA)

潜在狄利克雷分配(LDA)

潜在狄利克雷分配(LDA),作为基于贝叶斯学习的话题模型,是潜在语义分析、概率潜在语义分析的扩展,于2002年由Blei等提出。LDA在文本数据挖掘、图像处理、生物信息处理等领域被广泛使用。

LDA模型是文本集合的生成概率模型。假设每个文本由话题的一个多项式分布表示,每个话题由单词的一个多项式分布表示,特别假设文本的话题分布的先验分布是狄利克雷分布,话题的单词分布的先验分布也是狄利克雷分布。先验分布的导入使LDA能够更好地应对话题模型学习的过拟合现象。

LDA的文本集合的生成过程如下:首先随机生成一个文本话题分布,之后再该文本的每个位置,依据该文本的话题分布随机生成一个话题,然后在该位置依据该话题的单词分布随机生成一个单词,直至文本的最后一个位置,生成整个文本。重复以上的过程生成所有文本。

LDA模型是含隐变量的概率图模型。模型中,每个话题的单词分布,每个文本的话题分布,文本的每个位置的话题是隐变量;文本的每个文职的单词是观测变量。LDA模型的学习与推理无法直接求解,通常使用吉布斯抽样和变分EM算法。前者是蒙特卡洛法,后者是近似计算。

一、狄利克雷分布

1.分布定义

多项分布是一种多元离散随机变量的概率分布,是二项分布的扩展。

假设重复进行n次独立随机试验,每次试验可能出现的结果有k种,第i中结果出现的概率为,第i种结果出现的次数为。如果用随机变量,表示试验所有可能结果的次数,其中表示第i种结果出现的次数,那么随机变量服从多项分布。

若元离散随机变量的概率密度为

其中,,则称随机变量X服从参数为(n,p)的多项分布,记作

当试验的次数n为1时,多项分布变成类别分布。类别分布表示试验可能出现的k种结果的概率。显然多先分布包含类别分布。

2.狄利克雷分布

狄利克雷分布是一种多元随机变量的概率分布,是贝塔分布的扩展。在贝爷斯学习中,狄利克雷分布作为多项分布的先验概率使用。

多元连续型随机变量的概率密度函数为

其中,称随机变量服从参数为的狄利克雷分布,记作
式中

具有以下性质

当s是自然数时,有



则狄利克雷分布的密度函数可以写成

是规范化因子,称为多元贝塔函数(称为扩展的贝塔函数)。由密度函数性质

二.共轭先验

狄利克雷有一些重要性质:(1)狄利克雷分布属于指数分布簇(2)狄利克雷分布是多项分布的共轭先验
贝叶斯学习中常使用共轭分布,如果后验分布与先验分布属于同类,则先验分布与后验分布称为共轭分布,先验分布称为共轭先验。如果多项分布的先验分布是狄利克雷分布,作为先验分布的狄利克雷分布的参数又称为超参数,使用共轭先验分布的好处是便于从先验分布计算后验分布。

将样本数据表示为D,目标是计算样本数据D给定条件下参数的后验概率,对于给定样本数据D,似然函数是

假设随机变量服从狄利克雷分布其中为参数,则的先验分布为

根据贝爷斯规则,在给定样本数据D和参数a的条件下,的后验概率分布是
\begin{aligned} p(\theta|D,a) = \frac{p(D|\theta)p(\theta|a)}{p(D|\alpha)} \\ =\frac{\prod_{i=1}^k \theta_i^{n_i}\frac{1}{B(a)}\theta_i^{a_i-1}}{\int \prod_{i=1}^k \theta_i^{n_i}\frac{1}{B(a)}\theta_i^{a_i-1}d\theta} \\ =\frac{1}{B(a+n)}\prod_{i=1}^k \theta_i^{a_i+n_i+1} \\ =Dir(\theta|a+n) \end{aligned}
狄利克雷的后验分布等于狄利克雷分布参数加上多项分布的观测技术

三、潜在狄利克雷分配模型

1.基本想法

潜在狄利克雷分配(LDA)是文本集合的生成概率模型。模型假设话题由单词的多项分布表示,文本由话题的多项分布表示,单词分布和话题分布的先验分布都是狄利克雷分布。文本内容的不同时由于话题分布不同。

LDA模型表示文本集合的自动生成过程:首先,基于单词分布的先验分布(狄利克雷分布)生成多个单词分布,即决定多个话题内容;之后基于话题分布的先验分布(狄利克雷分布)生成多个话题分布,针对每个话题,基于话题的单词分布生成单词,整体构成一个单词序列,即生成文本,重复这个过程生成所有文本。文本的单词序列是观测变量,文本的话题序列是隐变量,文本的话题分布和话题的单词分布也是隐变量。

可以认为LDA是PLSA的扩展,相同点都假设话题是单词的多项分布,文本是华话题的多项分布。不同点LDA使用狄利克雷分布作为先验,而PLSA不使用先验分布(或者说假设先验分布为均匀分布),两者对文本生成过程有不同假设;学习过程LDA基于贝叶斯学习,PLSA基于极大似然估计。LDA的优点是,使用先验概率分布,可以防止学习过程中产生过拟合。

2.模型定义

(a)模型要素

使用三个集合:一是单词集合,其中是第v个单词,,V是单词个数。二是文本集合,其中,其中是文本的第n个单词,,是文本中单词个数。三是话题集合,其中,是第k个话题,,K是话题的个数。

每一个话题是由一个单词的条件概率分布决定的,。分布服从多项分布(严格意义上类别分布),其参数为。参数是V维向量服从狄利克雷分布(先验分布),其超参数为。参数,其中表示生成单词的概率。所有话题的参数向量构成矩阵,,超参数也是V维向量

每一个文本由一个话题的条件概率分布决定,,分布服从多项分布(严格意义上的类别分布),其参数为,参数服从狄利克雷分布(先验分布),其超参数为a。参数是K维向量,其中,其中表示文本生成话题的概率。所有文本构成参数构成一个M*K矩阵,超参数a也是一个K维向量

每一个文本中的每一个单词由该文本的话题分布以及所有话题的单词分布决定

(b)概率图模型

LDA本质上是一个概率图模型,图为LDA作为概率图模型的板块表示,图中结点表示随机变量,实心结点是观测变量,空心结点是隐变量;有向边表示概率依存关系;矩形(板块)内数字表示重复的次数。


潜在狄利克雷分配(LDA)_第1张图片
images.png

结点表示模型的超参数,结点表示话题的单词分布的参数,结点表示文本的话题分布的参数,结点表示话题,结点表示单词。结点指向结点,重复K次,表示根据超参数生成K个话题的单词分布参数;结点a指向结点,重复M次,表示根据超参数a生成M个文本的话题分布参数;结点指向,重复N词,表示根据文本的话题分布生成个话题;结点指向结点,同时K个结点也指向结点,表示根据话题以及K个话题的单词生成单词。LDA是相同的随机参数被重复多次使用的概率图模型。

四、算法

潜在狄利克雷分配(LDA)的学习(参数估计)是一个复杂的最优化问题,很难精确求解。常用近似求解的方法有吉布斯抽样和变分推理

1.LDA的吉布斯抽样算法

吉布斯抽样的优点是实现简单,缺点是迭代次数可能较多。

(a)基本想法

LDA模型的学习,给定文本(单词序列)的集合,其中是第m个文本集合的单词序列,即,超参数已知。目标是要推断

  1. 话题序列集合的后验概率
  2. 参数
  3. 参数
    要对联合概率分布进行估计,其中w是观测变量,而是隐变量。

吉布斯抽样,是一种常用的马尔科夫链蒙特卡罗法。为了估计多元随机变量x的联合概率分布p(x),吉布斯抽样法选择x的一个分量,固定其他分量,按照其条件概率分布进行随机抽样,一次循环对每一个分量执行这个操作,得到联合分布p(x)的一个随机样本,重复这个过程,在燃烧期后,得到联合概率分布p(x)的样本集合。

LDA模型采通常采取收缩的吉布斯抽样方法,基本想法是,通过对隐变量积分,得到边缘概率分布(也是联合分布),其中w是可观测变量,z是不可观测的。对后验概率分布进行吉布斯抽样,得到分布的样本集合;再利用这个样本集合对参数和进行估计,最终得到模型所有的参数估计。

(b)算法的主要部分

(1)抽样分布表达式


这里变量是已知的,分母相同,可以不预考虑。联合概率分布的表达式可以进一步分解为

两个因子可以分别处理

推导第一个因子的表达式

其中是k个话题生成单词集合第v个单词的概率,是数据中第k个话题生成第v个单词的次数。

\begin{aligned} p(w|z,\beta)=\int p(w|z,\varphi)p(\varphi|\beta)d \varphi \\ =\int \prod_{k=1}^K\frac{1}{B(\beta)}\prod_{v=1}^V \varphi_{kv}^{n_{kv}+\beta_v-1}d\varphi \\ =\prod_{k=1}^K\frac{1}{B(\beta)}\int\prod_{v=1}^V \varphi_{kv}^{n_{kv}+\beta_v-1}d\varphi \\ =\prod_{k=1}^K \frac{B(n_k+\beta)}{B(\beta)} \end{aligned}
其中

第二个因子的表达式也可以类似推导。首先

其中是第m个文本生成第k个话题的概率,是数据根据第m个文本生成的第k个话题,于是
\begin{aligned} p(z|a)=\int p(z|\theta)p(\theta|a)d\theta \\ =\int \prod_{m=1}^M \frac{1}{B(a)}\prod_{k=1}^K \theta_{mk}^{n_{mk}+a_k-1}d\theta \\ = \prod_{m=1}^M \frac{1}{B(a)}\int \prod_{k=1}^K \theta_{mk}^{n_{mk}+a_k-1}d\theta \\ =\prod_{m=1}^M \frac{B(n_m+a)}{B(a)} \end{aligned}
式中,可得

(2)算法的后处理

通过吉布斯抽样得到的分布的样本,可以得到变量z的分配值,也可以估计变量。

  1. 参数
    根据LDA表达式,后验概率满足

    这里是第m个文本话题的计数。表示分布对变量的边缘化因子。于是得到参数的估计式
  2. 参数
    后验概率满足
    这里是第k个话题单词的计数,表示分布对变量的边缘化因子,I是文本集合单词序列w的单词总数,于是得到参数

2.LDA的变分EM算法

(a)变分推理

变分推理是贝叶斯学中常用的,含隐变量模型的学习和推理方法。变分推理和马尔科夫蒙特卡洛(MCMC)属于不同的技巧。MCMC通过随机抽样的方法近似统计模型的后验概率,变分推理则通过解析的方法计算模型的后验概率。

变分推理的基本想法如下,假设模型是联合桂林分布,其中x是观测变量,z是隐变量,包括参数。目标是学习模型的后验概率分布p(z|x),用模型进行概率推理。但这是一个复杂的分布,直接估计分布的参数很困难,所以考虑使用概率分布q(z)近似条件桂林分布p(z|x),用KL散度D(q(z))||p(z|x))计算两者的相似度,q(z)称为变分分布。如果能找到与p(z|x)在KL散度意义下的近似分布,则可以用这个分布近似p(z|x)

KL散度可以写成以下形式

(b)变分EM算法

将变分EM算法应用到LDA模型的学习上,首先定义具体的变分分布,推导证据下界的表达式,接着推导变分分布的参数和LDA模型的参数的估计形式,最后给出LDA模型的变分EM算法

(1).变分下界的定义

文本的单词序列,对应的话题序列,以及话题分布,和随机变量的联合概率分布是

定义基于平均场的变分分布

其中是可观测变量,是隐变量,是参数
定义基于平均场的变分分布

其中是狄利克雷分布参数,是多项分布参数,变量的各个分量都是条件独立的,目标是求KL散度意义下最相近的变分分布以及近似LDA模型的后验概率分布

潜在狄利克雷分配(LDA)_第2张图片
inference_graphic_model.png

变分分布的板块表示,LDA模型中隐变量之间不存在依存关系,变分分布中这些依存关系被去掉,变量条件独立

由此可得到一个文本的证据下界

所有文本的证据下界为

为了求证据下界的最大化,首先写出证据下界的表达式。为此展开证据下界表达式

根据变分参数,模型参数继续展开,并将展开式的每一项写成一行

\begin{aligned} L (\gamma,\eta,a,\varphi) = log \Gamma \bigg(\sum_{k=1}^K a_l\bigg)-\sum_{k=1}^K log \Gamma(a_k) +\sum_{k=1}^K(a_k-1)\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l)\bigg)\bigg]+ \\ \sum_{i=1}^N\sum_{k=1}^K\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]+ \\ \sum_{n=1}^N\sum_{k=1}^K\sum_{v=1}^V \eta_{nk}w_n^vlog \space \varphi_kv -\\ log \psi\bigg(\sum_{l=1}^K\gamma_l\bigg)+\sum_{k=1}^K log \Psi(\gamma_k)-\sum_{k=1}^K(\gamma_k-1)\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]-\\ \sum_{n=1}^N\sum_{k=1}^Kn_{nk} log \eta_{nk} \end{aligned}
式是对数伽马函数,即

第一项推导,求,是关于分布的数学期望

其中
所以
故得

式中分别表示第k个话题的狄利克雷分布参数

第二项推导,求是关于分布的数学期望
\begin{aligned} E_q[log\,p(z|\theta)]=\sum_{n=1}^N E_q[log\,p(z_n|\theta)]\\ =\sum_{n=1}^NE_{q(\theta,z_n|\gamma,\eta)}[log\,(z_n|\theta)]\\ =\sum_{n=1}^N\sum_{k=1}^Kq(z_{nk}|\eta)E_{q(\theta|\gamma)}[log\,\theta_k]\\ =\sum_{n=1}^N\sum_{k=1}^K\eta_{nk}\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg] \end{aligned}
式中表示文档第n个位置的单词由第k个话题产生的概率,表示第k个话题的狄利克雷分布参数。

第三项推导,求是关于分布的数学期望
\begin{aligned} E_q[log\,p(w|z,\varphi)]=\sum_{n=1}^NE_q[log\,p(w_n|z_n,\varphi)]\\ =\sum_{n=1}^NE_{q(z_n|\eta)}[loh\,p(w_n|z_n,\varphi)]\\ =\sum_{n=1}^N\sum_{k=1}^Kq(z_{nk}|\eta)log\,p(w_n|z_{nk},\varphi)\\ =\sum_{n=1}^N\sum_{k=1}^K \sum_{v=1}^V \eta_{nk }w_n^v log\,\varphi_{kv} \end{aligned}
式中表示文档第n个位置的单词由第k个话题产生的概率,表示在第n个位置的单词是单词集合的第v个单词时取1,否则取0,表示第k个话题生成单词集合第v个单词的概率

第四项推导,求,是关于分布的数学期望。由于,可以得到

式中表示第k个话题的狄利克雷分布参数

第五项公式推导,求,是关于分布的数学期望
\begin{aligned} E_q[log\,q(z|\eta)]=\sum_{n=1}^N[log\,q(z_n|\eta)]\\ =\sum_{n=1}^N E_{q(z_n|\eta)}[log\,q(z_n|\eta)]\\ =\sum_{n=1}^N\sum_{k=1}^Kvq(z_{nk}|\eta)log\,q(z_{nk}|\eta)\\ =\sum_{n=1}^N\sum_{k=1}^K\eta_{nk}log\,\eta_{nk} \end{aligned}
式中表示文档第n个位置的单词由第k个话题产生的概率,表示第k个话题的狄利克雷分布参数

(2)变分参数的估计

首先通过证据下界最优化参数,表示第n个位置是由第k个话题生成的概率,,包含的约束条件最优化问题拉格朗日函数为

这里第在第n个位置由第k个话题生成第v个单词的概率

对求偏导数得

令偏导数为零,得到参数的估计值

接着通过证据最优化估计参数,是第k个话题的狄利克雷分布参数
\begin{aligned} L_{[\gamma_k]}=\sum_{k=1}^K(a_k-1)\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]+\sum_{n=1}^N\sum_{k=1}^K\eta_{nk}\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]-\\ =log\,\Gamma\bigg(\sum_{k=1}^K\gamma_l\bigg)+log\,\Gamma(\gamma_k)-\sum_{k=1}^K(\gamma_k-1)\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]\\ =\sum_{k=1}^K\bigg(\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]\bigg(a_k+\sum_{n=1}^N\eta_{nk}-\gamma_k\bigg)-log\,\Gamma\bigg(\sum_{l=1}^K\gamma_l\bigg)+log\,\Gamma(\gamma_k) \end{aligned}
对求偏导数得

令偏导数为零,解得到参数的估计值为

由此得到坐标上升法算法估计变分参数的方法

你可能感兴趣的:(潜在狄利克雷分配(LDA))