目前,当新用户到来时,我无法更新我的推荐系统,这显然与未添加用户和项目矩阵有关。 我在哪里可以找到这个以及如何做到这一点?谢谢
模型.userFactors 模型.itemFactors
最佳答案
计算项目特征和用户特征时,模型仅准备为已知项目和用户推荐。如果您有新的用户/项目,您必须应对冷启动问题。
但是有两件事 - 为新用户/项目提供推荐,另一件事是近乎在线更新模型(特征矩阵)。
为了为新/匿名用户准备建议(模型构建时输入数据中没有这些建议),您必须准备其特征向量。该方法是根据已经看到的项目的特征(或您认为“喜欢”的任何类型的交互)来准备它,例如计算用户喜欢的项目中每个特征的平均值。或者查看 Oryx 代码中 building anonymous user feature vector 的方法
通过使用折叠技术来近在线更新您的模型(我写近,因为面对现实,真正的在线更新是不可能的),例如: Online-Updating Regularized Kernel Matrix Factorization Models for Large-Scale Recommender Systems. 瓯你可以看看代码:
- MyMediaLite
- Oryx - 使用 Lambda 架构范例构建框架。并且它应该具有包含新用户/项目的更新。
关于apache-spark - 如何处理 Spark ALS 从 MLlib 生成的模型中的新用户/项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36723429/