LDA主题模型详解(面试的问题都在里面)

本文详细介绍了LDA主题模型的任务、文章生成原理、参数求解方法(Gibbs采样和EM算法),并探讨了Gibbs采样训练和预测流程。此外,讨论了如何确定LDA中的主题数目,以及MCMC和Gibbs采样的概念和区别。
摘要由CSDN通过智能技术生成

本文参考《LDA数学八卦》,想获得此书,关注我,并在微信后台回复“LDA”,资源送给你。请帮忙分享给你的朋友喔!

1. LDA主题模型想要完成什么任务

我们设有20个主题,LDA主题模型的目标是为每一篇文章找到一个20维的向量,向量中的20个值代表着这篇文章属于某一个主题的概率大小。是一个类似于聚类的操作。

2. 在LDA主题模型下,一篇文章是怎么生成的

在LDA主题模型中,文章的生成有三个要素【词语,主题,文章】,词语和主题是多对多的关系,每个词语都可能代表着多个主题,每个主题下也有多个代表的词语;主题和文章也是多对多的关系,每个主题都对应着多篇文章,每篇文章也可能有多个主题。

在LDA主题模型下,一篇文章由词语的序列组成。首先以一定概率选择一个主题,其次以一定概率在这个主题中选择一个词。如果一篇文章由1000个词组成,那么就把上述方式重复1000遍,就能组成这篇文章。那么值得注意的是,以一定概率选择一个主题是服从多项式分布的,而多项式分布的参数是服从
Dirichlet分布的。以一定概率在特定主题中选择一个词也是服从多项式分布的,多项式分布的参数是服从Dirichlet分布的。为什么呢?因为Dirichlet分布是多项式分布的共轭分布,也就是说由贝叶斯估计得到的后验分布仍然是Dirichlet分布

3. LDA主题模型如何求解参数
  1. Gibbs采样
  2. 变分推断EM算法
4. Gibbs采样训练流程
  1. 选择合适的主题数 K,选择合适的超参数 α, β
  2. 对于语料库中每一篇文档的每一个词,随机的赋予一个主题编号 z
  3. 重新扫描语料库,对于每一个词,利用Gibbs采样公式更新它的topic编号,并更新语料库中该词的编号
  4. 重复第三步中基于坐标轴轮换的Gibbs采样,直到Gibbs采样收敛。
  5. 统计语料库中各个文档各个词的主题,得到文档主题分布;然后统计语料库中各个主题词的分布,得到主题与词的分布。
5. Gibbs采样预测流程
  1. 对当前文档的每一个词,随机的赋予一个主题编号z
  2. 重新扫描当前文档,对于每一个词,利用Gibbs采样算法更新它的topic编号
  3. 重复第二步的基于坐标轴轮换的Gibbs采样,直到Gibbs采样收敛
  4. 统计文档中各个词的主题,得到该文档主题分布。
6. 什么是采样

统计模拟中有一个重要的问题就是给定一个概率分布p(x),我们如何在计算机中生成它的样本。一般来说均匀分布是比较容易生成的,我们程序里所生成的随机数就是用线性同余发生器产生的伪随机数。

但是很多概率分布我们无法简单的找到一种算法来进行采样,所以就需要一些更加复杂的随机模拟方法来生成样本。

常用的采样方法有MCMC(Markov Chain Monte Carlo 马尔科夫链蒙特卡洛方法),Gibbs Sampling(Gibbs采样)

6.1 MCMC

MCMC的核心是马氏链的平稳分布。我们假设现在有【上等马,中等马,下等马】三种马,它们出现的概率分别是【0.1,0.7,0.2】,而且有一个状态转移矩阵,告诉我们上等马的后代有多大的概率繁衍出【上等马,中等马,下等马】。

我们会发现,给定转态状态矩阵之后,最后【上等马,中等马,下等马】的概率分布会收敛,不再改变,比如收敛到【0.2,0.6,0.2】,且不受初始概率影响,只于状态转移矩阵有关。

那么我们想到,如果我们能构造一个状态转移矩阵为P的马氏链,使得该马氏链的平稳分布恰好是p(x),那么我们从任意一个初始状态 x 0 x_0 x0出发沿着马氏链转移,得到一个转移序列 x 0 , x 1 , x 2 , x 3 , . . . x n , x n + 1 , . . . x_0, x_1, x_2, x_3, ... x_n, x_{n+1}, ... x0,x1,x2,x3,...xn,xn+1,...,如果马氏链在第n步已经收敛了,于是我们就得到了样本 x n , x n + 1 , . . . x_n, x_{n+1}, ... xn,xn+1,...,他们是满足概率分布p(x)的采样。

细致平稳条件:
如果非周期马氏链的转移矩阵

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值