Latent Dirichlet Allocation

LDA是一种主题模型,通过加层主题来处理文档与单词的关系。本文介绍了LDA的概要,包括Unigram Model、PLSA和Gibbs采样。通过统计模拟,如Unigram Model和贝叶斯的改进,解释了如何计算文档-主题和主题-单词的概率分布。Gibbs采样用于模拟文档生成过程,从而估计LDA模型的参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主题模型

LDA是一个主题模型,关于主题模型的解释有个很通俗的例子:

第一个是:“乔布斯离我们而去了。”
第二个是:“苹果价格会不会降?”

我们一眼就可以看出这两句是有关联的,第一句里面有了“乔布斯”,我们会很自然的把“苹果”理解为苹果公司的产品,它们属于了同一个主题:苹果公司。

而像我之前那种计算关联度的时候,即文档之间重复的词语越多越可能相似,是无法达到这个效果的。文档之间重复的词语越多越可能相似,这一点在实际中并不尽然。很多时候相关程度取决于背后的语义联系——主题描述,而非表面的词语重复。

LDA的与上述方法不同之处在于:上述方法直接处理单词与文章的关系,而LDA过程在单词与文章之间加了一层主题,即文档——主题,主题——单词的路径计算。

LDA的概要

很多关于介绍LDA的文章大多以学术、理科学生的思维出发的,即用数学公式的严谨性来推导整个LDA的过程。我看了好久才理清了这个流程,因为它涉及到的数学推导很多,很容易陷入公式推导的怪圈里,无法对整个LDA的思想有个整体把握。。。

JULY博主说LDA分为五个部分:
- 一个函数:gamma函数
- 四个分布:二项分布、多项分布、beta分布、Dirichlet分布
- 一个概念和一个理念:共轭先验和贝叶斯框架
- 两个模型:pLSA、LDA
- 一个采样:Gibbs采样

确实如此,如果要想完整的理清这个来龙去脉,上面五个部分是不可少的。现在我尝试逆推这个过程,即以工科生的思维来阐述,为什么LDA需要上述5个部分,即从Gibbs采样开始说起。

伟大的统计模拟

LDA模型的需求是什么呢?即得到文档——主题的概率分布,主题——单词的概率分步,这要怎么做呢?很直观的做法就是:

文档——主题:计算文档中属于Ki主题的单词数 / 文档单词总数
主题——单词:计算单词Wi属于Kj主题的单词数 / 属于Kj主题的单词总数

可问题是,对于一个文档集我们是很难知道每个单词对应的哪个主题的,那么上面的公式就无法计算,那这个问题如何解决呢??这就要借助统计模拟过程了。

《LDA数学八卦》中把文章的创作过程形象的解释成上帝掷骰子的游戏,并在书中形象的阐述了几种模拟过程:Unigram Model,加上贝叶斯的Unigram Model,PLSA,加上贝叶斯的PLSA。下面我主要阐述一下这几个过程:

Unigram Model

最简单的Unigram Model认为上帝以下面这个规则来创作一篇文章:

1:上帝只有一个骰子,骰子有V个面,每个面代表一个单词,各个面的概率不一。
2:每抛一次骰子,抛出的面就对应这个单词。那么如果一篇文章有n个单词,那这篇文章就是上帝独立的抛了n次骰子的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值