Model-based方法,本质上是将推荐问题转化成一个机器学习预测问题,通过用户对物品的历史评分,来预测用户对于未知物品的评分,并将预测评分最高的物品集合推荐给用户。
于是,我们采用机器学习方法,利用已知的用户对物品的评分,训练一个回归模型。其原理是,我们初始化一个随机的用户和物品的特征矩阵U和V,将用户和物品向量乘积得到的预测评分,去拟合真实的用户物品评分,利用预测分和真实分的误差平方(MSE)作为损失函数,去不断迭代学习用户和物品的向量矩阵。
具体实现如下,假设用户i对物品j的评分为r,我们将用户i映射到一个k维向量u,物品j映射到一个k维向量v,向量u和v的乘积为用户i对物品j的预测得分r*。这就是一条样本,针对所有的样本,我们可以得到模型的目标函数:
针对这一目标函数,我们通过梯度下降法进行求解u和v。当预测分和真实分的误差足够小时,我们就可以得到准确的用户和物品的特征向量,进而推算出用户对于未知物品的评分。通常,训练的样本量越大,结果也越准确。
以上内容为转载,自己学习记录的心得。