潜在狄利克雷分配(LDA)

潜在狄利克雷分配(LDA),作为基于贝叶斯学习的话题模型,是潜在语义分析、概率潜在语义分析的扩展,于2002年由Blei等提出。LDA在文本数据挖掘、图像处理、生物信息处理等领域被广泛使用。

LDA模型是文本集合的生成概率模型。假设每个文本由话题的一个多项式分布表示,每个话题由单词的一个多项式分布表示,特别假设文本的话题分布的先验分布是狄利克雷分布,话题的单词分布的先验分布也是狄利克雷分布。先验分布的导入使LDA能够更好地应对话题模型学习的过拟合现象。

LDA的文本集合的生成过程如下:首先随机生成一个文本话题分布,之后再该文本的每个位置,依据该文本的话题分布随机生成一个话题,然后在该位置依据该话题的单词分布随机生成一个单词,直至文本的最后一个位置,生成整个文本。重复以上的过程生成所有文本。

LDA模型是含隐变量的概率图模型。模型中,每个话题的单词分布,每个文本的话题分布,文本的每个位置的话题是隐变量;文本的每个文职的单词是观测变量。LDA模型的学习与推理无法直接求解,通常使用吉布斯抽样和变分EM算法。前者是蒙特卡洛法,后者是近似计算。

一、狄利克雷分布

1.分布定义

多项分布是一种多元离散随机变量的概率分布,是二项分布的扩展。

假设重复进行n次独立随机试验,每次试验可能出现的结果有k种,第i中结果出现的概率为

,第i种结果出现的次数为

。如果用随机变量

,表示试验所有可能结果的次数,其中

表示第i种结果出现的次数,那么随机变量

服从多项分布。

若元离散随机变量的概率密度为

其中

,,则称随机变量X服从参数为(n,p)的多项分布,记作

当试验的次数n为1时,多项分布变成类别分布。类别分布表示试验可能出现的k种结果的概率。显然多先分布包含类别分布。

2.狄利克雷分布

狄利克雷分布是一种多元随机变量的概率分布,是贝塔分布的扩展。在贝爷斯学习中,狄利克雷分布作为多项分布的先验概率使用。

多元连续型随机变量

的概率密度函数为

其中

,称随机变量

服从参数为

的狄利克雷分布,记作

式中

具有以下性质

当s是自然数时,有

则狄利克雷分布的密度函数可以写成

是规范化因子,称为多元贝塔函数(称为扩展的贝塔函数)。由密度函数性质

二.共轭先验

狄利克雷有一些重要性质:(1)狄利克雷分布属于指数分布簇(2)狄利克雷分布是多项分布的共轭先验

贝叶斯学习中常使用共轭分布,如果后验分布与先验分布属于同类,则先验分布与后验分布称为共轭分布,先验分布称为共轭先验。如果多项分布的先验分布是狄利克雷分布,作为先验分布的狄利克雷分布的参数又称为超参数,使用共轭先验分布的好处是便于从先验分布计算后验分布。

将样本数据表示为D,目标是计算样本数据D给定条件下参数

的后验概率

,对于给定样本数据D,似然函数是

假设随机变量

服从狄利克雷分布

其中

为参数,则

的先验分布为

根据贝爷斯规则,在给定样本数据D和参数a的条件下,

的后验概率分布是

狄利克雷的后验分布等于狄利克雷分布参数

加上多项分布的观测技术

三、潜在狄利克雷分配模型

1.基本想法

潜在狄利克雷分配(LDA)是文本集合的生成概率模型。模型假设话题由单词的多项分布表示,文本由话题的多项分布表示,单词分布和话题分布的先验分布都是狄利克雷分布。文本内容的不同时由于话题分布不同。

LDA模型表示文本集合的自动生成过程:首先,基于单词分布的先验分布(狄利克雷分布)生成多个单词分布,即决定多个话题内容;之后基于话题分布的先验分布(狄利克雷分布)生成多个话题分布,针对每个话题,基于话题的单词分布生成单词,整体构成一个单词序列,即生成文本,重复这个过程生成所有文本。文本的单词序列是观测变量,文本的话题序列是隐变量,文本的话题分布和话题的单词分布也是隐变量。

