Spark ALS-WR 为所有用户提供相同的推荐项目

数据挖掘 机器学习 推荐系统 阿帕奇火花
2022-03-11 10:38:27

我们正在尝试为具有多种商品类型(从快速移动的杂货店到低速移动的电子商品)的超市构建推荐系统。一些物品的购买频率更高,而一些物品只购买一次。

我们拥有来自 100 多个部门的 30K+ SKU 的 25K+ 客户 4 个月的购买历史数据。我们在 Spark 中运行 ALS-WR 来生成建议。令我们惊讶的是,我们收到了针对每个客户的前 15 条建议,这些建议非常笼统,没有太大变化。

我们已经尝试了几种方法来使推荐多样化,如下所示--计算的“评级”=标准化购买#-计算的“评级”=购买#的日志-计算的“评级”=1(如果购买#>1)-我们有使用以下参数组合 - lambda = 0.01 到 300,alpha = 5 到 50,等级 = 10、20、30 和迭代次数 = 10、20 - 考虑的偏好是明确的。

您认为 ALS 可以用于此类异构数据吗?如果是,哪些修改将使推荐多样化和个性化?

1个回答

否 - 交替最小二乘法 (ALS) 不适用于异构数据。

为异构数据构建推荐系统的一种选择是将项目分类为更常见和不太常见的项目。然后为每个垃圾箱建立一个单独的模型。那么结果就不会被普通的、通用的项目所支配。然后,可以通过从每个箱中获取加权样本来创建多样化和个性化的结果页面。