`

本文建模系列值三: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
分享到:
评论

相关推荐

    NLP:LDA模型对电商购物评论进行情感分析项目源码(下载可用)

    NLP:LDA模型对电商购物评论进行情感分析项目源码(下载可用),含有代码注释,满分大作业资源,新手也可看懂,期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为课程设计期末大作业...

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

    LDA是一种统计建模方法,常用于无监督学习,尤其在文本挖掘中广泛使用。它假设文档是由多个隐含主题组成的,并且每个主题又由一组特定的词概率分布构成。通过LDA,我们可以识别出评论中隐藏的主题,这些主题可能与...

    LDA2vec: LDA word2vec

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

    实验二:LDA算法1

    在二维和三维空间中,PCA和LDA的投影结果会有所不同,PCA倾向于找到数据的最大方差方向,而LDA则寻找最大化类间距离的方向。 实验中还提到,由于S_w的秩受到类别内样本数量的影响,因此在计算时,每个类别的矩阵秩...

    LDA漫游指南_前言.pdf

    - **定义**:LDA(Latent Dirichlet Allocation,潜在狄利克雷分配)是一种统计模型,主要用于文档的主题建模,即自动发现文档集合中的隐藏主题。它是自然语言处理、信息检索等领域的重要工具之一。 - **应用背景**...

    开源项目包含文档主题推断工具、语义匹配计算工具以及基于工业级语料训练的三种主题模型: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.rar_lda

    LDA是一种在自然语言处理领域广泛应用的主题建模技术,它可以帮助我们从大量文本数据中发现隐藏的主题结构。 在描述中提到,“LDA程式設計,在裡面可以處理一個18*18的矩陣”,这表明这个压缩包可能包含了一个处理...

    基于LDA的主题分析

    第三,实验设计:本文使用LDA模型来对文本进行主题分析,并使用Clarity度量块间相似性,通过局部最小值识别片段边界。实验结果表明,基于LDA模型的主题分析结果明显好于其他方法,可以为下一步文本推理的工作提供有...

    LDA分类器代码

    2. **模型参数**: LDA模型有三个主要参数: - `K`: 主题数量,需要人为设定。 - `θ`: 文档主题分布,表示每个文档包含各主题的概率。 - `φ`: 主题词项分布,表示每个主题下各个词出现的概率。 3. **学习过程**...

    LDA学习资料整理-从基础到深入

    因此,出现了很多LDA的变体,如CTM(Correlated Topic Model)、HDP(Hierarchical Dirichlet Process)和STLDA(Sequential Topic Model),它们分别解决了相关主题建模、无限制主题数量和时间序列文本分析等问题。...

    LDA数学八卦 Rickjin

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

    最容易理解的LDA资料

    LDA假设每个文档是由多个主题混合而成,而每个主题又由一系列特定的词语组成。通过这种方式,LDA能够揭示出文档背后的隐含主题,并将这些主题以概率形式表示出来。 **LDA的基本原理** 1. **概率模型**:LDA是一种...

    lda模型的另一个实现

    LDA,即潜在狄利克雷分配(Latent Dirichlet Allocation),是一种基于概率的统计建模方法,主要用于文本挖掘中的主题模型。它假设文档是由多个主题混合而成,每个主题又由一系列单词组成。通过LDA,我们可以从大量...

    LDA的python 实现代码

    LDA是一种统计建模方法,用于在文本数据中发现隐藏的主题结构。它属于概率主题模型,主要用于无监督学习,尤其是在文本挖掘领域。LDA假设文档是由多个主题混合而成,每个主题又由一系列单词组成。通过LDA,我们可以...

    LDA-R代码_lda_

    在本话题中,我们将聚焦于一种常见的文本挖掘技术——潜在 Dirichlet 分配(Latent Dirichlet Allocation,简称LDA),并结合LDA在中文主题建模的应用。"LDA-R代码_lda_"这一标题暗示我们将讨论如何使用R语言来实现...

    lda_lda_LDA关键词_

    3. 应用LDA:使用Gensim或Scikit-learn等库的LDA实现,输入预处理后的BoW向量。LDA模型会寻找主题-词的分布以及文档-主题的分布。设置参数,如主题数量(通常需要根据实际需求或实验结果调整)、迭代次数和优化算法...

    LDA.zip_LDA文档_lda java_lda4085_lda模型_主题模型

    主题模型(Latent Dirichlet Allocation,LDA)是一种统计建模方法,主要用于从文本数据中发现隐藏的主题结构。在文本挖掘和自然语言处理领域,LDA被广泛应用于信息检索、文档分类、推荐系统等场景。它假设每个文档...

    LDA.rar_LDA MATLAB_LDA matlab实现_lda

    **主题:LDA在MATLAB中的实现** 线性判别分析(Linear Discriminant Analysis, LDA)是一种统计方法,常用于特征降维和分类问题。它通过最大化类间距离和最小化类内距离来寻找最优投影方向。在MATLAB中实现LDA,...

    LDA程序(matlab)

    **主题:LDA在Matlab中的实现** 线性判别分析(Linear Discriminant Analysis, LDA)是一种统计方法,常用于特征降维和分类问题。它通过最大化类间距离和最小化类内距离来寻找最优投影方向。在机器学习领域,LDA是...

Global site tag (gtag.js) - Google Analytics