spark als java,如何为ALS更新Spark MatrixFactorizationModel

编辑:以下对我有用,因为我有隐含的反馈评级,并且只对新用户的产品排名感兴趣 . 更多细节here

您实际上可以使用训练模型获得新用户的预测(不更新):

要在模型中获得用户的预测,可以使用其潜在表示(大小为f(因子数)的向量u),乘以产品潜在因子矩阵(由所有产品的潜在表示形成的矩阵,一堆大小为f)的矢量,并给出每个产品的分数 . 对于新用户,问题在于您无法访问其潜在表示(您只能获得大小为M(不同产品数量)的完整表示,但您可以使用相似度函数来计算类似的潜在表示通过将乘以产品矩阵的转置来表示此新用户 .

即如果你的用户潜在矩阵是u而你的产品潜在矩阵是v,对于模型中的用户i,你可以通过这样做得到分数:u_i * v对于新用户,你没有潜在的表示,所以要充分利用表示full_u和do:full_u * v ^ t * v这将近似新用户的潜在因素,并应给出合理的建议(如果模型已经为现有用户提供了合理的建议)

为了回答训练问题,这允许您为新用户计算预测,而无需对模型进行大量计算,而现在您只能进行一次 . 因此,您可以在晚上进行批处理,并且仍然可以在白天对新用户进行预测 .

注意:MLLIB允许您访问矩阵u和v

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值