本文部分引参考 达观数据 夏琦的知乎文章
知乎链接https://zhuanlan.zhihu.com/p/31470216
本文部分转载为CSDN博主「v_JULY_v」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:
https://blog.csdn.net/v_july_v/article/details/41209515
版权为作者及知乎平台CSDN平台所有,若侵立删
LDA(Latent Dirichlet Allocation)
LDA 在主题模型中占有非常重要的地位,常用来文本分类。
LDA由Blei, David M.、Ng, Andrew Y.、Jordan于2003年提出,用来推测文档的主题分布。它可以将文档集中每篇文档的主题以概率分布的形式给出,从而通过分析一些文档抽取出它们的主题分布后,便可以根据主题分布进行主题聚类或文本分类。同时,它是一种典型的词袋模型,即一篇文档是由一组词构成,词与词之间没有先后顺序的关系。
此外,一篇文档可以包含多个主题,文档中每一个词都由其中的一个主题生成。
词袋模型与n-gram模型
能使用词袋模型或n-gram模型将评论文本转换为固定长度的特征向量,然后再利用这些特征向量训练一个浅层分类器,如朴素贝叶斯或支持向量机[1]。
尽管词袋模型的效果很好,并且多年来被广泛使用,但它存在两个主要缺陷。它忽略了单词的顺序,且没有考虑单词之间的语义关系。尽管n-gram模型在一定程度上考虑了短文中的单词顺序,但它也存在数据稀疏性和高维性的问题[2]。
文本建模
如何将一篇文档抽象为数学模型,是初学阶段最难理解的地方。
借用作者的话:
一篇文档,可以看成是一组有序的词的序列 . 从统计学角度来看,文档的生成可以看成是上帝抛掷骰子生成的结果,每一次抛掷骰子都生成一个词汇,抛掷N次生成一篇文档。在统计文本建模中,我们希望猜测出上帝是如何玩这个游戏的,这会涉及到两个最核心的问题:
- 上帝都有什么样的骰子;
- 上帝是如何抛掷这些骰子的;
第一个问题就是表示模型中都有哪些参数,骰子的每一个面的概率都对应于模型中的参数;
第二个问题就表示游戏规则是什么,上帝可能有各种不同类型的骰子,上帝可以按照一定的规则抛掷这些骰子从而产生词序列。
理解LDA模型分为以下5个步骤:
- 一个函数:gamma函数
- 四个分布:二项分布、多项分布、beta分布、Dirichlet分布
- 一个概念和一个理念:共轭先验和贝叶斯框架
- 两个模型:pLSA、LDA(在本文第4 部分阐述)
- 一个采样:Gibbs采样
我放弃了,我觉得我不大可能弄得了这个LDA
[1] Bengio, Y., Simard, P. & Frasconi. P. (1994) “Learning long-term dependencies with gradient descent is difficult”. IEEE transactions on neural networks, 5(2):157-166, 1994.
[2] Le, Q. V. & Mikolov, T. (2014) “Distributed representations of sentences and documents”, Proceedings of the 31st International Conference on Machine Learning, Beijing, China, 2014.