六、模型讨论
pLSA
容易陷入过拟合。pLSA
认为:- 文档-主题分布 不是随机变量,而是未知的常量。
- 主题-单词分布 也不是随机变量,也是未知的常量。
pLSA
通过拟合训练数据集来求解这些参数,这意味着这些参数只能表征当前的训练集的文档的特征。对于未知的文档,pLSA
认为它也符合训练集的文档特征。事实上这就是一种过拟合,尤其是当训练集的文档数量太少时,非常容易陷入过拟合。
LDA
会给 加入一些先验性的知识。当数据量较小,先验性的知识会占据主导地位;当数据量较大,真实数据占据主导地位。以人口抽样问题为类比。
pLSA
认为:人口的男女比例是一个常数。给出一个人口集合,
pLSA
先统计男女比例(假如训练集是从医院获取的)。假如结果为2 :1
, 则pLSA
会断言:所有的人口比例都是2 : 1
。于是训练集越小,
pLSA
越容易陷入过拟合,离真实结果也就越远。LDA
会首先假设男女比例为1000:1000
。 然后再统计人口集合中男女的人数,最终得到的结果。假设人口集合中男女的人数分别为
200:100
,则最终LDA
得到男女比例为1200:1100
。虽然该结果离真实的结果可能有偏差,但是它比pLSA
的结果要更好。
当数据量足够大的时候,
pLSA
跟LDA
的结果相差无几。这是因为当数据量足够大时,真实数据的信息会淹没掉先验知识。假设有词表共有 3 个单词,主题表共有 3个主题。下面一张图形比较了
Unigram Model
,pLSA
与LDA
的区别。最外的三角形为单词三角形。内部每个点(如 )表示一个单词概率分布,表示产生
word1,word2,word3
这三个词的概率的大小;靠内的三角形为主题三角形。内部每个点表示一个主题概率分布,表示产生topic1,topic2,topic3
这三个主题的概率的大小。Unigram
模型:该模型由生成各单词的概率决定,因此单词三角形内部任意一点(如 )代表了一个Unigram
模型。pLSA
模型:主题三角形内任意一些点(如带叉的点所示)就是一个pLSA
模型。模型先根据主题概率分布采样一个主题,然后根据该主题的单词概率分布采样一个单词。重复执行
选择主题-选择单词
的过程,即可得到一篇文档。LDA
模型:主题三角形内,每一条曲线表示了一个pLDA
模型。模型首先根据曲线(它代表主题概率分布的分布,即主题概率分布选择某类分布的概率较大)选择主题三角形内的一个点(它代表一个主题概率分布);然后根据该主题概率分布随机采样一个主题;然后根据该主题的单词概率分布采样一个单词。重复执行
选择主题 - 选择单词
的过程,即可得到一篇文档。topic
分布的分布,即topic
分布取某些值的概率较大,取另外一些值的概率较小。它刻画了LDA
模型选择主题的过程。