式中
我们采用梯度下降优化算法,慢慢朝着梯度的反方向不断迭代得到使损失函数最小的参数值,得到的参数值就是我们要求的每一个用户、物品的k维隐因子向量。
下面具体讨论下如何应用梯度下降算法,首先我们要搞清楚:
每一个样本是什么
未知参数是什么
我们要拟合的对象是用户物品关系矩阵,可以把矩阵中的每一个元素看成一个样本,每个样本就是用户对物品的评分,我们的预测过程就是让用户的隐因子向量与物品的隐因子向量做点积得到的预测分数逼近样本,隐因子向量之间的点积可以表示为:
其中
我们分别对
,

