我们先理解下多项分布、狄利克雷分布、共轭先验的知识,再讲LDA的基本思想,最后简单说一下LDA和PLSA之间的区别。关于LDA的学习过程,比较复杂,就不讲了。
多项分布:
假设重复进行 次独立随机试验,每次实验可能出现的结果有 种,第种结果出现的次数为,第种 结果出现的概率为。如果用随机变量 表示实验所有可能出现结果的次数,其中表示第种结果出现的次数,那么随机变量服从多项分布。具体的数学定义如下:
若多元离散随机变量的概率质量函数为 :
其中,,。
则称随机变量服从参数为 的多项分布,计做。
多项分布有两个特例,一个是二项分布,一个是类别分布。
二项分布
二项分布:当实验可能出现的结果种数为 2 时,多项分布变成二项分布。
二项分布的数学定义如下:
为离散随机变量,取值为,其概率质量函数为:
其中和是参数。
当为 1 时,二项分布变成伯努利分布或 0-1 分布。
类别分布
类别分布:当实验的次数为1 时,多项分布变成类别分布。
当为 2 时,类别分布变成伯努利分布或 0-1 分布。
狄利克雷分布
狄利克雷分布是一种多元连续随机变量的概率分布。在贝叶斯学习中,狄利克雷分布常作为多项分布的先验分布使用。狄利克雷分布的数学定义如下:
若多元连续随机变量的概率密度函数为:
其中,,。
则称随机变量服从参数为的狄利克雷分布分布,记做。
式中是伽马函数,定义为:
,
具有性质:
当是自然数时,有
贝塔分布
当狄利克雷分布中的为2 时,是贝塔分布。
贝塔分布是指如下概率分布,为连续随机变量,取值范围为,其概率密度函数为:
其中和是参数,是贝塔函数,定义为:
当,是自然数时:
共轭先验
贝叶斯学习中常使用共轭分布,如果后验分布与先验分布属于同类,则先验分布与后验分布称为共轭分布,先验分布称为共轭先验。如果多项分布的先验分布是狄利克雷分布,则其后验分布也为狄利克雷分布,两者构成共轭分布。狄利克雷分布是多项分布的共轭先验。作为先验分布的狄利克雷分布的参数又称为超参数。使用共轭分布的好处是便于从先验分布计算后验分布。
设是由个元素组成的集合。随机变量服从上的多项分布,,其中和是参数。参数为从中重复独立抽取样本的次数,为样本中出现的次数();参数为出现的概率()。
将样本数据表示为,目标是计算在样本数据给定条件下参数的后验概率。
对于给定的样本数据,似然函数是:
假设随机变量服从狄利克雷分布
,
那么根据贝叶斯规则,在给定样本数据和参数条件下,的后验概率分布是:
可以看出,先验分布和后验分布都是狄利克雷分布,两者有不同的参数,所以狄利克雷分布是多项分布的共轭先验。狄利克雷后验分布的参数等于狄利克雷先验分布参数加上多项分布的观测计数。就好像在实验之前,我们心里有一个预估的计数, 因此也把叫做先验伪计数。
LDA
LDA基本思想
LDA是生成模型,模型假设话题由单词的多项分布表示,文本由话题的多项分布表示,单词的多项分布和话题的多项分布的先验分布都是狄利克雷分布。文本内容的不同是由于它们的话题多项分布不同。(严格意义来说,这里的多项分布都是类别分布,因为包含很多条文本的语料是一次性展现在我们眼前的,所以这些数据没有重复独立随机试验的基础假设。)
模型定义
1、模型要素
LDA使用三个集合,单词集合、文本集合和话题集合。
单词集合:,其中是第个单词,,是单词的个数。
文本集合:,其中是第个文本,,是文本数量。文本是一个单词序列,其中是文本的第个单词,,是文本中单词的个数。
话题集合:,其中是第个话题,,是话题个数。
每一个话题由一个单词的条件概率分布决定,。分布服从多项分布(严格意义上是类别分布),其参数为,参数服从狄利克雷分布(先验分布),其超参数为。参数是一个维的向量,其中表示话题生成单词的概率。所有话题的参数向量构成一个的矩阵。超参数也是一个维的向量。
每一个文本由一个话题的条件概率分布决定,。分布服从多项分布(严格意义上类别分布),其参数为,参数服从狄利克雷分布(先验分布),其超参数为。参数是一个维向量,其中表示文本生成话题的概率。所有文本的参数向量构成一个的矩阵。超参数也是一个维的向量。
2、生成过程
LDA文本集合的生成过程如下:
给定单词集合,文本集合,话题集合,狄利克雷分布的超参数和。
(1)生成话题的单词分布
随机生成个话题的单词分布。每个分布的生成具体过程如下:按照狄利克雷分布随机生成一个参数向量,,作为话题的单词分布,,。
(2)生成文本的话题分布
随机生成个文本的话题分布。每个分布的生成具体过程如下:按照狄利克雷分布随机生成一个参数向量,,作为文本的话题分布,,。
(3)生成文本的单词序列
随机生成个文本的个单词。文本()的单词()的生成过程如下:
(3-1)首先按照(2)生成的多项分布随机生成一个话题,。
(3-2)然后按照(1)生成的多项分布随机生成一个单词,。
3、模型学习
模型学习比较复杂,以后整理好了再推导下吧~
LDA和PLSA
LDA是PLSA的扩展,相同点是PLSA 和 LDA 都引入了隐变量,两者都假设话题是单词的多项分布,文本是话题的多项分布。不同点是LDA使用狄利克雷分布作为先验分布,而PLSA不使用先验分布。LDA的优点是使用先验概率分布,可以防止学习过程中产生的过拟合。