萌新的机器学习

LDA主题模型

2018-08-22  本文已影响0人  初七123

LDA数学八卦学习笔记

数学知识

Gamma函数

Gamma函数的性质
其可以看作阶乘在实数集上的扩展

Gamma分布

由变换 x=bt 取一般形式

Beta/Dirichlet分布

Beta分布

从均匀分布中采样n个随机变量
第k大的变量的概率分布即Beta分布

取 a = k, b = n - k + 1 即可

Beta-Binomial 共轭

此处共轭的意思是,数据符合二项分布的时候,参数的先验分布和后验分布都能保持Beta分布的形式

Dirichlet-Multinomial 共轭

Dirichlet分布是Beta分布的高维扩展

对于三维形式的Dirichlet分布

其含义是从均匀分布中采样的顺序统计量
(X(k1), X(k1+k2))的概率分布

其中
a1 = k1,a2 = k2,a3 = n - k1 - k2 + 1

共轭

当先验符合狄利克雷分布,采样数据符合多项分布的时候,后验概率也是狄利克雷分布

强烈推荐!!共轭分布

一般形式的狄利克雷分布

Beta/Dirichlet 分布的性质

MCMC 和 Gibbs Sampling

包括指数分布、Gamma分布、t分布、F分布、Beta分布、Dirichlet分布等都能通过均分分布+数学变化得到,但是一些复杂的分布无法直接计算,就需要用MCMC和Gibbs Sampling的方式得到

马尔可夫链和平稳分布
马尔可夫性质即状态的概率转移只依赖于前一个状态

对于绝大多数状态转移矩阵,当转移次数足够多的时候,其每一行都会收敛

对此,有定理

连通的含义不是直接一步可以转移到,而是允许通过间接的方式

Markov Chain Monte Carlo

由于马氏链能收敛到平稳分布,于是有一个很漂亮的想法是:如果我们能构造一个转移矩阵为P的马氏链,使得该马氏链的平稳分布恰好是p(x),所以对于x0,x1,x2,⋯,xn,xn+1,⋯如果这个马尔可夫过程在第n步时已经收敛,那么分布p(x)的样本即为xn,xn+1,⋯

下面介绍的Metropolis-Hastings算法是MCMC的一个改进变种

对于一个状态分布p(x),可以改造马氏链Q为Q',使p(x)为平稳分布

其中a(i, j)可以理解为转移接受概率
于是我们可以得到MCMC采样算法

对正负样本等比例增加采样率,分布不变
于是固定a(i, j)、a(j, i)中的较大值为1,另一值按比例缩放
于是得到 MH 采样算法

Gibbs Sampling

前面介绍的Metropolis-Hastings采样为从指定分布中进行采样提供了一个统一的框架,但是采样的效率依赖于指定的分布的选择,若是选择的不好,会使得接受率比较低,大量的采样被拒绝,影响到整体的收敛速度。

Gibbs采样是Metropolis-Hastings采样算法的特殊形式,即找到一个已知的分布,使得接受率α=1。这样,每次的采样都会被接受,可以提高MCMC的收敛速度。

强烈推荐!!受限玻尔兹曼机预备知识

文本建模

Unigram Model

所以一篇文档的生成概率

一个语料库的概率

Unigram Model 假设文档之间是独立可交换的,而文档之中的词也是独立可交换的,所以又被称为词袋模型

假设语料中的总的词频是N,在所有N个词中,我们关注每个词的发生次数ni,那么可得n服从一个多项式分布

此时语料的概率为

按照频率统计的观点,我们可以最大化p(W),得到参数pi的估计值

对于贝叶斯学派来说

所以语料库的概率为

因为文档服从多项式分布,所以选择其共轭分布Dirichlet分布作为先验分布

所以有如下概率图模型

无需计算,我们得到参数p的后验概率分布

依据前面提到的Dirichlet分布的性质

我们可以估计出pi的值

进一步我们可以计算出文本语料的产生概率

Topic Model ⁄PLSA

PLSA认为一篇文章可以由多个主题混合而成,而每个主题都是词汇上的概率分布, 文章中的每一个词都是由一个固定的主题生成的。

所以游戏规则变成下面这个

图示

对于每一篇文章都有一个特定的主题骰子,所以可得

可以使用著名的EM算法求解该模型

LDA文本建模

LDA的主要思想是在PLSA中加入先验

在Bayesian Unigram Model中我们得到

利用 Dirichlet-Multiomial 共轭结构
我们得到参数 θ 的后验分布

由于m篇文章topics的生成过程独立,我们可以得到整个语料库topics的生成概率

同时LDA的语料生成步骤可以等价为:先选出topic骰子,再合并topic得到word骰子
所以又可以得到一个共轭分布

同样我们可以得到

以及后验概率分布

设 w(k) 表示由topic k 生成的词,z(k)表示topic编号

所以得到整个语料中词生成的概率

结合topic的概率得到

k下标为topic编号,m下标为文档编号

Gibbs Sampling

LDA Gibbs Sampling 公式,推导过程略

Training and Inference

有了LDA模型,当然我们的目标只有两个

  1. 估计模型的参数
  2. 对于一篇新来的文档,我们计算这篇文档的topic分布

有了吉布斯采样公式,我们就可以基于语料训练LDA模型,并应用训练的模型对新文档进行语义分析

对于一个新来的文档

上一篇下一篇

猜你喜欢

热点阅读