topic model(LDA 主题模型)

LDA简介

在老师讲主题模型的时候看到这个LDA,刹时觉得很熟悉,在机器学习中,其实有两个LDA,一个是平时接触比较多的Linear Discriminant Analysis即线性判别分析,另一个便是这篇文章的主角Latent Dirichlet Allocation即隐含狄利克雷分布。

提出目的

用于推测文档(document)的主题分布,以及主题(topic)的词(word)分布;换个角度来说其实这个模型解决了文档和词汇的软聚类,即文档的主题分布概率可以当作文档聚类的指标,而词汇则归属于其隶属的主题而达到软聚类的效果。
从而用于大量文档没有人力分类的情况。

LDA模型的核心思想

引入

人们在写一篇文章时,肯定不是随意单词或语句的堆砌,而是有一个或多个核心主题,这也是主题模型的基本思想,即一个document并不是直接和word相关,而是一篇document有一个或多个topic,每个topic具有对应的主题单词分布(如凸优化topic,凸函数、凸集等单词分布较多),然后从这些分布中抽取单词形成一篇document,也就是说是这么的一个过程:
topic->word->document

生成文档

下面详细解释下LDA模型生成文档的过程:假设m篇文档,对应单词数n,主题数k(在训练过程中需提前制定,本文先不介绍训练过程,只介绍思想)

符号 含义
α \alpha α 文档-主题分布的超参数
θ m \theta_m θm 文档m的主题分布
z m , n z_{m,n} zm,n 文档m第n个词的主题
w m , n w_{m,n} wm,n 文档m第n个词
β \beta β 主题-词语分布的超参数
φ k \varphi_k φk 主题k的词分布

topic model(LDA 主题模型)_第1张图片
LDA采用的是贝叶斯派的思想,即认为主题分布和词分布都不是确定的,它们本身也服从一个分布。

具体语言描述步骤如下:
1.选择文档 d m d_m dm
2.以 α \alpha α为超参数的Dirichlet分布采样生成文档 d m d_m dm的主题分布 θ m \theta_m θm
3.多项式主题分布 θ m \theta_m θm生成文档m第n个词的主题 z m , n z_{m,n} zm,n
4.以 β \beta β为超参数的Dirichlet分布采样生成主题 θ m \theta_m θm的词语分布 φ k \varphi_k φk
5.多项式分布 φ k \varphi_k φk采样生成文档m第n个词 w m , n w_{m,n} wm,n

需要注意的是,本篇文章讲述的是LDA正向生成文档的思想过程,是理解LDA模型训练的前提,笔者感觉训练的过程还是挺难的,如果只是想要了解的同学看本篇就好,想要深究的可以移步参考的文章。

LDA&矩阵分解

X m d = S m k ⋅ T k d X_{md}=S_{mk}·T_{kd} Xmd=SmkTkd
其中矩阵X,m行d列,每行为一篇文章,列代表单词;
矩阵S可以视为样本的新表示,每一行视为对应topic的系数;
矩阵T可以视为空间变换函数,每行视为一个topic;

等式右边的矩阵乘法即可以理解为一片文章是不同topic的线性组合,矩阵乘法相当于实现了k个topic线性组合的效果。

以这种角度,可以将topic模型视为对样本的学习和新表示,也可以视为一种降维。

参考:
1.详解LDA
2.主题模型

你可能感兴趣的:(模式识别,模式识别)