Latent Dirichlet Allocation(LDA)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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