lda数学八卦_讲透 LDA

2e63cef4a056212e49ac217edfd20459.png 讲透 LDA(一) 687cc2b9a8260bc6810f32939b2f70ce.png LDA系列前言 分布相关知识 Gamma 函数 Multinomial 分布 Dirichlet 分布 LDA 介绍 初识 LDA ----  理性再识  LDA ---- 感性 LDA 的优化目标是什么文末唠嗑 001 f25bfdaa9645bb2772ba41190f58f501.png LDA系列前言

你会从本系列学到的东西

  1. LDA 为什么是这样做参数学习
  2. 尽量无痛理解 LDA 的数学原理 (大家都脑仁疼的东西,小编也是头皮都抓破了)
  3. LDA 的知识体系
本文叫「讲透 LDA」,确实有标题党嫌疑,但小编在 LDA 前前后后花了很多时间,对 LDA 还算有些把握,希望尽力把 LDA 的全貌给大家展现出来。 本系列将从浅入深,来讲解 LDA 模型。第一部分讲 LDA 模型的感性认知,一些概率分布的基础;第二部分着重讲 LDA 的学习,包括 EM 算法,Variational Inference,马尔科夫链,Gibbis Sampling;最后一部分再讲 LDA 的发展历史。本文不会简单把 LDA 那些公式一脑儿搬出来吓人,会尽量给出为什么 LDA 会这样做,我想这也是这系列和其他文章的重要差别。 002 f25bfdaa9645bb2772ba41190f58f501.png 分布相关知识

为了避免不适,先介绍 LDA 中会用到的一些分布知识。

Gamma 函数

高数课本中 Gamma 函数定义如下: e0688b45de54bd4a70f0665a11a0a03f.png 两个重要性质: 2505bc26b9745d87c5d25f47b1247981.png 上面适用于任意实数(可以通过分布积分证明),下面适用于正整数。 根据 Gamma 函数,我们继续介绍另外一个函数 ---- Digamma 函数,以后需要用到,它定义如下 fb7c3aadaae2a7c3bc15757291748b15.png Gamma 函数是一个非常有魅力的函数,关于对 Gamma 函数的美学和历史,「LDA 数学八卦」这篇著名的文章中介绍得很详细,这里不复述。

Multinomial 分布

多项式分布的定义如下: d0fefd8822880e022a5bfa4cae7ef4c6.png 一个具有 k 种结果的试验,进行 n 次得到向量 x = [x1, x2, .., xk] 这个结果的概率,其中 xk 代表出现第 k 种结果的次数。注意多项式分布的抽样结果是一个 k 维向量。

Dirichlet 分布

狄利克雷分布定义如下: e4a0f6d4af344303ae3500d041b70288.png 注意这里不要求的所有的 αi 加和为 0,p(x|α) 表示由 Dirichlet 分布抽样得到向量 x 的概率。 由于 x 的每一维求和为 1,其实 x 可以表示为一个超平面。比如假设 x=[x,y,z] 为三维,它其实是三维空间中的一个曲面 1 = x+y+z。所有可能的 x  的取值分布在图中黄色的单纯形中。
9b3079860ea2d77e4dc806f08208f24d.png
根据不同的 Dirichlet 参数 α = [x, y, z],单纯形中的点 x 被抽样的概率不同。下面以不同的 α 来看看 x 的概率分布,颜色越亮,该点被取样的概率越高。
  1. 当 α = [1, 1, 1] 时,单纯形上任意一点的概率都相同。
2713b3037ebb88297ca7456d5243c397.png
  1. 当 α = [2, 2, 2] 时,单纯形中心点的概率最高,越往顶点,概率越小。
0dc29baf04a6d151f5563c40406a0188.png
  1. α = [0.9, 0.9, 0.9] 时,单纯形中心点的概率最低,越往顶点,概率越高
ae8c88f35129d0ae2d73945d522d6930.png
  1. α = [2, 2, 1] 时,单纯形靠近 x + y = 1 边的中心点概率最大,越靠近该点,概率越大。
d95cdaf4da31d5e5e042a7448a3af9c8.png
感觉这个 Dirichlet 分布的概率分布奇奇怪怪的,其实可以通过概率密度公式解释 9114c57300a7675b8f5c921bf6ee70b9.png 这里我们可以把 B(α) 看做常数,因为平面上任意点的概率密度都会乘以它可以忽略(正如每个人都有鼻子眼睛,没什么稀奇的) cb006cf77b349ee0b72bac825b47acd7.png 接下来就可以讨论上面不同 α 取值对概率分布的影响,其他的情况大家可以自己手动推导一下,应该很好理解
c53ffecf081e42d3eb13749e5b37dfa3.png
想了解更多参数组合对 Dirichlet 分布的影响,请访问这个网页 https://plotly.com/~david_avakian/14.embed 插播一句:下面这种表示跟上面的表示一样的,只不过通过 3D 显示更加形象了,下图显示的是对称 Dirichlet 分布(所有的 αi 的值相等)
1eb010755dc7af337d9d212e6a90bc42.gif
003 f25bfdaa9645bb2772ba41190f58f501.png LDA介绍

LDA 由David M. Blei 大佬于 2003 年提出,此后衍生出了一系列的改进,sLDA, lLDA, ssLDA, Guided LDA等等,目前仍然是一个很热的研究方向。LDA 是概率图模型中的有向图模型,此前我们讲过的「贝叶斯网络」就是有向的概率图,这个系列也是同一类。LDA 的应用非常广泛,文档分类,推荐系统,图片 annotation,文本挖掘等都可以用到。

初识 LDA ----  理性认识

