前言
传统SVD在使用上的局限:
SVD分解要求矩阵是稠密的 => 矩阵中的元素不能有缺失;所以,类似于数据清洗,我们需要先对矩阵中的缺失元素进行补全;
先有鸡,还是先有蛋。实际上传统SVD更适合做降维。
存在的问题:矩阵往往是稀疏的,大量缺失值 => 计算量大;填充方式简单粗暴 => 噪音大。
在SVD的基础上,提出了改进的算法FunkSVD、biasSVD、SVD++,原理和举例见下文。
FunkSVD原理与应用举例
(最近时间精力有限,案例代码见gitee): FunkSVD对MovieLens数据集进行评分预测
biasSVD原理与应用举例
(最近时间精力有限,案例代码见gitee): biasSVD对MovieLens数据集进行评分预测
SVD++原理与应用举例
(最近时间精力有限,代码过程见gitee):SVD++对MovieLens数据集进行评分预测
总结
(如果您发现我写的有错误,欢迎在评论区批评指正)。