1.协同过滤(CF)【基于内存的协同过滤】
优点:简单,可解释
缺点:在稀疏情况下无法工作
所以对于使用userCF的系统,需要解决用户冷启动问题 和如何让一个新物品被第一个用户发现
对于只用itemCF的系统,需要解决物品冷启动问题
如何更新推荐系统呢,答案就是离线更新用户相似度矩阵和物品相似度矩阵【不断删除离开的用户/物品,加入新来的用户/物品】
2.MF PMF BPMF【基于模型的协同过滤】
当你有一个多维度稀疏矩阵,通过矩阵因式分解你能够将用户-项目矩阵(user-item matrix)重构成低评分结构(low-rank structure),并且你能够通过两个低评分( low-rank)矩阵相乘得出这个矩阵,其中矩阵的行包含潜在向量。
通过低评价矩阵乘积尽可能调整这个矩阵近似原始矩阵,以填充原始矩阵中缺失的项。
优点:更好解决可扩展性和稀疏问题而被广泛用于推荐系统
缺点:矩阵分解时间复杂度高,可采用梯度下降的方法减少计算复杂度
2.1 利用SVD求解MF
U:(M行M列的列正交矩阵)
S:(M*N的对角线矩阵,矩阵元素非负)
V:(N*N的正交矩阵的倒置)
即 A=U*S*V’(注意矩阵V需要倒置)
简单总结就是选取S对角阵中的前k个元素即可对U,S进行降维,利用,令U=U*S, 则U*V’可以近似还原并填充原矩阵?【这句话我认为不对的吧。还原是近似接近原矩阵, 如果原来是0,即未评分