下面是大家熟悉的一张 LDA 模型的图片(大家可能在互联网上能找到多个版本 ,但系列以这个版本为主),图中已经给出了一部分解释,这里补充一些知识: 1. 关于盘子图的理解:
  • 圆圈代表随机变量(可以是多维变量)、
  • 矩形代表盘子,盘子右下角有大写字母,代表盘子内部这样的结构出现的次数,比如拿里面那个盘子举例,若 N=3,那么
8565594b5ab45ce59b9eb20b2ccc0674.png
2. 关于参数维度说明,K 代表主题个数,V 代表词典(所有文档不重复词汇)大小,N 代表文档的词汇数量(应该是Nd,每个文档词汇数量不一样,这里统一用 N),D 代表训练集中文档的数量。 α : 1 × K β:   K × V η:  1 × V θ:  D × K Z:  D × N × K
f3f44fde26182503af9c44288f48c199.png

再识 LDA ---- 感性认识

LDA 思想 ---- 模仿人类写作的过程 1. 主题-词汇分布抽样 先从以 η 为参数的 Dirichlet 分布中取样 K (K=6)个主题。每个主题的词汇分布是一个以 βk(维度=V)为参数多项式分布。每个维度上的值(图中柱状图的每条柱子)为出现各个词汇的概率。
cd0b38998ff93f384ee05ed2020695a4.png
7b758f3b246fd374221cda4ab0cdf43c.png
2. 文档-主题分布抽样 从以 α 为参数的 Dirichlet 分布,为每个一个文档 d (这里以生成 3 个文档为例)抽取一个文档主题分布。每个文档的主题分布以 θd(维度=K)为参数多项式分布。每个维度上的值为各个主题在文档 d 中占的比重。
febeb84183fe4fe4efb24b5a609234a1.png
3. 为文档生成每个单词 把一个文档 d 看做一个词袋,每次生成新单词时,先从 Multinomail(θd) 抽样一次得到一个 K 维向量 Zd,n(比如[0,0,1,0,0,0] ),此时这个新单词的主题就是「主题 3」hockey。然后从主题-词汇分布中选出「主题 3」的词汇分布 Multinomial(β3),抽样一次得到一个 V 维向量(比如 [0,1,0,0,…] ),那么这个新单词就是词典中的第 2 个单词 season. 下面是 3 篇文档的内容生成结果。
00ef61c7ea3e6016bf1003338482cac9.png
LDA 数学八卦中把这个过程完整地概述为上帝玩骰子游戏 1. 黄色箭头:选骰子 2. 蓝色箭头:掷骰子
4fc2f9a6b561d71363fd3aaa18e55312.png
af73fed9d261889eac8d3facae1d85fd.png
004 f25bfdaa9645bb2772ba41190f58f501.png LDA的优化目标是什么 在给定训练数据 Corpus=[w1, w2,…, wD] (wd 是一篇文档)的情况下,任何无监督模型都希望尽量拟合数据。对于概率图模型来说就是使得产生数据的概率更大, 考虑一个文档 w,其中 α 和 η 已知(一般初始为 α = [1/K, 1/K, …, 1/K], η = [1/V, 1/V, …, 1/V],那么我们希望 915494071ef1da4b2d57bc639bd7271b.png LDA 的学习问题是一个包含隐变量的优化问题,根据经验 EM 算法肯定是要用了。先简单透露下,EM算法的使用,在 E-step 先固定模型的参数,求出最优的隐变量的后验分布;然后在 M-step 时,固定隐变量的后验分布,求出最优的模型参数。由此交替优化,一直到收敛为止。很像坐标上升法的做法。 对于这些隐变量 θ,β 和 Z 的参数值,它们的后验概率表达式为 c2fba118c8c0dde5f571ae663d16a390.png 似乎可以求,但是一看到分母的表达式,就头疼,对隐变量 θ,β 和 Z 做积分,这个运算量可不是一般的大,准确来说这里的隐变量应该是 3 组隐变量。所以直接计算非常耗时,而且还不好求,我没有试过,当是看徐亦达老师推导时记得是几乎求不出来一个好的表达式来。 那么如何计算这个后验概率呢?这就是我们后验要介绍的两个方法,一个基于抽样方法 ---- Gibbis Sampling;另外一个使用自定义分布近似后验概率 ---- Variational Inference,这两个方法都是为了获取隐变量的后验概率。

文末唠嗑

记得上一篇文章大概是两周前了,starz 这段时间要去忙着准备实习,没有时间写文章了。其实我很能理解,因为写这些文章完全是没有回报的,只是为了跟大家分享和还有监督自己,如果这样去理解的话其实是痛苦的。事不论大小,贵在坚持。记得上次发完一篇文章,有很多的小伙伴点赞阅读,自己感觉非常开心,大家的支持真的是我们写文章的动力。我们在写文章时就有一个共同的意识,一定不为了蹭热度博眼球去写文章,而是发自内心的想去做好这样一件事,希望不辜负大家花在阅读上的时间。我们写文章其实也挺花时间的,大家阅读后觉得对自己有帮助的话,请给我们点一个在看」,就当做对我们的鼓励吧。还有就是欢迎大家互相学习交流,交流有时候比闭门造车好很多,有时候智慧的火花一不注意就诞生了。一句「勿忘来时路,不负少年心」送给所有在路上为初心死磕的人,下期见。 Reference
  1. http://limoncc.com/机器学习/2017-03-08-狄利克雷-多项式模型/
  2. LDA 数学八卦
  3. Blei D M, Ng A Y, Jordan M I. Latent dirichlet allocation[J]. Journal of machine Learning research, 2003, 3(Jan): 993-1022.
38443c625ee220f8285b2d5b529d5752.png

在看我吗?

9e0e3eb72c99283bd123eebaadb8372f.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值