可以认为LDA是PLSA的扩展,相同点都假设话题是单词的多项分布,文本是华话题的多项分布。不同点LDA使用狄利克雷分布作为先验,而PLSA不使用先验分布(或者说假设先验分布为均匀分布),两者对文本生成过程有不同假设;学习过程LDA基于贝叶斯学习,PLSA基于极大似然估计。LDA的优点是,使用先验概率分布,可以防止学习过程中产生过拟合。

2.模型定义

(a)模型要素

使用三个集合:一是单词集合

,其中

是第v个单词,

,V是单词个数。二是文本集合

,其中

,其中

是文本

的第n个单词,

是文本

中单词个数。三是话题集合

,其中,

是第k个话题,

,K是话题的个数。

每一个话题

是由一个单词的条件概率分布

决定的,

。分布

服从多项分布(严格意义上类别分布),其参数为

。参数

是V维向量

服从狄利克雷分布(先验分布),其超参数为

。参数

,其中

表示

生成单词

的概率。所有话题的参数向量构成

矩阵,

,超参数

也是V维向量

每一个文本

由一个话题的条件概率分布

决定,

,分布

服从多项分布(严格意义上的类别分布),其参数为

,参数

服从狄利克雷分布(先验分布),其超参数为a。参数

是K维向量

,其中

,其中

表示文本

生成话题

的概率。所有文本构成参数构成一个M*K矩阵

,超参数a也是一个K维向量

每一个文本

中的每一个单词

由该文本的话题分布

以及所有话题的单词分布

决定

(b)概率图模型

LDA本质上是一个概率图模型,图为LDA作为概率图模型的板块表示,图中结点表示随机变量,实心结点是观测变量,空心结点是隐变量;有向边表示概率依存关系;矩形(板块)内数字表示重复的次数。

images.png

结点

表示模型的超参数,结点

表示话题的单词分布的参数,结点

表示文本的话题分布的参数,结点

表示话题,结点

表示单词。结点

指向结点

,重复K次,表示根据超参数

生成K个话题的单词分布参数

;结点a指向结点

,重复M次,表示根据超参数a生成M个文本的话题分布参数

;结点

指向

,重复N词,表示根据文本的话题分布

生成

个话题

;结点

指向结点

,同时K个结点

也指向结点

,表示根据话题

以及K个话题的单词

生成单词

。LDA是相同的随机参数被重复多次使用的概率图模型。

四、算法

潜在狄利克雷分配(LDA)的学习(参数估计)是一个复杂的最优化问题,很难精确求解。常用近似求解的方法有吉布斯抽样和变分推理

1.LDA的吉布斯抽样算法

吉布斯抽样的优点是实现简单,缺点是迭代次数可能较多。

(a)基本想法

LDA模型的学习,给定文本(单词序列)的集合

,其中

是第m个文本集合的单词序列,即

,超参数

已知。目标是要推断

话题序列集合的后验概率

参数

参数

要对联合概率分布

进行估计,其中w是观测变量,而

是隐变量。

吉布斯抽样,是一种常用的马尔科夫链蒙特卡罗法。为了估计多元随机变量x的联合概率分布p(x),吉布斯抽样法选择x的一个分量,固定其他分量,按照其条件概率分布进行随机抽样,一次循环对每一个分量执行这个操作,得到联合分布p(x)的一个随机样本,重复这个过程,在燃烧期后,得到联合概率分布p(x)的样本集合。

LDA模型采通常采取收缩的吉布斯抽样方法,基本想法是,通过对隐变量

积分,得到边缘概率分布

(也是联合分布),其中w是可观测变量,z是不可观测的。对后验概率分布

进行吉布斯抽样,得到分布

的样本集合;再利用这个样本集合对参数

进行估计,最终得到模型

所有的参数估计。

(b)算法的主要部分

(1)抽样分布表达式

这里变量

是已知的,分母相同,可以不预考虑。联合概率分布

的表达式可以进一步分解为

两个因子可以分别处理

推导第一个因子

的表达式

其中

是k个话题生成单词集合第v个单词的概率,

是数据中第k个话题生成第v个单词的次数。

其中

第二个因子

的表达式也可以类似推导。首先

其中

是第m个文本生成第k个话题的概率,

是数据根据第m个文本生成的第k个话题,于是

式中

,可得

(2)算法的后处理

