《LDA数学八卦》读后笔记

来源:互联网 发布:ubuntu安装磁盘分区 编辑:程序博客网 时间:2024/05/22 12:41

LDA看过很多次了,每次都有新的理解(其实就是因为之前的理解不深)。首先要表达对靳志辉的敬仰,毕竟LDA资料里面,这个算是最好的读物了。
看完LDA多次想过要写一篇博客,但是一直没有写,因为我觉得我还没有理解,直到今天,我也不太敢说自己百分百的理解。我就把自己学习过程中的心得,写出来,供初学者参考,少走一些我走过的弯路就OK了。接下来,我会完全按照《LDA数学八卦》的排版顺序来解读。
先大概说下这本书的框架
介绍了伽马函数,Beta分布,Dirichlet分布,采样方法,然后讲文本建模。
第一要点:伽马函数,Beta分布都是为了引出Dirichlet分布,而Dirichlet分布则是用来表示文本的先验分布。也就是是说,这个slide里面用大量的篇幅来介绍,伽马,Beta,Dirichlet就是用来解决一个先验分布表示的问题。我们带着这样的整体认识再看这个slide,我们就会觉得轻松很多,很多地方是可以直接不看的。也就是说,我们不用沉醉于伽马函数有多神奇,不用纠结于高斯有多老狐狸。因为这些非但没有让你更加清楚认识,反而让你更蒙圈。这个slide就这点不好,他把那么多篇幅用在了铺垫上,但是在后面关键部分匆匆结尾。
第二要点: 采样方法,两种采样算法要理解,mcmc和gibbs采样,这两个采样算法稍微耐心点了解之后,其实LDA部分的知识也就全知道了。
以上两点只要理解好了,LDA也就会了,Nothing is important but these two points!

现在我们就按着《LDA数学八卦》把知识都过一遍,用最朴素的语言来说明。
伽马函数
我们只需要记住这个函数的形式,性质,以及他可以表示Beta分布和Dirichlet分布。
形式:
这里写图片描述
性质:
这里写图片描述
和Beta分布的关系
这里写图片描述

这里写图片描述

在这里我建议读者,要记住这个Beta函数的表示形式,因为后面作者用了一个举了一个潘多拉的例子,我觉得那个例子举的不是很好,不如直接看公式来得明白。

Beta分布Dirichlet分布
这里作者举了潘多拉得例子,相信推导起来也没啥难得,但是我说这个例子不好,是因为这个例子对咱们理解后面得文本建模没有帮助,作者也没有进行总结性的概括。所以我在这里举另外一个例子,大家先要记住这样的一个重要等式。
这里写图片描述
这里写图片描述
咱们要的就是这个。
作者举了一个魔鬼于猜数字的例子,我在这里再举另外一个例子,配合着理解一下。
这里写图片描述

这里写图片描述

这里写图片描述
这里写图片描述

这里写图片描述

可以看到这个分布其实没多大变化,这是因为只打了1次球并不能说明什么问题。但是如果我们得到了更多的数据,假设一共打了300次,其中击中了100次,200次没击中,那么这一新分布就是:

这里写图片描述

具体请看知乎地址:如何通俗理解beta分布?
所以我们的Beta分布也好,Dirichlet分布也好,他们都是对一个先验分布的一个假设,然后用训练数据里不断地去修正这个这个概率分布,来逼近真实地概率分布。那么问题就来了,既然是对概率分布的一个假设,我们为什么要用Beta分布,Dirichlet分布呢? 答案是我们对他们进行纠正的时候很方便。比如Beta分布
这里写图片描述
这个看看《LDA数学八卦》就会知道。
关于这两个分布的一个重要性质,如下:
这里写图片描述

MCMC 和Gibbs Sampling
接下来我们来谈谈采样。
什么理论起源,发展历史,蒙特卡罗方法,come on!过!我们直接看马氏链及其平稳分布
这部分好好看看《LDA数学八卦》就可以了,讲得很好。

我们要重点关注的是细致平稳条件。
这里写图片描述
这句话通俗的解释就是 如果对应于一个矩阵A,有一个分布函数B满足这样的等式,那么这个矩阵An次累乘,最终是会收敛于B的。
看下图
这里写图片描述
矩阵累成后,他的每一个行都是收敛的分布函数。

这里写图片描述

理解这个之后,我们的MCMC算法就很好理解了。这部分直接看slide吧。大概就是,我们想知道样本的真实分布函数F,那我们就构造对应的平稳状态转移矩阵,然后就沿着这个状态转移矩阵一直跳转,到了收敛状态之后,每一次条状相当于是在F分布函数下的采样。

Gibbs 采样
这里写图片描述
这部分讲的也很好,我们知道了对于一个二维以上的样本,沿着固定轴的采样都是属于细致平稳条件。也就是说我们沿着固定轴一直采样,我们最终会收敛于真实的二维分布。

文本建模
接下来就是文本建模的问题,所谓的文本建模就是,我们猜测文本应该怎样生成的,最终用这个模型做出概率表示。
第一种方法是
Unigram Model
这部分内容比较简单,我主要来讲讲 贝叶斯Unigram Model,因为理解好了这部分内容,后面的LDA内容就好理解了。
在这里我并没有在作者的基础上,做出进一步的引申,因为作者的水平肯定是大神中的大神,我做的工作是信息提取,因为作者貌似不太擅长用简介地介绍原理。

Unigram Model其实很简单呀,先验分布是这个,其中参数是自己设置的。
这里写图片描述

这里写图片描述
这个归一化因子好理解把,因为这个是一个概率表示,他的积分既然是1,那我们就可以用这个归一化因子使得 Dirichlet 分布表示更加简洁。

下面这个是训练样本中出现的各个词的频率统计。
这里写图片描述

然后套用一下下面这个公式,就可以了。
这里写图片描述
这样我们就表示出了各个词产生的概率,其实就是跟前文举例的 击中棒球的概率是一样的,就是先假设一个概率,然后通过训练数据去修正这个概率吗
这里写图片描述

这里写图片描述

这里写图片描述
这些都没毛病

Topic Model 和 PLSA
PLSA和 LDA就比较接近了,区别就在于PLSA是没有先验分布假设的,而LDA就有,就这点区别。PLSA具体实现我也不清楚,但是作为LDA的过度,我们就简单看看他的文本建模过程。

这里写图片描述

LDA
如果PLSA的文本表示明白了,LDA的文本表示也是一样的,唯一不同的地方就是加了一个先验分布。
我们最终求的是这样的一个联合概率表示
这里写图片描述

这是在为下面的gibbs采样算法做铺垫。

gibbs采样
我们的思路就是固定其他轴,沿着某一轴做采样算法。然后更新。
那么我们就要有根据其他轴表示这一轴概率分布的表示方法。

就是这个
这里写图片描述

这里写图片描述

这里写图片描述

说实话,这部分知识理解起来比较难,但是前面理解好了,这里很好理解。大概就写这么多,如果有必要,后期还会更加详细更新

原创粉丝点击