Skip to content

Commit

Permalink
LDA
Browse files Browse the repository at this point in the history
  • Loading branch information
沙韬伟 committed Jun 5, 2020
1 parent b2f0f95 commit 224f82d
Showing 1 changed file with 42 additions and 7 deletions.
49 changes: 42 additions & 7 deletions 自然语言处理/LDA.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,54 @@
- 文档里某个单词出现的概率可以用公式表示:![](https://tva1.sinaimg.cn/large/006y8mN6gy1g9b9y6avdtj306e01jdfo.jpg)
- 采用EM方法修正词-主题矩阵+主题-文档矩阵直至收敛

# LDA中的主题矩阵如何计算?
- 给矩阵W和K随机赋值,其中W是每个主题中每个单词出现的次数,K是每个文档中每个主题出现的次数,虽然这些次数还只是随机数,我们还是可以根据这些次数,利用Dirichlet分布+多项式分布计算出每个主题中每个单词最可能出现的概率,以及每个文档中每个主题最可能出现的概率
- 对于样本文档中的词,用极大似然估计得到每个主题产生单词的概率:p(z/w,d) = p(w/z)p(z/d),找出概率最大的那个主题
- 由于确定了这个单词是哪个主题产生的,相当于Dirichlet分布中代入参数W和K的值发生了改变,于是计算出新的词-主题的概率矩阵+主题-文档的概率矩阵
- 最后主题-文档的概率矩阵即为所求
# LDA中的主题矩阵如何计算?词分布矩阵如何计算?
这个问题很难说清楚,一般会揪着细节问,不会在乎你的公式写的是不是完全一致。这部分是LDA的核心,是考验一个nlp工程师的最基础最基础的知识点
- 吉布斯采样
- 先随机给每篇文章和每个词附上主题
- 统计每篇文章的主题分布,得到主题的后验条件概率分布
- 通过坐标轮换的吉布斯采样方法,修正每篇文章的主题
- 重复直到吉布斯采样收敛
- 收敛后统计文章的词对应的主题,得到文章的主题分布;统计词对应的主题,得到不同主题下词的分布

- 通常会引申出如下几个问题:
- 吉布斯采样是怎么做的?(基于MCMC方法结合在多维情况下优化一维固定其他维度不变,可以不必进行采样拒绝以加快速度)
- MCMC中什么叫做蒙特卡洛方法?
- 通常用于求概率密度的积分
- 用已知分布去评估未知分布
- reject-acpect过程
- 马尔科夫链收敛性质?
- 非周期性,不能出现死循环
- 连通性,不能有断点
- MCMC中什么叫做马尔科夫链采样过程?
- 先得到转移矩阵P在N次迭代下收敛到不变的平稳矩阵
- 再根据平稳矩阵后的条件概率p(x/xt)得到平稳分布的样本集(xn+1,xn+2...)
- 给定平稳矩阵如何得到概率分布样本集?
- M-C采样
- 给定任意的转移矩阵Q,已知π(i)p(i,j) = π(j)p(j,i),近似拟合π(i)Q(i,j)a(i,j) = π(j)Q(j,i)a(j,i)
- 根据Q的条件概率Q(x/xt)得到xt+1
- u~uniform
- u<π(xt+1)Q(xt+1,xt) 则accept,就和蒙特模拟一样否则xt+1 = xt
- (xt,xt+1...)代表着我们的分布样本集
- M-H采样
- 左右同乘缩放,更新a(i,j)的计算公式,加快收敛速度
- Gibbs采样
- 同上,差别在固定n−1个特征在某一个特征采样及坐标轮换采样
- 什么叫做坐标转换采样?
- 平面上任意两点满足细致平稳条件π(A)P(A->B) = π(B)P(B->A)
- 从条件概率分布P(x2|x(t)1)中采样得到样本x(t+1)2
- 从条件概率分布P(x1|x(t+1)2)中采样得到样本x(t+1)1
- 其为一对样本,有点像Lasso回归中的固定n-1维特征求一维特征求极值的思路

- 变分推断


# LDA的共轭分布解释下?
以多项式分布-狄利克雷分布为例,我们的多项式分布θ先验分布π(θ),及加了样本信息x后的后验分布π(θ/x)都满足狄利克雷分布,则称狄利克雷分布为多项式分布的共轭分布
以多项式分布-狄利克雷分布为例,我们的多项式分布θ先验分布π(θ),及加了多项式分布的样本信息x后的后验分布π(θ/x)都满足狄利克雷分布,则称狄利克雷分布为LDA场景下多项式分布的共轭分布


# PLSA和LDA的区别?
- LDA是加了狄利克雷先验的PLSA
- PLSA的p(z/d)和p(w/z)都是直接EM估计的,而LDA都是通过狄利克雷给出的多项式参数下估计出来的
- PLSA的p(z/d)和p(w/z)都是直接EM估计的,而LDA都是通过狄利克雷给出的多项式分布参数估计出来的
- LDA是贝叶斯思想,PLSA是MLE

# 怎么确定LDA的topic个数
Expand Down

0 comments on commit 224f82d

Please sign in to comment.