lijiankou的个人博客分享 http://blog.sciencenet.cn/u/lijiankou

博文

概率隐语义分析和奇异值分解

已有 7336 次阅读 2013-11-10 21:36 |个人分类:机器学习|系统分类:科研笔记

推荐系统中经常用到的两个基本模型,一个是概率隐语义分析(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




https://blog.sciencenet.cn/blog-520608-740657.html

上一篇:概率主成分分析
收藏 IP: 124.16.137.*| 热度|

3 蒋迅 赵长伟 s2jackson

该博文允许注册用户评论 请点击登录 评论 (4 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-24 20:55

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部