基于随机梯度下降的矩阵分解推荐算法(python)
SVD是矩阵分解常用的方法,其原理为:矩阵M可以写成矩阵A、B与C相乘得到,而B可以与A或者C合并,就变成了两个元素M1与M2的矩阵相乘可以得到M。矩阵分解推荐的思想就是基于此,将每个user和item的内在feature构成的矩阵分别表示为M1与M2,则内在feature的乘积得到M;因此我们可以利用已有数据通过随机梯度下降的方法计算出现有user和item最可能的feature对应到的M1与M2,这样就可以得到通过feature之间的内积得到user没有打过分的item的分数。本文所采用的数据是movielens中的数据,且自行切割成了train和test,但是由于数据量较大,没有用到全部数据。
下载地址
用户评论