白话LDA隐式狄里克雷分布模型

简介: 今天应学弟要求,又回顾了下LDA模型,陡然发现之前弄懂弄通的一些地方竟然开始有些生疏,果然还是得记录总结。 好记性不如烂笔头,于是将LDA模型又从头梳理了一下,有些体会,记录下来 以下尽可能不用代码也不用公式还原LDA模型的思想原貌 LDA全景图 1.

今天应学弟要求,又回顾了下LDA模型,陡然发现之前弄懂弄通的一些地方竟然开始有些生疏,果然还是得记录总结。

好记性不如烂笔头,于是将LDA模型又从头梳理了一下,有些体会,记录下来

以下尽可能不用代码也不用公式还原LDA模型的思想原貌

lda
LDA全景图

1.LDA解决的问题:

如何自动的从一批文档中,找出文档表达的n个主题思想?

2.LDA的假设:

任何模型都是对现实世界的一种假设,所以想要掌握一个模型,先了解它的假设是什么

LDA模型的假设基础就是:关键词在文档中出现的概率 = 关键词在主题中出现的概率 * 主题在文档中出现的概率

本质上还是贝叶斯统计推断

3.解决问题的思路:

不管是数学公式还是伪代码,本质上都是对解决问题思路的描述,搞学术的容易陷入纯数学的表达,搞工程的容易陷入纯代码的表达,

所以要进一步理解模型,就必须透过公式或代码,理解其解决问题的思路

LDA模型的思路又是什么呢?

3.1. 问题分解:

1.如何找到一篇文档中的主题思想?

2.如何求解所有文档主题思想的个数n?

3.2. 问题分析:

所以,LDA模型实际上是一口气解决了两个问题

对于 问题1,这个好办,我们可以挖掘出频率高有意义的关键词来指代文档的主题;

但这也就意味着一篇文章可能同时会有多个主题

对于 问题2,如果一篇文章只有一个主题,这事就好办了,我们可以用kmeans聚类的方式从1,2,3……n逐个尝试,找到匹配度最高的n

现在我们需要考虑一对多问题

我们就再假设,在这堆文档中主题的数量应该也是服从某种分布的,可能是正态分布,可能是伽马分布,暂时不知道

于是我们同样可以将这些分布逐一尝试,看看哪种分布的匹配度最高?

3.3. 解决方案:

于是解决方案就出来了

第一步 先找出每篇文档的所有主题(用关键词组表示)

第二步 再从分布函数中随机选择一个分布去匹配现有文档的主题数量,算出一个匹配度

第三步 不断尝试新的分布函数,直到匹配度最大为止

4.回到数学:

回到数学上,我们就会发现有很多博主苦口婆心的写了一堆公式,但大家还是看不懂,主要原因就是主次不分,总是过分强调细节

其实整体原理很简单,不是吗?接下来我们再对该模型中使用的关键技术对号入座,细节就不展开了,有兴趣大家可以自行搜索

4.1 对号入座

狄里克雷(Dirichlet)分布 就是对应 3.3 第二步中的分布函数,这个Dirichlet可以通过调参的方式模拟任意分布
Dirichlet

Gibbs采样 简单来说,重复的按一定规则从数据中随机选取k个样本的过程就叫Gibbs采样,对应到 3.3 不断尝试新的分布函数,就是需要不断试验,不断采样
Gibbs

变分推断EM 对应到 3.3 第二步中计算匹配度 及 第三步使得匹配度最大
v

4.2 技术质疑

为什么是狄里克雷分布? 因为这是目前为止数学家发明的最好的分布函数模拟工具

为什么要用Gibbs采样? 因为这是目前为止最科学使用最广泛的采样手段

为什么要用变分推断EM? 因为客观事物不可能完美的服从某种分布,只能做近似推断,而变分法同样是目前最好的近似推断工具

5.总结

所以LDA,顾名思义,也就是挖掘隐含的狄里克雷分布的一个过程

5.1. 优点:

通过非常直观的思维逻辑,解决了看似复杂的文本主题聚类的问题

5.2. 缺点:

非常依赖于数据,数据量如果太小,可能不会太凑效

5.3. 发散:

这种分布推理机器,未来是否可以与神经网络有很好的结合点呢?我们拭目以待

相关文章
|
27天前
|
数据采集
PCA与主成分回归(PCR)有何区别?
PCA是降维工具,转化相关变量为线性无关的主成分,保留数据变异。PCR是回归分析方法,利用PCA的主成分预测因变量,应对自变量间的多重共线性,提升模型稳定性。两者协同工作,优化高维数据的建模。
29 0
|
4月前
|
算法 定位技术
插值、平稳假设、本征假设、变异函数、基台、块金、克里格、线性无偏最优…地学计算概念及公式推导
插值、平稳假设、本征假设、变异函数、基台、块金、克里格、线性无偏最优…地学计算概念及公式推导
|
4月前
|
机器学习/深度学习 数据挖掘 Python
统计回归模型中的一些概念解释
统计回归模型中的一些概念解释
|
8月前
【隐式动态求解】使用非线性纽马克方法的隐式动态求解研究(Matlab代码实现)
【隐式动态求解】使用非线性纽马克方法的隐式动态求解研究(Matlab代码实现)
|
机器学习/深度学习 数据可视化 算法
SHAP值:用博弈论的概念解释一个模型
SHAP值:用博弈论的概念解释一个模型
544 0
SHAP值:用博弈论的概念解释一个模型
|
机器学习/深度学习 自然语言处理
论文赏析[TACL18]隐式句法树模型真的能学到句子中有意义的结构吗?(一)
本文是一篇分析类论文,主要对近年来几种无监督句法分析模型(RL-SPINN和ST-Gumbel)进行了分析,得出了如下三个结论: 在句子分类任务上,只有一种模型效果好于传统的树结构模型。 这些模型随机性很大,初始化不同,结果也都差距很大。 这些模型产生的句法树的平均深度比PTB数据集的平均深度浅。
117 0
论文赏析[TACL18]隐式句法树模型真的能学到句子中有意义的结构吗?(一)
|
机器学习/深度学习 自然语言处理
论文赏析[TACL18]隐式句法树模型真的能学到句子中有意义的结构吗?(二)
本文是一篇分析类论文,主要对近年来几种无监督句法分析模型(RL-SPINN和ST-Gumbel)进行了分析,得出了如下三个结论: 在句子分类任务上,只有一种模型效果好于传统的树结构模型。 这些模型随机性很大,初始化不同,结果也都差距很大。 这些模型产生的句法树的平均深度比PTB数据集的平均深度浅。
490 0
论文赏析[TACL18]隐式句法树模型真的能学到句子中有意义的结构吗?(二)
|
人工智能 数据格式
跟着Nature学作图 | 配对哑铃图+分组拟合曲线+分类变量热图
跟着Nature学作图 | 配对哑铃图+分组拟合曲线+分类变量热图
200 0
跟着Nature学作图 | 配对哑铃图+分组拟合曲线+分类变量热图
|
机器学习/深度学习
划重点!通俗解释协方差与相关系数
划重点!通俗解释协方差与相关系数
435 1
划重点!通俗解释协方差与相关系数
EL之Bagging(DTR):利用Bagging对回归问题(实数值评分预测)建模(调2参)
EL之Bagging(DTR):利用Bagging对回归问题(实数值评分预测)建模(调2参)
EL之Bagging(DTR):利用Bagging对回归问题(实数值评分预测)建模(调2参)