LDA主题模型及python实现介绍了LDA模型的基本原理与Sklearn实现流程。

1 应用

  1. 聚类:主题是聚类中心,文章和多个类簇(主题)关联。聚类对整理和总结文章集合很有帮助。参看Blei教授和Lafferty教授对于Science杂志的文章生成的总结。点击一个主题,看到该主题下一系列文章。

  2. 特征生成:LDA可以生成特征供其他机器学习算法使用。LDA为每一篇文章推断一个主题分布;K个主题即是K个数值特征。这些特征可以被用在像逻辑回归或者决策树这样的算法中用于预测任务。

  3. 降维:每篇文章在主题上的分布提供了一个文章的简洁总结。在这个降维了的特征空间中进行文章比较,比在原始的词汇的特征空间中更有意义。

  4. 排序:The very best ways to sort large databases of unstructured text
    is to use a technique called Latent Dirichlet allocation (LDA).

  5. 在使用LDA计算物品的内容相似度时,我们可以先计算出物品在话题上的分布,然后利用两个物品的话题分布计算物品的相似度。比如,如果两个物品的话题分布相似,则认为两个物品具有较高的相似度,反之则认为两个物品的相似度较低。计算分布的相似度可以利用KL散度来计算

2 不足&改进

2.1 文档比较短

  1. ICML论文有理论分析,文档太短确实不利于训练LDA,但平均长度是10这个数量级应该是可以的,如peacock基于query 训练模型。有一些经验技巧加工数据,譬如把同一session 的查询拼接,同一个人的twitter 拼接等。也可以用w2v那样的小窗口训练过lda。
  2. 是如word2vec一样,利用local context-level word co-occurrences。 也就是说,把每个词当成一个文档以及把它周围出现过的词当做这个文档的内容。这样的话就不会受文档长度的限制了。
  3. 短文本语义更集中明确,LDA是适合处理的,也可以做一些文本扩展的工作,有query log的话,1. query session,2. clickstream。无query log的话,1. 短文本当做query,通过搜索引擎(或语料库)获取Top相关性网页,2. 用语料库中短文本周边词集,3. 知识库中近义词,上下位词等。
  4. 微博

2.2 单词带来的问题

LDA是一种非监督机器学习技术,可以用来识别大规模文档集(document collection)或语料库(corpus)中潜藏的主题信息。它采用了词袋(bag of words)的方法,这种方法将每一篇文档视为一个词频向量,从而将文本信息转化为了易于建模的数字信息。但是词袋方法没有考虑词与词之间的顺序,这简化了问题的复杂性,同时也为模型的改进提供了契机。每一篇文档代表了一些主题所构成的一个概率分布,而每一个主题又代表了很多单词所构成的一个概率分布。由于 Dirichlet分布随机向量各分量间的弱相关性(之所以还有点“相关”,是因为各分量之和必须为1),使得我们假想的潜在主题之间也几乎是不相关的,这与很多实际问题并不相符,从而造成了LDA的又一个遗留问题。

LDA不考虑文档中单词的这些位置。像 “Man, I love this can” and “I can love this man” 这样的文件可能是以同样的方式建模的。对于更长的文档来说,不匹配的主题也更难。为了克服这个限制,以几乎平方的复杂性为代价,2-grams (or N-grams)along with 1-gram.LDA的另一个弱点在于主题构成:它们是重叠的。事实上,你可以在多个主题中找到相同的单词(上面的例子,单词“can”,很明显)。因此,例如,生成的主题不像PCA分解的基础那样是独立的和正交的(正交的)。这意味着你在处理它们时必须付出很多注意力(例如,不要使用相似性)。对于更结构化的方法 - 特别是如果主题组合非常误导 - 您可以考虑LDA的层次变体,名为H-LDA,(或简称为Hierarchical LD​​A)。在H-LDA中,通过使用嵌套中餐厅流程(NCRP)将主题连接在一起。

3 LDA模型评估

三种 Perplexity 计算方法

