zoukankan      html  css  js  c++  java
  • topic model

    0、基石——贝叶斯推断

    计算后验概率即为我们对参数的估计:

    NewImage

    其中:

        NewImage——输入数据

        NewImage ——待估计的参数

        NewImage——似然分布

        NewImage ——参数的先验分布

     

    对新样本的预测:我们要估计NewImage的概率

    NewImage

    1、常用的概率分布

    Dirichlet Distribution

    NewImage

    2、文本建模

    2.1 基本模型——unigram model

    最基本的一种文本模型。

    我们做这样的假设:语料库是从词表NewImage中独立的抽取的NewImage个。有似然方程

    NewImage其中NewImage是term[t]出现的次数。我们的目标是估计NewImage,根据贝叶斯推断的方法,我们需要引入NewImage的一个先验分布。

    NewImage计算后验概率

    NewImage

    至此,我们就得到的参数NewImage的在观测到输入语料库的条件下的概率分布。而这个参数NewImage确定了语料库生成模型——Unigram model。我们认为语料库是这样生成的:每篇文档的每个词都从同一个二项分布模型中sample得到。显然,这是不靠谱的。

    3 LDA建模

    3.1 图模型

    NewImage

    Lda的生成模型描述如下:模型随机出词的序列NewImage,分为一个个以文档为单位的词向量NewImage。对于每一个文档的每一个词,首先sample词的topicNewImageNewImage服从以NewImage为参数的多项分布;接着,sample每一个词 NewImageNewImage服从以NewImage为参数的多项分布,表示每一个topic下词的分布。

    为了获得bayesian的生成模型,引入dirichlet分布, NewImageNewImage分别服从参数为NewImageNewImage的dirichlet分布。

    3.2 模型的推导

    根据图模型的条件独立性,我们首先推导联合概率分布。

    NewImage

    其中,NewImageNewImage维参数,NewImage 为NewImage 维参数。

    现在有两种方式进行推导,一种是采用变分的方法,另一种是采用gibbs采样。我们采用collapsed gibbs sampling方法来做这个问题。

    首先对NewImageNewImage积分,得到NewImage的联合分布:

    NewImage

    NewImage

    上式将二重不定积分分离为两个不相关的子积分,现在分别求这两个积分。

    小做变换:

    NewImage

    引入有用的符号:

    NewImage表示第m篇文档中词汇r是由主题k生成的数量;

    NewImage表示第m篇文档中由主题k生成的词的数量;

    NewImage表示语料库中词汇r由主题k生成的数量;

    求子积分式:

    NewImage 

    NewImage

    NewImageNewImage另一式:

    NewImageNewImage推导每一个子式

    NewImage

    继续写下去,这里的意义有必要说明一下:由两个支路来产生我们的词,首先由NewImage产生每一个文档的每一个词的topic,然后根据每个topic生成词。

    NewImage

    NewImage

    NewImage 上面的推导就相当于NewImage,perfect!!我们就有了以下的式子:

    NewImage

     NewImage

    3.2 collapsed Gibbs sampling

    在上述推导的分布中,NewImage是隐变量,NewImage是观测量。我们将NewImage 和NewImage两个变量积分掉,原因是我们可以从NewImageNewImage的相互关系中推导出NewImageNewImage

    NewImage

    NewImage

    其中,NewImage 表示其topic为K的词的集合。因此,我们易得

    NewImageNewImage(MCMC的一种理解)为什么我们现在有资本用以上两式来估计参数,就像混合高斯模型一样,对于每一篇文档我们有个参数,对于每个词,我们还是有个分布。我们利用MCMC来采样出隐变量,而在EM算法中我们求隐变量的后验概率。为什么我们用MCMC,因为隐变量的后验概率不是那么好求的。当然,我们可以用变分的方法,那就复杂了。通过前面的图模型,当我们知道了complete data。我们的theta和fi都可以inference,因为theta有先验,当我们知道数据之后,当然可以inference,这是bayes的思路,不需要像em一样,去最优化一个问题。 

    有必要先简介一下MCMC和gibbs方法

    对于一个高维分布NewImage,我们利用马尔科夫链的平稳性,经过一段“burn-in period”之后继续得到的数据服从这个分布。而gibbs方法是一种特例。

    对于含有隐变量的联合分布NewImage,我们为了得到后验分布NewImage

    a. 选择一个维度NewImage

    b. sampleNewImage from NewImage

    NewImage

    NewImage对采样结果计数,估计条件分布律,基于这样的假设,我们得到了真正的数据。

    明白了上面的问题,涉及我们怎么去解这个图模型的基本方法,我们去制造数据来inference。

    NewImage其中,k=1,…,K,求这样一个分布律。

    NewImage

    NewImage

    这一步,我们做的是将分子分母的公共项(不受NewImage影响的)提出来。接下类是分离k,直接给sample的式子。

    NewImage其中,NewImage ;NewImage 表示计数中不能包含NewImage。  

     

     

     

     

  • 相关阅读:
    java垃圾回收机制
    mysql的find_in_set函数操作
    mysql中常见的sql语句语法书写操作
    如何破坏双亲委派原则
    mysql中临时表的创建
    spring当中的事务处理
    restTemplate调用操作出现乱码
    mysql中的any_value的基本使用操作
    DTD与XSD的区别
    idea的插件
  • 原文地址:https://www.cnblogs.com/zjgtan/p/3900362.html
Copyright © 2011-2022 走看看