自己对PLSA和LDA从来没去仔细的推导和实现过,资质太差,也没专门拿出时间来去搞。最近理解了一下,已经没多么的难了。打算最近写个自己理解、推导、代码、例子。
偶然看见微博上余凯、张栋等人关于这个问题的探讨,摘录下来,为自己以后对这两个模型做推导或者实现的时候,有些指导的意义:
(如果您不愿意我将您的观点记录再次,那么给我说,我去掉,我只是觉得,在我自己还没有理解和观点的情况下,这些对我有指导意义)
===
PCA,及其差不多等价的LSI, pLSI, LDA(topic model) 相对于k-means的进步之处在于,使用基重构样例时不再限定仅用一个基来表示,正是这一点使得LSI处理文本时可以反映同义词、多义词现象。Hongyuan Zha, Chris Ding等人的工作也揭示,换一个角度看时,K-MEANS和PCA等价。
- 朱洪波_机器学习:lda都成月经话题了,不过这次讨论的比较到位//@计算广告-陈晓光: LDA只是拉开了一个序幕,nonparametric 的hierarchical dirichlet processes和gaussian process才是漂亮的地方。//@老师木: plsi是mle,lda是bayesian。数据量很多时,bayesian 趋向于mle,对lda性能上不应有很大期待 (10月12日 16:34)
- 朱洪波_机器学习:跟风宣传一下:不要因为模型复杂公式很长就盲目觉得lda很酷很牛b。相比之下,plsa又好实现,效果还不赖。 //@余凯_西二旗民工: LDA的一个问题在于Variational Inference,这是个approximation, 导致模型hyper参数的估计不consistent. //@高斌MS:我以前在多个文本数据集上的实验结果也表明PLSI好过LDA (10月12日 16:11)
- 朱洪波_机器学习:这个先验有一个贝叶斯主义的"通病"。与其关注谁比谁好,我觉得还不如关注如何与有监督相结合更有意义//@张栋_机器学习: LDA 的 Dirichlet Prior 为 0 时,就是 PLSA //@余凯_西二旗民工: PLSI和NMF是一回事,但Thomas Hofmann的sampling process很有开创性 LDA的贡献被夸大了,实际效果也不比PLSI好(10月12日 16:04)
- 朱洪波_机器学习: 我的观点是lda很热。但是plsa才是经典。lda的优点很多情况下是强加的。实际应用时,我偏向使用plsa//@余凯_西二旗民工:多说一句,为什么说PLSA的贡献更大。没有prior加个prior,属于定式思维。 (10月12日 15:57)
- 张栋_机器学习:呵呵,基于 PLSA, Hofmann 写 Paper 同时,顺便还做了个创业公司 //@余凯_西二旗民工: 没有prior加个prior,属于定式思维。在传统文本分类或聚类模型上,一个文章一topic, 从而一个文章可以有多个topic,这是开创性的。Hofmann做了PLSA后,就一骑绝尘,玩别的去了,而Blei同学十年后还在玩topic model (10月12日 15:56)
- 代谢聚类谨:我早就发现这两者等价了,怎么没想到发文章呢? (10月12日 15:45)
- 蒋琪夏:plsa的最大贡献我觉得是两个:1)对human的writing过程进行了非常简洁且reasonable的建模;2)基于1)的mixed-membership的想法很赞 (10月12日 15:45)
- _小冰九月要努力完成任务:其实还是不明白把kmeans和pca理解成等价有什么好处呢?(10月12日 15:40)
- 余凯_西二旗民工:多说一句,为什么说PLSA的贡献更大。没有prior加个prior,属于定式思维。而在传统文本分类或聚类模型上,一个文章一topic,提出document->topic->word的sampling process, 从而一个文章可以有多个topic,这是开创性的。Hofmann做了PLSA后,就一骑绝尘,玩别的去了,而Blei同学十年后还在玩topic model (10月12日 15:38)
- 张栋_机器学习:是这样。LDA 的 Dirichlet Prior 为 0 时,就是 PLSA //@余凯_西二旗民工: PLSI和NMF是一回事,但当时Thomas Hofmann的sampling process很有开创性。从PLSI到LDA,LDA的贡献被夸大了,实际效果也不比PLSI好 (10月12日 15:23)
- 余凯_西二旗民工:PLSI和NMF是一回事,但当时Thomas Hofmann的sampling process很有开创性。从PLSI到LDA,LDA的贡献被夸大了(个人觉得),实际效果也不比PLSI好。 (10月12日 14:27)
- 老师木:回复@复旦李斌:unsupervised learning和supervised learning已经大一统到minimum description length的框架下了。 (10月12日 13:33)
- 复旦李斌:回复@老师木:。。。期待Chris Ding能把所有的unsupervised learning方法都等价起来。。。前面看到有人把SVM、神经网络、deep learning也等价起来了,眼看supervised learning和unsupervised learning都要大一统了。。。 (10月12日 13:30)
- 复旦李斌:Chris Ding把kmeans和NMF、pLSA、PCA都等价起来了。。。可我觉得有些很牵强。。。 (10月12日 13:25)
- ========
余凯_西二旗民工:
- 多说一句,为什么说PLSA的贡献更大。没有prior加个prior,属于定式思维。而在传统文本分类或聚类模型上,一个文章一topic,提出document->topic->word的sampling process, 从而一个文章可以有多个topic,这是开创性的。Hofmann做了PLSA后,就一骑绝尘,玩别的去了,而Blei同学十年后还在玩topic model
- 尚goodman:LDA为什么比plsa好,在于这个asymmetric prior的用法。hanna wallach的 rethinking lda why priors matter 说得很清楚了。对于短文本,这样的差距更大 (今天 03:54)
- heavenfireray:回复@自个儿挖坑-rj:一个很大的区别是,Guassian在高维文本空间里会死啊~~~不经谨慎实验,不要轻易尝试直接在文本空间里用Guassian。 (10月12日 17:01)
- heavenfireray:回复@余凯_西二旗民工:我倒觉得理解成一个向量代表一个topic还挺顺的。基于这种理解,近期各种基于矩阵、高阶(非矩阵直接相乘,类似于线性到非线性)的factorization方法就算一脉相承了~~~ (10月12日 16:59)
- 余凯_西二旗民工:回复@heavenfireray: 关于LSI思想理解没错,但是,LSI的联系到topic比较牵强。 (10月12日 16:56)
- heavenfireray:其实,LSI就有这思想了。从矩阵分解角度来看,PLSA可以理解成给矩阵分解加上概率化。LDA则属于典型的bayesian方法了。。。加prior,然后关注点集中到如何Inference。插个嘴,byesian套路似乎比较适合发paper啊~~~变结构,加先验,各种Inference方法,and so on... //@余凯_西二旗民工: PLSA的贡献更大 (10月12日 16:53)
- 自个儿挖坑-rj:pLSA和GMM的本质却别在哪儿?如果把每个gaussian看成一个topic,GMM是不是也就成了pLSA (10月12日 16:25)
- 朱洪波_机器学习: 我的观点是lda很热。但是plsa才是经典。lda的优点很多情况下是强加的。实际应用时,我偏向使用plsa//@余凯_西二旗民工:多说一句,为什么说PLSA的贡献更大。没有prior加个prior,属于定式思维。 (10月12日 15:57)
- 张栋_机器学习:呵呵,基于 PLSA, Hofmann