LDA模型应用、问题、评估相关推荐

  1. 新闻分类任务(LDA模型,多项分布朴素贝叶斯)

    新闻分类任务 1.利用gensim建立LDA模型将文本进行主题分类 2.利用多项分布朴素贝叶斯将文本进行分类 数据来源:http://www.sogou.com/labs/resource/list_ ...

  2. R语言基于Bagging算法(融合多个决策树)构建集成学习Bagging分类模型、并评估模型在测试集和训练集上的分类效果(accuray、F1、偏差Deviance):Bagging算法与随机森林对比

    R语言基于Bagging算法(融合多个决策树)构建集成学习Bagging分类模型.并评估模型在测试集和训练集上的分类效果(accuray.F1.偏差Deviance):Bagging算法与随机森林对比 ...

  3. 泊松回归、gamma回归、Tweedie回归等广义线性回归模型GLM的评估指标:校准曲线、 洛伦兹曲线、卡方检验、AIC、BIC、偏差(Deviance)指标

    泊松回归.gamma回归.Tweedie回归等广义线性回归模型GLM的评估指标:校准曲线(Calibration curve). 洛伦兹曲线(Lorenz Curve).卡方检验.AIC.BIC.偏差 ...

  4. 奥卡姆剃刀是什么?机器学习实践中那些学习模型或者那些评估指标践行了这一理论?

    奥卡姆剃刀是什么?机器学习实践中那些学习模型或者那些评估指标践行了这一理论? 奥卡姆剃刀:无无必要,勿增实体. 奥卡姆剃刀原理应用于模型选择时变为以下想法:在所有可能选择的模型中,能够很好地解释已知数 ...

  5. 分类模型的性能评估——以SAS Logistic回归为例(3): Lift和Gain

    书接前文.跟ROC类似,Lift(提升)和Gain(增益)也一样能简单地从以前的Confusion Matrix以及Sensitivity.Specificity等信息中推导而来,也有跟一个basel ...

  6. 分类模型的性能评估——以SAS Logistic回归为例(2): ROC和AUC

    ROC 上回我们提到,ROC曲线就是不同的阈值下,以下两个变量的组合(如果对Sensitivity和Specificity两个术语没有概念,不妨返回,<分类模型的性能评估--以SAS Logis ...

  7. NLP之TM之LDA:利用LDA算法瞬时掌握文档的主题内容—利用希拉里邮件数据集训练LDA模型并对新文本进行主题分类

    NLP之TM之LDA:利用LDA算法瞬时掌握文档的主题内容-利用希拉里邮件数据集训练LDA模型并对新文本进行主题分类 目录 输出结果 设计思路 核心代码 训练数据集 LDA模型应用 输出结果 设计思路 ...

  8. 如何快速弄懂一个新模型_如何评估创业项目是否靠谱?一个新的模型 | 创创锦囊...

    要判断一个创业项目是否靠谱,是否能拥有广阔的市场和巨大的增长潜力,不仅是投资人关心的话题,更是每一个创业者在创业过程中不断思考的问题. 投资人关注大趋势.大机会,遵循自上而下的思维模型,在心仪的赛道上 ...

  9. gensim读取已训练模型LDA模型的模型与dictionary

    import pyLDAvis.gensim from gensim import models, corpora from gensim.corpora import Dictionaryall_d ...

最新文章

  1. 复习es6-let和const
  2. xss植入_xss的高级利用
  3. PHP json_encode不转义中文
  4. gson 入门_Google GSON入门
  5. 一步步编写操作系统 33 利用bios中断0x15子功能0xe820获取内存
  6. [再寄小读者之数学篇](2014-12-24 乘积型不等式)
  7. myeclipse 编写html,myeclipse怎么写html
  8. Windows Server 2008终端服务详解系列3:结合MOSS 2007部署TS Web Access
  9. 基于Wiremock创建Mock Service平台
  10. 如何从 ArcView 3.3 版本的工程迁移到 ArcGIS Desktop 10 ?
  11. C语言求1000后面有多少个0,c语言题目计算1000!的末尾有多少个零
  12. 计算机word怎么写,电脑word怎么用?
  13. 基于JAVA学生用品采购系统计算机毕业设计源码+系统+数据库+lw文档+部署
  14. java在浏览器闪退_Edge浏览器闪退怎么办,Edge浏览器闪退如何修复
  15. 工程师 or 精英,犹豫中
  16. 从入门到不放弃:多浏览器的自动化测试(1)- 本地测试
  17. 微服务系列:Nacos的搭建演武版(单机+集群+监控)
  18. apidoc使用教程-编写漂亮的api文档
  19. 简历上敢写自己熟练运用Spring,那这些问题你清楚嘛?
  20. Kotlin-简约之美-进阶篇(十):扩展函数和扩展属性

热门文章

  1. 图数据库hugegraph如何快速导入10亿+数据
  2. 腾讯产业基金拟7.71亿元入股泛微网络,协同办公“战局”加剧
  3. 题解 P4466 [国家集训队]和与积
  4. coreos 安装 mysql_技术|手把手教你在 CoreOS 上构建你的第一个应用
  5. android系统手机流量控制方法amp;,Android之——流量管理程序示范
  6. 原生JS和JQ实现div的展开与收齐动画
  7. 微信公众号开发相关功能
  8. python cox回归_数据分析|回归分析(RPython)
  9. ROS学习笔记63《arduino 红外测距仪》
  10. Amlogic S905Y4 机顶盒KM7