`

本文建模系列值三:LDA感悟

LDA 
阅读更多

 

LDALatent Dirichlet Allocation 是一个很著名的文本模型,最初是在2003年被一群大牛提出的,包括David M.Blei Andrew Y.Ng等。和之前的pLSA文本模型相比,LDA算是贝叶斯观点的pLSA,所谓贝叶斯观点,就是什么都是不确定的,不像pLSA中的p(z|d),虽然是个隐变量,但是还是确定的值,然而对于贝叶斯学派观点,其概率是不确定的,该概率符合某种分布,在LDA中是服从Dirichlet分布。在【1】这篇论文中,作者说了pLSA不是well-defined的生成模型(不太理解)。

 

对于LDA,因为我本身不是搞主题模型的,而是想利用主题模型可以压缩文档特征向量的维度,从而生成文本分类的文档向量。因为个人数学功底不是很扎实,另外作为一个科研能力一般的渣硕,理解LDA确实有难度,这几天参看了 “LDA数学八卦以及Gibbs采样的一些知识,本来想彻彻底底搞懂的,无奈看了好几天,也只能看出个大概轮廓,本文不打算阐述LDA高深的数学原理,各位可以参看LDA论文原文和下面【2】【3】几个参考文献。

 

对于LDA,因为各个大神的博客已经很详细了,July大神就专门撰文写过LDA,写的详细深入,对于July博文中间的数学推导,我实在是无爱,不过文末的作者的一句话倒是给我很大的启发:“LDA其实就是贝叶斯观点的pLSA”。对于LDA去粗取精,其实就是这个道理。所以这篇博文主要是讲讲我对LDA的一些思想的体会,而不是着重于具体过程。

 

众所周知,在这个领域,存在两个学派,频率派和贝叶斯派。频率派认为所有的事情的概率都是确定的(即使未知)。但是对于贝叶斯派,其主要的观点就是所有的事情都不确定,任何事情都存在一个分布。对于LDA,其就认为一篇文档的主题分布是不确定的,其分布符合一个分布,称之为dirichlet分布,同样其认为一个主题下面的词语分布也是不确定的,其分布也符合dirichlet分布。知道了这两点,明白了这两点,LDA模型结构也就基本理解了。看下面的图:



 

上图是LDA的经典模型,用平白的话说,LDA的一篇文章的生成过程是:



 

上图是LDA数学八卦中的LDA模型介绍,LDA模型的文档生成过程就是这样。

 

相比于pLSA,其不过是为p(z|d)p(w|z)增加了一个Dirichlet分布,但是结果会比pLSA模型强大的多,当然其数学的复杂度也增长了不止一个档次。

 

LDA虽然推导过程复杂,但是其结果却非常优雅,这也是LDA神奇之处,用最简单的结论打败你。这也是数学的优美之处(虽然我对数学并不是很有感觉)。

 

【1】Latent Dirichlet Allocation.David M.Blei ,Andrew Y.Ng

【2】LDA数学八卦,靳志辉

【3】Gibbs Sampling for the Uninitiated

  • 大小: 23.7 KB
  • 大小: 146.2 KB
分享到:
评论

相关推荐

    LDA2vec: LDA word2vec

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010161379/article/details/

    NLP:LDA模型对电商购物评论进行情感分析.zip

    自然语言处理(NLP)——LDA模型:对电商购物评论进行情感分析

    实验二:LDA算法1

    二、实验内容与方法LDA算法原理:对已经分类的数据集进行降维,寻求能够使得同类更聚集,不同类更分开的投影降维矩阵(包含 个列向量),不仅能够降低数据的维度,也能

    开源项目包含文档主题推断工具、语义匹配计算工具以及基于工业级语料训练的三种主题模型:LDA,SentenceLD,TWE

    Familia 开源项目包含文档主题推断工具、语义匹配计算工具以及基于工业级语料训练的三种主题模型:Latent Dirichlet Allocation(LDA)、SentenceLDA 和Topical Word Embedding(TWE)。 支持用户以“拿来即用”的方式...

    lda-topic-modeling:LDA主题建模的基于浏览器的PureScript实现

    LDA主题建模 潜在的Dirichlet分配(LDA)主题建模的基于浏览器的PureScript实现。 能够接收两个或更多文档,并通过最多四个主题对它们进行软分组。 在尝试一下。 了解有关更多信息。 生成并运行 # Install Git. git...

    LDA数学八卦 Rickjin

    Variational Inference, 贝叶斯文本建模,PLSA 建模, 以及 LDA 文本建模。 这篇文章的主要目标,就是科普在学习理解LDA 模型中,需要了解的一些重要的数学知识。 预设的读者是做自然语言处理、机器学习、数据...

    计算机组成原理课件很好用的哦

    LDA:由存储器取数据到累加器 A LDD:由累加器A送数据到存储器 ADD:累加器内容与存储器内容相加,送结果到累加器. λ为寻址方式,代表如下一些寻址方式: L:立即寻址方式 Z:直接寻址方式 B:变址寻址方式,变址...

    四大机器学习降维算法:PCA、LDA、LLE、Laplacian Eigenmaps.pdf

    四大机器学习降维算法:PCA、LDA、LLE、Laplacian Eigenmaps.pdf四大机器学习降维算法:PCA、LDA、LLE、Laplacian Eigenmaps.pdf四大机器学习降维算法:PCA、LDA、LLE、Laplacian Eigenmaps.pdf四大机器学习降维算法...

    LDA建模-编程视频

    LDA建模,简单描述了会调用到的库,函数等,并进行了示例。

    lda模型matlab代码-lda:Python中的(旧的,不好的)主题建模

    lda模型matlab代码该项目将Gibbs采样推断实现为LDA(潜在狄利克雷分配)。 去做: 契克收敛 加快Gibbs采样过程 参考: @article {heinrich2005parameter,title = {用于文本分析的参数估计},作者= {Heinrich,G.},...

    四大机器学习降维算法:PCA、LDA、LLE、Laplacian-Eigenmaps.pdf

    四大机器学习降维算法:PCA、LDA、LLE、Laplacian-Eigenmaps.pdf四大机器学习降维算法:PCA、LDA、LLE、Laplacian-Eigenmaps.pdf四大机器学习降维算法:PCA、LDA、LLE、Laplacian-Eigenmaps.pdf四大机器学习降维算法...

    R语言jiebaR中文分词并做LDA主题建模

    使用R语言中的jiebaR包,对中文文本进行分词,求词频,做词云图并进行LDA主题建模。

    python-LDA:lda模型的python实现

    python-LDA lda模型的python实现,算法采用sampling抽样 作者邮箱: 训练和输出文本格式说明 模型训练文件 `train.dat` 用其他软件or算法分词后,再剔除停用词的最后结果文件,显示格式如下:(一行表示一篇文档) ...

    R语言中的jiebaR包 中分词 LDA主题建模

    使用R语言中的jiebaR包,对中文文本进行分词,求词频,做词云图并进行LDA主题建模

    ilda:LDA变分贝叶斯实现

    LDA 如果您愿意,将添加LDA变分贝叶斯实现细节 输入 以下格式 1 1 2 3 1 3 2 3 4 1 2 5 3 1 2 3 3 一行对应一个文档 Number 是 word ID 如何使用 ./ilda -I brown.txt.train -T brown.txt.test -o model -k 100 -...

    LDAOnSpark:LDA 的高效推理

    Spark 在 1.3.0 版本中增加了 LDA,该版本基于 CVB 算法。 CVB 比分布式 Gibbs Sampling 更快,消耗更少的内存,但它对于少量数据集表现不佳。 在我的实验中,分布式 GS 在包含 20,000 个文档的数据集上提供了更准确...

    java万码堂源码下载-lda-debian:lda的Debian包装

    java万码堂源码下载lda:具有潜在狄利克雷分配的主题建模 lda使用折叠吉布斯采样实现潜在狄利克雷分配 (LDA)。 lda速度很快,并在 Linux、OS X 和 Windows 上进行了测试。 您可以阅读有关 lda 的更多信息。 安装 ...

    降维算法LDA用于分类

    本资源是机器学习常见方法LDA(线性判别分析)的源码,其主要功能类似于PCA,都属于降维算法。本次实现是依托于项目工程,裁剪掉了图像预处理特征提取部分,是降维算法在分类问题上的一次实现,为Matlab代码实现

    Python库 | lda-0.3.0-cp27-none-win_amd64.whl

    资源分类:Python库 所属语言:Python 资源全名:lda-0.3.0-cp27-none-win_amd64.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    matlab代码lda-latent-dirichlet-allocation:LDA的MATLAB实现

    matlab代码lda 潜在狄利克雷分配 介绍 潜在狄利克雷分配 (LDA) 是文本文档的概率生成模型。 文档被建模为一组“主题”的混合体。 使用变分贝叶斯 (VB) 算法,可以学习与语料库中的文档对应的主题集。 然后可以将这些...

Global site tag (gtag.js) - Google Analytics