1、写在前面
在领域,关于LDA有两种含义,一是「线性判别分析(Linear Discriminant Analysis)」,是一种经典的降维学习方法;一是本文要讲的「隐含狄利克雷分布(Latent Dirichlet Allocation)」,是一种概率主题模型,主要用来文本分类,在NLP领域有重要应用。LDA由Blei, David M.、Ng, Andrew Y.、Jordan于2003年提出,用来推测文档的主题分布。它可以将文档集中每篇文档的主题以概率分布的形式给出,从而通过分析一些文档抽取出它们的主题分布后,便可以根据主题分布进行主题聚类或文本分类。
2、数学知识
第一次接触LDA的同学肯定是一头雾水的,因为相比于其他的机器学习,LDA模型涉及到很多数学知识与公式,这也许是LDA晦涩难懂的原因。在本小节中会介绍LDA中所需要的数学应用,对后面进一步理解LDA模型打好基础。
要理解LDA, 涉及的先验知识有以下几种:
一个函数:Gamma函数
四个分布:二项分布、多项分布、beta分布、Dirichlet分布
一个概念和一个理念:共轭先验和贝叶斯框架
两个模型:pLSA和LDA
一个采样:Gibbs sampling
2.1 Gamma函数
2.2二项分布
要解释二项分布,首先要搞清楚「伯努利分布」(又称为两点分布或者0-1分布),它是一个离散型的随机分布,其中的随机变量只有两种取值,{0,1}。而二项分布就是对伯努利分布重复n次。举个栗子,把投掷一次硬币这个试验认为是伯努利分布,则投掷n次硬币的试验就可以