gradient-descent - 需要帮助查找小批量梯度下降实现中的逻辑错误(协同过滤)
问题描述
我正在尝试实现小批量梯度下降,以便在给定 cust_id、item_id 和评级的情况下进行预测。
我已将效用矩阵(用户 x 项)分解为用户特征矩阵和项特征矩阵。这里的特征是指潜在特征。但是我得到了项目特征矩阵的巨大价值(在第一个时代本身的 e^140 范围内!!)
据我了解相同的算法,它是这样的 -
对于每个时期 {
对于所有迭代(迭代不是 1 个 epoch 中的批次){
更新项目特征矩阵
更新用户特征矩阵
}
检查 RMSE
}
实施失败的可能原因——
- 我怀疑我计算项目特征矩阵的逻辑是错误的
- 矢量化逻辑错误
我遵循了以下资源-
1.https://www.youtube.com/watch?v=4qJaSmvhxi8
这是我的实现的 google colab 链接-
https://colab.research.google.com/drive/1eSuyH7d97ppuDsxlv4EhWmTF1muCkHE5?usp=sharing
如果有人可以帮助我弄清楚我在这里做错了什么,那将有很大帮助。
解决方案
推荐阅读
- html - CSS 平行列
- performance - Gatling : session.isFailed 返回 true,即使之前执行的请求已经成功
- c# - 使用并发集合进行并行处理
- excel - 将值范围写入单元格会导致 Excel 自动添加破坏评估的“@”
- javascript - 正则表达式:允许除四个之外的所有字符,限制包括下划线
- css - 边境 RadCheckBox Telerik
- javascript - jQuery 从 DOM 中抓取元素(简单,彻底解释 Q!)
- r - 在嵌套对象的函数环境中找不到对象
- r - 将列表中的公式传递给`rlang::exec`
- javascript - 向后端发表评论