-->

AI内参_103_098_LDA变种模型知多少

你好,我是洪亮杰。

今天我和你分享的主题是LDA变种模型知多少?我们在之前的分享中,曾经介绍过文本挖掘中的重要工具。

Lda的基本原理。

从文本挖掘中有一项重要的工作,就是分析和挖掘出文本中隐含的结构信息,而不依赖任何提前标注的信息。

也就是说,我们希望能够利用文本挖掘技术来对无标签的数据进行挖掘,这是典型的无监督学习。

Lda就是一个出色的无监督学习的文本挖掘模型。

这个模型在过去的十年里开启了主题模型。

这个领域,不少学者都利用LDA来分析各式各样的文档数据。

在新闻数据到医药文档,从考古文献到政府工具,在一段时间内,LDA成为了分析文本信息的标准工具。

而从最开始的LDA发展出来的各类模型变种,则被应用到了多种数据类型上,包括图像、音频、混合信息推荐系统、文档检索等等。

可以说,各类主题模型变种层层出不穷。

今天我们来结合几篇经典论文,看一看LDA的各种扩展模型。

当然,在介绍今天的内容之前,我们首先来回顾一下LDA模型的一些基本信息。

Lda模型是一个典型的产生式模型,产生式模型的一大特点,就是通过一组概率语言对数据的产生过程进行描述,从而对现实数据建立一个模型。

注意这个产生过程的本质是描述的一个联合概率分布的分解过程。

也就是说,这个过程是一个虚拟的过程,真实的数据往往并不是这样产生的。

这样的产生过程是模型的一个假设,一种描述,任何一个产生过程都可以在数学上完全等价。

一个联合概率分布LDA的产生过程,描述了文档以及文档中文字的产生过程。

在原始的LDA论文中,作者们描述了对于每一个文档而言的产生过程。

这个过程我就不重复了。

我把前面讲过的文章链接放在文稿里,可以点击文稿复习一下。

相比于传统的文本聚类方法,LDA对于每个文档的每一个字都有一个主题下标。

也就是说,LDA是没有一个文档统一的聚类标签,而是每个字有一个聚类标签,而这里就是主题。

Lda模型的训练一直是一个难点。

传统上,LDA的学习属于贝叶斯推断,而在二零零零年初期,只有MCMC算法以及VI作为工具可以解决。

在最初的LDA论文里,作者们采用了VI,后续大多数LDA相关的论文都选择了MCMC为主的吉布斯采样来作为学习算法。

当LDA被提出以后,不少学者看到了这个模型的潜力,于是开始思考怎么把更多的信息融入到LDA里面去。

通过我们上面的讲解,你可以看到LDA只是对文档的文字信息本身进行建模。

但是绝大多数的文档数据集还有很多额外的信息,如何利用这些额外信息,就成为了日后对LDA扩展的最重要的工作。

第一个很容易想到的,需要扩展的信息就是作者信息,特别是LDA最早期的应用。

对于一般的文档来说,比如科学文档或者新闻文档都有作者信息。

很多时候我们希望借用作者在写文档时的遣词造句风格,来分析作者的一些写作信息。

那么,如何让LDA能够分析作者的信息呢?这里我们分享一篇论文用于作者和文档信息的作者主题模型。

这是最早利用额外信息到LDA模型中的扩展模型。

文章提出的模型叫做作者LDA,这个模型的主要思想是每篇文档,都会有一些作者信息,我们可以把这些作者编码成为一组下标。

对于每一个文档来说,我们首先从这组作者数组中选出一个当前的作者。

然后假定这个作者有一组相对应的主题,这样文档的主题就不是每个文档随机产生了,而是每一个作者有一套主题。

这个时候我们从作者相对应的主题分布中取出当前的主题,然后再到相应的语言模型中采样到当前的单词。

可以看到,作者LDA和普通的LDA相比,最大的不同就是主题分布,不是每个文档有一个,而是每个作者有一个,而个主题分布决定着当前的单词是从哪一个语言模型中采样的单词。

作者,LDA也采用吉布斯采样的方法学习,并且通过模型的学习之后,能够看得出不同作者对于文档的影响。

从作者LDA之后,大家看出了一种扩展LDA的思路,那就是依靠额外的信息中影响主题分布,进而影响文档字句的选择。

这种扩展的方法叫做上游扩展法。

什么意思呢?就是说把希望对模型有影响的信息放到主题分布式的上游去,主动影响主题分布的变化,这其实是概率图模型的一种基本的思路。

那就是把变量放到这个产生式模型的上游,使得下游的变量受到影响。

那你可能要问有没有把需要依赖的变量放到下游的情况呢?答案是肯定的。

我们再来看一篇论文,同时进行图像分类和注释,这篇文章就发明了一种方法。

具体来说,文章希望利用LDA到多模数据领域,也就是数据中可能有文字,也可能有图像,也可能有其他信息。

在这样的多模数据的情况下,如何让LDA能够对多种不同的数据进行建模呢?这里面的基本思路就是认为所有的这些数据都是通过主题分布产生的。

也就是说一个数据点,我们一旦知道了这个数据点内涵的主题,那么我们就可以产生出和这个数据点相关的所有信息,包括文字、图像、影音等。

具体到这篇文章提出的思路,那就是这组数据的图像标签以及图像所属的类别都是主题产生的。

我们可以看到和之前的作者LDA的区别,那就是其他信息都是放在主题变量的下游的。

希望通过主题变量来施加影响这两种模型,代表了一系列丰富的关于LDA的扩展思路。

那就是如何把扩展的变量设置在上游或者是下游,从而能够对主题信息产生影响,或者是受到主题信息的影响。

除此以外,LDA的另外一大扩展就是把文档放到时间的尺度上,希望据分析和了解,文档在时间轴上的变化。

这就要看经典的论文动态主题模型。

这篇论文最后获得了ICML二零一零的最佳贡献奖。

那么我们怎么修改LDA使其能够理解时间的变化呢?很明显还是需要从主题分布入手,因为主题分布控制了究竟什么文字会被产生出来。

因此,我们可以认为主题分布会随着时间的变化而变化。

在之前的模型中,我们已经介绍了每个文档的主题分布。

其实来自一个全局的迪利克雷先艳分布。

那么我们可以认为不同时间的先艳分布是不一样的,而这些先艳分布会随着时间变化而变化,怎么能够表达这个思想呢?作者们用到了一种叫状态空间的模型。

简而言之,状态空间模型就是把不同时间点的迪利克雷分布的参数给串起来,使得这些分布的参数会随着时间的变化而变化。

把一堆静态的参数、用状态、空间模型串接起来,可以说是这篇文章开创了一个新的思维。

今天我为你梳理了LDA的扩展模型,LDA的扩展当然还有很多。

我们今天讨论了几个非常经典的扩展思路,分别是基于上游下游和时间序列的LDA扩展模型。

一起来回顾一下要点。

第一,我们回顾了LDA这个模型的核心思想。

第二,我们聊了如何把文档的其他信息融入到LDA模型中去,以及如何对时间信息进行建模,最后给你留一个思考题。

最果我们希望利用LDA来对用户对商品的喜好进行建模,以该怎么对模型进行更改呢?欢迎你给我留言,和我一起讨论。