首页 > 解决方案 > 需要帮助查找小批量梯度下降实现中的逻辑错误(协同过滤)

问题描述

我正在尝试实现小批量梯度下降,以便在给定 cust_id、item_id 和评级的情况下进行预测。

我已将效用矩阵(用户 x 项)分解为用户特征矩阵和项特征矩阵。这里的特征是指潜在特征。但是我得到了项目特征矩阵的巨大价值(在第一个时代本身的 e^140 范围内!!)

据我了解相同的算法,它是这样的 -

对于每个时期 {

对于所有迭代(迭代不是 1 个 epoch 中的批次){

更新项目特征矩阵

更新用户特征矩阵

}

检查 RMSE

}

实施失败的可能原因——

  1. 我怀疑我计算项目特征矩阵的逻辑是错误的
  2. 矢量化逻辑错误

我遵循了以下资源-

1.https://www.youtube.com/watch?v=4qJaSmvhxi8

  1. https://www.youtube.com/watch?v=-_4Zi8fCZO4

  2. https://upscfever.com/upsc-fever/en/data/en-exercises-25.html

这是我的实现的 google colab 链接-

https://colab.research.google.com/drive/1eSuyH7d97ppuDsxlv4EhWmTF1muCkHE5?usp=sharing

如果有人可以帮助我弄清楚我在这里做错了什么,那将有很大帮助。

标签: gradient-descentcollaborative-filteringmatrix-factorizationmini-batch

解决方案


推荐阅读