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