返回列表

12th place Writeup

487. H&M Personalized Fashion Recommendations | h-and-m-personalized-fashion-recommendations

开始: 2022-02-07 结束: 2022-05-09 商品推荐 数据算法赛
第12名 方案分享

第12名 方案分享

首先,我要感谢比赛主办方。
在这里,我将尝试总结我们解决方案的一些要点。

解决方案概览图

GBDT 部分 ( @onodera )

@onodera 尝试通过使用 GBDT (XGB) 构建 3 个模型来解决这个推荐任务。

  1. 复购 (Reorder)
    预测客户是否会购买其之前购买过的商品。
  2. 新品 Top1k (new item top1k)
    预测客户是否会购买过去 1 周内购买次数最多的商品(前 1000 名)。
  3. 其他颜色
    预测客户是否会购买其之前购买过的产品的不同颜色版本。

通过融合上述输出,在 Public LB 和 Private LB 上均获得了 0.03242 的分数。

神经网络部分 ( KF )

我使用了基于 @aerdem4 发布的优秀 baseline notebook 的端到端 (E2E) 神经网络方法。

  1. 学习候选商品与交易商品之间的度量关系
    • 将以下信息编码到商品的嵌入向量中
      • 商品元信息 ID(例如产品代码)
      • 通过 PCA 压缩的 EfficientNet 图像特征
      • 使用 Deep Walk 和 Word2Vec 生成的图嵌入
    • 使用以下分类损失进行训练。
  2. 二分类预测候选商品是否会被购买
    • 与每个候选商品相似的 Top 2~5 交易商品特征
      • 通过度量学习模块计算的相似度分数
      • 距离上次购买的时间统计特征
    • 优化 BCELoss 和 DiceLoss

每个单模型在 LB 上获得了 0.298~0.303 的分数。

神经网络堆叠 部分 ( @shimacos )

@shimacos 使用 LightGBM 从 KF 的多个神经网络模型中构建了 2 个堆叠 模型。
通过引入这些模型,加权融合的结果从 0.03377 提升到了 0.03394。

加权融合 ( KF )

我使用 Optuna 直接优化 MAP@12 指标,融合了 GBDT、NN 和堆叠 NN 模型。
最终获得了 CV: 0.04047,Public LB: 0.03389,以及 Private LB: 0.03394 的成绩。

同比赛其他方案