【问题标题】:Implementing Stochastic Gradient Descent Python实现随机梯度下降 Python
【发布时间】:2017-06-03 12:37:16
【问题描述】:

我一直在尝试按照以下公式将随机梯度下降作为推荐系统的一部分:

我有:

for step in range(max_iter):
        e = 0
        for x in range(len(R)):
            for i in range(len(R[x])):
                if R[x][i] > 0:
                    exi = 2 * (R[x][i] - np.dot(Q[:,i], P[x,:]))
                    qi, px = Q[:,i], P[x,:]

                    qi += _mu_2 * (exi * px - (2 * _lambda_1 * qi))
                    px += _mu_1 * (exi * qi - (2 * _lambda_2 * px))

                    Q[:,i], P[x,:] = qi, px

我期望的输出不太正确,但我无法真正确定它。 请帮助我找出我的代码中存在的问题。

非常感谢您的支持

【问题讨论】:

  • 你有没有想过这个问题?我也在寻找解决方案。
  • 不幸的是我从来没有这样做过。但我想我应该问问我这道考得 100 分的同学们的解决方案。

标签: python machine-learning gradient-descent stochastic


【解决方案1】:

当你更新qipx时,你应该交换mu1mu2

【讨论】:

  • 我花了 4 年时间才意识到应该交换 mu1 和 mu2。就像你建议的那样:)
猜你喜欢
  • 2021-02-20
  • 2016-09-25
  • 2011-07-04
  • 2017-02-19
  • 2016-06-13
  • 1970-01-01
  • 2018-07-14
  • 1970-01-01
  • 2013-11-22
相关资源
最近更新 更多