||
推荐系统中经常用到的两个基本模型,一个是概率隐语义分析(Probabilistic Latent Semantic Indexing简称PLSA),另一个是奇异值分解(SVD),下面分析一下二者的区别和联系。
从形式上看PLSA和SVD很像,如式(1)和 式(2),
$P = \sum_{k=1}^Kp(z_k)p(d_k|z_k)p(w_k|z_k) = UZV^T$
$A = \sum_{k=1}\lambda_ku_kv^T_k = U\Lambda V^T$
二者都是隐变量模型,是矩阵分解,都对原矩阵进行了降维,并且都是非监督学习。 虽然形式上很相似,但是二者在实际应用中区别还是很大的,不能混淆使用。首先,分解对象不同,在PLSA模型中,P矩阵的每个元素代表一个概率,而在SVD中,A并不要求具有概率意义,如在协同过滤中,A中每个元素代表一个评分。 其次隐变量的意义不同,虽然二者都是隐变量模型,在PLSA中隐变量代表的一个类别,是离散的,具有明确的概率意义,表示一个类别的边缘分布,而在SVD中,隐变量代表的一个方向,是连续的。第三,两种分解的优化目标不同,PLSA的分解目标是找到一组基使得似然概率取得最大值,并且基之间不一定是正交的,而SVD的优化目标是映射损失误差最小,它的基是正交的,PLSA强调的是聚类,这一点是受 z的离散性影响的,SVD强调的是找到一个隐方向,使用数据在该方向的区分度比较大。
从以上分析可以 看出,虽然二者的都是矩阵分解,都起到了降维的作用,但是PLSA重点在聚类,强调共性,而SVD在于找方向,强调差异性。如果从监督和非监督的角度考虑,PLSA对应的是分类问题,而SVD对应的是回归问题。
参考资料
probabilistic latent semantic indexing
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-23 10:59
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社