通过吉布斯抽样得到的分布

的样本,可以得到变量z的分配值,也可以估计变量

参数

根据LDA表达式,后验概率满足

这里

是第m个文本话题的计数。

表示分布

对变量

的边缘化因子。于是得到参数

的估计式

参数

后验概率满足

这里

是第k个话题单词的计数,

表示分布

对变量

的边缘化因子,I是文本集合单词序列w的单词总数,于是得到参数

2.LDA的变分EM算法

(a)变分推理

变分推理是贝叶斯学中常用的,含隐变量模型的学习和推理方法。变分推理和马尔科夫蒙特卡洛(MCMC)属于不同的技巧。MCMC通过随机抽样的方法近似统计模型的后验概率,变分推理则通过解析的方法计算模型的后验概率。

变分推理的基本想法如下,假设模型是联合桂林分布

,其中x是观测变量,z是隐变量,包括参数。目标是学习模型的后验概率分布p(z|x),用模型进行概率推理。但这是一个复杂的分布,直接估计分布的参数很困难,所以考虑使用概率分布q(z)近似条件桂林分布p(z|x),用KL散度D(q(z))||p(z|x))计算两者的相似度,q(z)称为变分分布。如果能找到与p(z|x)在KL散度意义下的近似分布

,则可以用这个分布近似p(z|x)

KL散度可以写成以下形式

(b)变分EM算法

将变分EM算法应用到LDA模型的学习上,首先定义具体的变分分布,推导证据下界的表达式,接着推导变分分布的参数和LDA模型的参数的估计形式,最后给出LDA模型的变分EM算法

(1).变分下界的定义

文本的单词序列

,对应的话题序列

,以及话题分布

,和随机变量

的联合概率分布是

定义基于平均场的变分分布

其中

是可观测变量,

是隐变量,

是参数

定义基于平均场的变分分布

其中

是狄利克雷分布参数,

是多项分布参数,变量

的各个分量都是条件独立的,目标是求KL散度意义下最相近的变分分布

以及近似LDA模型的后验概率分布

inference_graphic_model.png

变分分布的板块表示,LDA模型中隐变量之间不存在依存关系,变分分布中这些依存关系被去掉,变量条件独立

由此可得到一个文本的证据下界

所有文本的证据下界为

为了求证据下界

的最大化,首先写出证据下界的表达式。为此展开证据下界表达式

根据变分参数

,模型参数

继续展开,并将展开式的每一项写成一行

是对数伽马函数,即

第一项推导,求

,是关于分布

的数学期望

其中

所以

故得

式中

分别表示第k个话题的狄利克雷分布参数

第二项推导,求

是关于分布

的数学期望

式中

表示文档第n个位置的单词由第k个话题产生的概率,

表示第k个话题的狄利克雷分布参数。

第三项推导,求

是关于分布

的数学期望

式中

表示文档第n个位置的单词由第k个话题产生的概率,

表示在第n个位置的单词是单词集合的第v个单词时取1,否则取0,

表示第k个话题生成单词集合第v个单词的概率

第四项推导,求

,是关于分布

的数学期望。由于

,可以得到

式中

表示第k个话题的狄利克雷分布参数

第五项公式推导,求

,是关于分布

的数学期望

式中

表示文档第n个位置的单词由第k个话题产生的概率,

表示第k个话题的狄利克雷分布参数

(2)变分参数

的估计

首先通过证据下界最优化参数

表示第n个位置是由第k个话题生成的概率,

,包含

的约束条件最优化问题拉格朗日函数为

这里

第在第n个位置由第k个话题生成第v个单词的概率

求偏导数得

令偏导数为零,得到参数

的估计值

接着通过证据最优化估计参数

是第k个话题的狄利克雷分布参数

求偏导数得

令偏导数为零,解得到参数

的估计值为

由此得到坐标上升法算法估计变分参数的方法

