资料

首先推荐一些资料,这些都是我在学习LDA模型时深受启发的资料:

数学模型

首先需要了解Bayes推断的相关概念,并掌握常见的共轭分布。

同时,需要对Beta分布和二项分布有很好的了解,二项分布大家都很熟悉了,这里推荐一篇通俗理解Beta分布的文章:带你理解beta分布

LDA

接下来就可以进军LDA了

  1. 文本主题模型之LDA(一) LDA基础

    • 这是我看的第一篇博文,深入浅出,很有启发
  2. LDA数学八卦 LDA 文本建模
    • 这是很出名的系列博文了,在理解数学模型的基础上从物理过程进行了很好的阐述

思考

  1. Bayes推断
    • Bayes学派认为,如果我们假设一个随机变量服从一定的分布,那么这个分布中的参数也是随机变量。因此,我们可以通过后验分布,也就是得到数据后,来更新我们的参数值,使得模型更加准确。LDA也是一样,我们在没有数据之前有一个假定的分布(Multinomial和Dirichlet),在得到数据后,我们可以分别更新这两个分布中的参数,也就是训练(training)的过程。
  2. 为什么需要共轭分布?
    • 总所周知,理解LDA中最重要的就是理解其中Multinomial与Dirichlet分布为共轭结构,之所以需要这种结构,是因为我们如果能从后验分布(得到数据后)更新原有参数,且在给定数据下,参数服从的分布与原分布相同,那么这种学习就可以不断迭代进行下去。
  3. Multinomial与Dirichlet分布
    • 这两个分布不光为共轭,同时,我们可以很轻松的写出后验分布的参数值:
    • 若假设似然函数为multi(m1,...,mnp1,...,pn)multi(m_1,...,m_n|p_1,...,p_n),先验分布为Dirichlet(p1,...,pnα1,...,αn)Dirichlet(p_1,...,p_n|\alpha_1,...,\alpha_n),其中,α\alpha为超参数(认为已知,那么,其后验分布为Dirichlet(p1,...,pnm1+α1,...,mn+αn)Dirichlet(p_1,...,p_n|m_1+\alpha_1,...,m_n+\alpha_n),可以简记为Dirichlet(pm+α)Dirichlet(\vec{p}| \vec{m} + \vec{\alpha})
    • 这样优美的性质使得我们很容易求得其后验分布
  4. 两个共轭分布过程
    • LDA过程中涉及到两个相互独立的共轭分布过程
      1. 对于每个文档,其topic分布为θDirichlet\theta \sim Dirichlet,而对于该文档中某一位置的词,其属于哪一个topic的概率服从zmultinomial(θ)z \sim multinomial(\theta),因此,在得到数据后,统计每个文档中词的topic,可以更新每个文档的topic分布
      2. 抛开文档,对于每个topic,其词服从βkDirichlet\beta_k \sim Dirichlet,而对于这个topic,我们看到的词服从wmultinomial(βk)w \sim multinomial(\beta_k),因此,统计每个topic中词出现个数量,可以更新每个topic中词的分布
  5. 采样过程
    • 对于任何一个文档,在先验分布DirichletDirichlet中采样得到θ\theta(这里是一个向量,代表每个topic的概率),再由这些概率得到topic分布(多项式分布,表明每个词为这个topic的概率),然后由多项式分布采样得到每个词的topic。

results matching ""

    No results matching ""