Latent Dirichlet Allocation(LDA)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2009-12-30

Latent Dirichlet Allocation - [paper]

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明

/logs/55583713.html

zz 自/wForum/boardcon.php?bid=298&id=2530&ftype=6

发信人: hmily821224 (笨笨猫), 信区: PR_AI

标题: [导读]文本处理、图像标注中的一篇重要论文Latent Dirichlet Allocation

发信站: 北邮人论坛 (Tue Jul 1 21:56:16 2008), 站内

[论文导读][教程][介绍]文本处理、图像标注中的一篇重要论文Latent Dirichlet Allocation 原文信息

Latent Dirichlet Allocation

David.M.Blei

Andrew.Y.Ng

Michael.I.Jordan

JMLR2003

(可google到)

原文的主要内容

有两种方法设计分类器:

1. discriminative model,就是由样本直接设计判别函数,例如SVM;

2. generative model,就是先从样本恢复概率模型——例如我们熟悉的参数方法:混合高斯模型GMM;非参数方法Parzen窗。然后再充分挖掘模型,用以分类。例如Bayes最大后验概率准则;或者将模型中的参数当作提取的特征(参数一般都比较少,所以这么做实际上是在降维),在这些新特征上设计分类器(例如又用SVM)。

恢复的模型可生成新的样本,所以得名generative。

原文就是讲了一种建立generative model的方法,用于文本处理。

对文本(document)中各单词(word)的出现频率(简称词频)建立概率模型通常是文本处理的第一步。

开始讨论前,先做如下约定:

- 仅考虑文本的词频,而不考虑单词在文本中出现的先后顺序及其约束关系

- 文本中的单词来自大小为|V|的词汇表。例

如: V = {FILM, MUSIC, TAX, MILLION, STUDENT, TEACHER, SCHOOL}. |V| = 7

- 每篇文本有N个单词

- 文本来自k个主题(topic)。例如: T = {Arts, Budgets, Education}. k = 3

一种简单直观的词频概率模型——unigram model(原文Figure 3(a))这样描述某一文本中单词的“发生方式”:

For each of the N words w_n:

Choose a word w_n ~ p(w);

其中,w是离散随机变量,在词汇表V中取|V|个离散的值。p(w)是w的分布,可由训练样本通过机器学习或其它方法获得。这个模型就是每个单词的词频,没有考虑文本的主题,过于简单。于是我们引出考虑了文本主题的模型——

Mixture of unigram(原文中Figure 3(b)). 它这样描述某一文本中单词的“发生方式”:

Choose a topic z ~ p(z);

For each of the N words w_n:

Choose a word w_n ~ p(w|z);

其中,z是离散随机变量,在主题T中取k个离散值,p(z)是z的分布;w_n是离散随机变量,在词汇表V中取|V|个离散值,p(w|z)是给定z时w的条件分布。z可取k个值,w可取|V|个值,p(w|z)可看作一个k×|V|的矩阵,可由训练样本通过机器学习或其它方法获得。

对照我们在前面的约定中给出的V和T的具体示例,p(w|z)是3×7矩阵。若p(w|z)的第1行表示主题{Education}——可以想象这个主题的文本中{STUDENT, TEACHER, SCHOOL}的词频会高些,其它单词的词频会低些——因此该行的行向量所表示的分布p(w|z)会在{STUDENT, TEACHER, SCHOOL}附近出现峰值;若第2行表示主题{Budgets},p(w|z)就会在{TAX,MILLION}附近出现峰值...

在“发生”一篇文本前先随机选出p(w|z)的第z行(根据分布p(z));再依次随机选出第z行的w_1,w_2,...,w_N列(每次选取都根据分布p(w|z)),这就“发生”出了文本中的所有单词。

但是这个模型只允许一篇文本有一个主题,这是不够妥当的。一篇关于北邮科研经费的文本,可能{STUDENT, TEACHER, SCHOOL, TAX, MILLION}的词频都很高——这个文本同时具有两个主题{Education,Budgets}。如何模拟一篇文本多个主题的情形呢?在此,我们跳过pLSI模型,直接引入原文探讨的——

Latent Dirichlet Allocation (LDA, 原文中Figure 1). 它这样描述某一文本中单词的“发生方式”: Choose parameter θ~p(θ);

For each of the N words w_n:

Choose a topic z_n ~p(z|θ);

Choose a word w_n ~ p(w|z);

其中θ是一个1×k的随机行向量,p(θ)是θ的分布,它的具体函数形式就是Dirichlet分布,这一分布保证θ的k个分量θ_1,θ_2,...,θ_k都取连续的非负值,且θ_1 + θ_2 + ... + θ_k = 1;z_n 是离散随机变量,在主题T中取k个离散值,p(z|θ)是给定θ时z的条件分布,它的具体函数形式很简单,就是把θ直接拿来作为概率值:p(z = i|θ) = θ_i,也就是说z取第1,2,...k个主题的概率分别是θ_1,θ_2,...,θ_k;w_n是离散随机变量,在词汇表V中取|V|个离散值,p(w|z)是给定z_n

相关文档
最新文档