狄利克雷分布公式_潜在狄利克雷分配(LDA)相关推荐

  1. 狄利克雷分布公式_关于狄利克雷分布的理解

    近期问的人有点多,打算写一系列"简单易懂地理解XXX系列". 今天来讲一下dirichlet distribution和dirichlet process怎么回事.力求让刚開始学习 ...

  2. 狄利克雷分布公式_一文详解隐含狄利克雷分布(LDA)

    一.简介 隐含狄利克雷分布(LatentDirichletAllocation,简称LDA)是由DavidM.Blei.AndrewY.Ng.MichaelI.Jordan在2003年提出的,是一种词 ...

  3. 狄利克雷分布公式_深入机器学习系列11-隐式狄利克雷分布

    转载请注明出处,该文章的官方来源: LDA | Teaching ML 前言 LDA是一种概率主题模型:隐式狄利克雷分布(Latent Dirichlet Allocation,简称LDA).LDA是 ...

  4. 狄利克雷分布公式_二项分布 , 多项分布, 以及与之对应的beta分布和狄利克雷分布...

    1. 二项分布与beta分布对应 2. 多项分布与狄利克雷分布对应 3. 二项分布是什么?n次bernuli试验服从 二项分布 二项分布是N次重复bernuli试验结果的分布. bernuli实验是什 ...

  5. 狄利克雷分布公式_Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程)...

    Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程) Dirichlet Distribution(狄利克雷分布)与Dirichlet Pr ...

  6. 我对隐含狄利克雷分布(Latent Dirichlet Allocation,LDA)的理解

    LDA应用场景 可以做文本内容提取,比如提取"穆斯林的葬礼"的主题,可能会提取出爱情主题,社会悲剧主题,比如提取"大圣归来影评"的主题,可能提取出怀旧主题,制作 ...

  7. 狄利克雷分布公式_Dirichlet Tree Distribution(狄利克雷树分布)

    Dirichlet Tree Distribution(狄利克雷树分布) 标签:#Dirichlet##分布##统计基础# 时间:2017/02/06 21:17:00 作者:小木 这篇博客的主要内容 ...

  8. 狄利克雷分布公式_Dirichlet分布及其属性

    Dirichlet分布及其属性 Dirichlet分布 在概率统计中,Dirichlet分布通常表示为,是一个以正实数的向量为参数的连续多变量概率分布族.这是Beta分布的多元推广.在贝叶斯统计中,狄 ...

  9. 隐含狄利克雷分布(Latent Dirichlet Allocation,LDA)

    https://baike.baidu.com/item/%E9%9A%90%E5%90%AB%E7%8B%84%E5%88%A9%E5%85%8B%E9%9B%B7%E5%88%86%E5%B8%8 ...

最新文章

  1. Rabbitmq 相关介绍之双机镜像模式集群配置
  2. python为什么从0开始_为什么大多数编程语言中,索引都是从0开始
  3. 成功解决cv2.error: OpenCV(4.1.2) C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:182: err
  4. py-faster-rcnn代码roidb.py的解读
  5. 前端学习(1270):接口调用async/await
  6. 力扣225. 用队列实现栈(JavaScript)
  7. 顶级数据团队建设全景报告_如何拥有一支顶级数据智能团队?联想总结了这些由内而外的经验...
  8. 《Python入门到精通》文件操作
  9. tomcat下jndi的三种配置方式
  10. UVA12169模运算
  11. 任务管理器杀不了的进程如何关闭
  12. android系统壁纸下载,提前用上Android 12系统 官方高清壁纸下载
  13. Python | 范德蒙矩阵
  14. 【找工作必读】来自IT公司速查手册的各大IT公司薪资
  15. 2021年最新微博移动版网页链接自动跳转pc版网页链接软件【私信版】
  16. 请原谅我一生读题不仔细~仅以此纪念多校第十场1004
  17. Scrum板与Kanban如何抉择?敏捷工具:kmgoam板与按照pyluujly
  18. python实现3d扫描_三维激光扫描建模仪(基于树莓派)
  19. 数字化转型六图法:战略地图
  20. vue中 向一个数组中的每一个对象里添加一个属性

热门文章

  1. 怎么把PDF页面删除?教你两种方法
  2. 如何删除PDF空白签名域?
  3. python爬虫 批量下载高清大图
  4. Bath Body 純白花漾系列
  5. Bmob后端云的集成与使用
  6. 我经历的日本东京交通
  7. 来来来,一起去看临泉王冲林岗的红枫叶
  8. 作为程序员的硬实力是什么 ?
  9. windows光标移动快捷键操作
  10. 微信群活码,一个能够将用户自动分流的工具