成为新会员获取本项目完整代码、数据、AI智能体及更多最新AI见解

加入会员群

电影推荐系统作为协同过滤和深度学习技术的典型应用场景,近年来受到了学术界和工业界的广泛关注。本文围绕MovieLens ml-latest-small评分数据集,在同一基准上系统对比实现了SVD截断奇异值分解矩阵分解模型与神经协同过滤(NCF)深度学习模型,并辅以TF-IDF内容推荐模块。实验涵盖评分预测和Top-K推荐双任务评估,同时通过嵌入维度和网络深度的消融分析揭示了神经推荐模型在小数据集上的超参数敏感性。

本项目完整代码、数据、AI智能体和实证分析

下载资料(17页)

传统推荐系统的核心技术是协同过滤(CF),其基本假设是历史行为相似的用户在未来偏好上也趋于一致。早期方法依赖基于记忆的最近邻技术,后来以矩阵分解为代表的基于模型的方法因其可扩展性和性能优势成为主流。矩阵分解将用户和物品表示为低维空间中的潜在向量,评分矩阵R的近似可以表示为R≈UΣV^T。这套方法在Netflix Prize竞赛中取得了领先水平,至今仍是显式反馈推荐的重要基线。

随着深度学习的发展,神经协同过滤(NCF)用一个可学习的神经网络替代了用户与物品潜在向量之间的内积操作。用户和物品仍然通过嵌入来表示,但它们的交互由一个多层感知器(MLP)来捕捉,能够学习复杂的非线性模式。NCF模型将用户和物品索引嵌入为向量后拼接为特征向量z=[e_u;e_i]∈R^{2d},MLP结构为2d-128-64-1,两层隐藏层均使用ReLU激活函数,输出层输出标量预测评分。

SVD模型选择k=50个潜在因子作为模型容量和过拟合风险的折衷。NCF模型嵌入维度也设为相同规模以便对比,使用两层隐藏层(128和64维)。评分预测任务用留存测试集上的RMSE评估,Top-K推荐采用留一法计算Precision@10。为便于复现,所有实验使用固定划分和统一配置,所有随机种子均已设定。

实验结果汇总如下:SVD(Scikit-learn)模型的RMSE为0.9066,Precision@10为0.1016;NCF(PyTorch)模型的RMSE为0.9643,Precision@10为0.0892。总体上,经典SVD协同过滤模型在这个小规模基准上取得了明显更好的准确率——RMSE比NCF低约6%,Precision@10高出约14%。这说明在相对稠密、低噪声的数据集上,经过良好调参的矩阵分解仍然是非常强劲的基线。


图1. SVD(Scikit-learn)与NCF(PyTorch)模型在RMSE(左)和Precision@10(右)上的对比

图1. SVD(Scikit-learn)与NCF(PyTorch)模型在RMSE(左)和Precision@10(右)上的对比


TF-IDF内容模型不预测显式评分,但在相似电影搜索和缓解冷启动问题上有独特价值。NCF模型的训练和验证损失曲线显示,在前几个epoch稳步下降后趋于平缓,约5-6个epoch后开始出现轻微过拟合。消融实验进一步表明:嵌入维度从8增加到64时性能持续改善,64维之后增益趋于饱和;网络深度从1层增加到3层时效果逐步提升,但4层带来了额外计算开销而指标下降。


图2. PyTorch NCF模型的训练与验证损失曲线

图2. PyTorch NCF模型的训练与验证损失曲线

图3. 嵌入维度对NCF性能的影响(RMSE和Precision@10),虚线标记64维最优配置

图3. 嵌入维度对NCF性能的影响(RMSE和Precision@10),虚线标记64维最优配置

图4. 隐藏层数量对NCF性能的影响(RMSE和Precision@10),虚线标记三层最优配置

图4. 隐藏层数量对NCF性能的影响(RMSE和Precision@10),虚线标记三层最优配置


相关技术文章图片

MATLAB模糊C均值聚类FCM改进的推荐系统协同过滤算法分析MovieLens电影数据集

本文在MovieLens和Flixster数据集上将模糊C均值聚类(FCM)算法与协同过滤推荐相结合,通过聚类信息改进传统协同过滤算法,在MAE等评估指标上优于K-means、K-medoids等聚类协同过滤方法,为电影推荐系统的协同过滤算法优化提供了新的技术路径。

阅读原文

实验揭示了以下现象:在ml-latest-small这样的中等规模数据集上,SVD矩阵分解模型依然极具竞争力,它结构简洁、训练高效。NCF模型参数量远大于SVD(主要由嵌入层贡献),在数据量有限时过拟合风险显著增加。TF-IDF内容模型不依赖历史评分数据,因此在解释推荐理由和冷启动场景中具有独特价值。两个推荐管线均封装为API服务——Scikit-learn管线使用Flask框架,PyTorch管线使用FastAPI框架。

两个推荐管线均实现了从训练到API部署的完整闭环:SVD管线通过Flask封装为REST服务,NCF管线通过FastAPI部署,两者均支持HTTP推荐请求。ID映射、配置管理和异常处理等工程细节对服务稳定性影响显著。图5至图12展示了两个系统的实际运行截图,包括更新版性能对比图、消融实验详细视图、推荐输出示例和API响应结果。


图5. SVD与NCF性能对比图(更新版)

图5. SVD与NCF性能对比图(更新版)

图6. 嵌入维度消融实验详细视图

图6. 嵌入维度消融实验详细视图

图7. 网络层数消融实验详细视图

图7. 网络层数消融实验详细视图

图8. NCF推荐输出截图

图8. NCF推荐输出截图

图9. NCF API响应截图(FastAPI)

图9. NCF API响应截图(FastAPI)

图10. SVD推荐输出截图

图10. SVD推荐输出截图

图11. SVD API响应截图(Flask)

图11. SVD API响应截图(Flask)

图12. 内容推荐相似度输出截图

图12. 内容推荐相似度输出截图


总结来看,本文在同一数据集上系统对比了SVD截断分解与NCF深度推荐两种技术路线,覆盖评分预测与Top-K推荐双任务评估。消融分析为神经推荐模型在小数据集上的超参数选择提供了指南。TF-IDF内容推荐作为协同过滤的有力补充,有效缓解了物品冷启动问题。两个推荐管线均实现了从训练到API部署的完整闭环,为工业级推荐服务开发提供了模板参考。

展望未来,推荐系统的研究正朝着多模态融合(结合文本、图像、音频等多源信息)、因果推荐(超越相关性、挖掘因果性)和隐私保护推荐(联邦学习框架下的去中心化训练)等方向发展。随着大语言模型(LLM)的兴起,LLM驱动的推荐智能体也逐渐成为新兴研究方向,有望在交互式推荐场景中实现更自然的人机协同。