“LDA(Latent Dirichlet Allocation)模型,模型主要解决文档处理领域的问题,比如文章主题分类、文章检测、相似度分析、文本分段和文档检索等问题。
LDA主题模型是一个三层贝叶斯概率模型,包含词、主题、文档三层结构,文档到主题服从Dirichlet分布,主题到词服从多项式分布。它采用了词袋(Bag of Words)的方法,
将每一篇文章视为一个词频向量,每一篇文档代表了一些主题所构成的概率分布,而每一个主题又代表了很多单词所构成的一个概率分布。
利用LDA模型对用户参与的话题文本进行分析,得到用户在给定虚拟主题下对每个主题感兴趣的概率分布,从而挖掘出用户的兴趣偏好。“

摘自《基于社交关系和影响力的在线社交网络用户兴趣偏好获取方法研究》

对LDA的理解,可参考:主题模型-LDA浅析

我对LDA的理解主要是抓住公式:

和图

其中“给定一系列文档,通过对文档进行分词,计算各个文档中每个单词的词频就可以得到左边这边”文档-词语”矩阵。主题模型就是通过左边这个矩阵进行训练,学习出右边两个矩阵。“

左边的矩阵就是每一个词语在每篇文章中出现的频率的矩阵,“学习出右边两个矩阵“,如何学习?其实就是矩阵分解,把左边的矩阵分解为右边的两个矩阵,可以采用SVD等矩阵分解方法,得到右边的两个矩阵之后,主要是如何利用这两个矩阵?其中“文档-主题“矩阵,单看其中的一列,就是某个文档的内容讲的是各个主题的概率,例如,文档1属于主题1的概率是0.1,属于主题2的概率是0.5,属于主题3的概率是0.8,...这其中概率最大的那个主题topic X,我们就可以认为,这个文档就属于主题topic X。由此,因为我们可以通过此方法判断文档的主题类型,所以我们就能判断两个不同的文档是否属于相同的主题,也就是可以达到文档归类的目的。

至于图中,“主题-词语“矩阵、"文档-主题"矩阵中的主题到底是啥,是不可知的,这其实也是可以理解的,因为任何一个词语都有可能出现在关于任何一个主题的文章中。

其他:

LDA话题模型与推荐系统

LDA-自然语言处理

LDA-百度百科

SVD与LDA-知乎

LDA模型笔记的更多相关文章

  1. 机器学习-LDA主题模型笔记

    LDA常见的应用方向: 信息提取和搜索(语义分析):文档分类/聚类.文章摘要.社区挖掘:基于内容的图像聚类.目标识别(以及其他计算机视觉应用):生物信息数据的应用; 对于朴素贝叶斯模型来说,可以胜任许 ...

  2. lda模型的python实现

    LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,最近看了点资料,准备使用python实现一下.至于数学模型相关知识,某度一大堆,这里也给出之前参考过的一个挺详细 ...

  3. LDA模型了解及相关知识

    什么是LDA? LDA是基于贝叶斯模型的,涉及到贝叶斯模型离不开“先验分布”,“数据(似然)”和"后验分布"三块.贝叶斯相关知识:先验分布 + 数据(似然)= 后验分布. 贝叶斯模 ...

  4. 转:关于Latent Dirichlet Allocation及Hierarchical LDA模型的必读文章和相关代码

    关于Latent Dirichlet Allocation及Hierarchical LDA模型的必读文章和相关代码 转: http://andyliuxs.iteye.com/blog/105174 ...

  5. 文本主题抽取:用gensim训练LDA模型

    得知李航老师的<统计学习方法>出了第二版,我第一时间就买了.看了这本书的目录,非常高兴,好家伙,居然把主题模型都写了,还有pagerank.一路看到了马尔科夫蒙特卡罗方法和LDA主题模型这 ...

  6. 大佬整理出来的干货:LDA模型实现—Python文本挖掘

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取htt ...

  7. 计算LDA模型困惑度

    http://www.52nlp.cn/lda-math-lda-%E6%96%87%E6%9C%AC%E5%BB%BA%E6%A8%A1 LDA主题模型评估方法--Perplexity http:/ ...

  8. 《C#并行编程高级教程》第9章 异步编程模型 笔记

    这个章节我个人感觉意义不大,使用现有的APM(异步编程模型)和EAP(基于时间的异步模型)就很够用了,针对WPF和WinForm其实还有一些专门用于UI更新的类. 但是出于完整性,还是将一下怎么使用. ...

  9. LDA模型数据的可视化

    """ 执行lda2vec.ipnb中的代码 模型LDA 功能:训练好后模型数据的可视化 """ from lda2vec import p ...

随机推荐

  1. 使用docker搭建自己的博客(一)

    购买服务器 首先服务器选择腾讯云学生服务器,25岁以下实名认证后月租10块,还是很适合我这种简约派的 又财大气粗买了个一年的域名,后面涨价再说吧 安装docker 使用xshell连上服务器 安装必要 ...

  2. 关于使用ffmpeg的一些牢骚

    一.啰嗦几句 好几年不写博客了,一是工作计算机都加密了没法编辑提交:二是各种语言混用,什么都会就是什么都不会,delphi.c#.vb.python.c++要说我精通啥,啥也不精,所以不敢乱写. 最近 ...

  3. kafka学习 之 简介

    文章目录 [Topics and Logs](http://kafka.apache.org/intro#intro_topics): Distribution: Producers: Consume ...

  4. spring学习笔记(九)事务学习(上)

    前述 ​ 这段时间在工作中碰到一个事务相关的问题.先说下这个问题的场景,我们是一个商城项目,正在开发优惠券模块,现在有一个需求是需要批量领取优惠券,而且在领券时,其中一张领取失败不能影响其他符合要求的 ...

  5. 玩好百家乐需要掌握些什么技巧和打法?来自ag老玩家的实战经验心得总结

    最近很多网友给我留言,说为什么学了很多技巧和打法这个游戏还是玩不好,坦白说,其实bjl想要玩得好,不是说你懂得多少技巧和掌握了多少种打法就可以的了,而是你要懂得如何把这些正确结合去运用,这些我之前都强 ...

  6. scala 隐式参数

    def test(implicit name: String = "susu"): Unit ={ println(name);} 三种调用方法如下:test("dudu ...

  7. Git上传文件、文件夹到github

    上传一个文件: $ git add test.txt 上传多个文件: $ git add test.txt demo.txt 同理: 上传一个文件夹: $ git add learngit 上传多个文 ...

  8. python统计英文文本中的回文单词数

    1. 要求: 给定一篇纯英文的文本,统计其中回文单词的比列,并输出其中的回文单词,文本数据如下: This is Everyday Grammar. I am Madam Lucija And I a ...

  9. Spark2.4.5集群安装与本地开发

    下载 官网地址:https://www.apache.org/dyn/closer.lua/spark/spark-2.4.5/spark-2.4.5-bin-hadoop2.7.tgz 验证Java ...

  10. 从`ArrayList`中了解Java的迭代器

    目录 什么是迭代器 迭代器的设计意义 ArrayList对迭代器的实现 增强for循环和迭代器 参考链接 什么是迭代器 Java中的迭代器--Iterator是一个位于java.util包下的接口,这 ...