作者:禅与计算机程序设计艺术
1.简介
推荐系统(Recommender System)是互联网时代最热门的话题之一。它通过分析用户的历史行为、偏好和兴趣等特征,为用户推荐可能感兴趣的内容或商品。其中一种常用的推荐系统算法——协同过滤算法(Collaborative Filtering Algorithm),就是基于用户之间的相似行为、历史记录和倾向进行推荐的。它的主要优点在于简单高效,不需要太多的计算资源。同时,基于用户的个性化推荐能够帮助用户获得更符合自身口味和喜好的内容。
本文将介绍Matrix Factorization及其衍生算法SVD与深度学习在协同过滤中的应用。相比于传统的协同过滤方法,Matrix Factorization算法可以有效地降低内存占用,并且取得较好的效果。深度学习的出现使得Matrix Factorization算法的复杂度大幅度减少,因此也成为解决推荐系统问题的重要工具之一。本文着重讨论这两种方法对协同过滤的影响及未来发展方向。
2.基础概念术语说明
2.1 Matrix Factorization
Matrix Factorization (MF) 是一种用于提取矩阵中隐含的模式的非负型分解模型,由下列过程组成:
- 将数据集中的矩阵M(m行n列)划分成m个k维列向量和n个k维行向量。
- 用k维列向量表示用户,用k维行向量表示物品。
- 把原始矩阵中的每个元素转换为两个向量内积的和: