实现随机梯度下降Python

时间:2017-06-03 12:37:16

标签: python machine-learning gradient-descent stochastic

我一直试图将随机梯度下降作为遵循这些方程式的推荐系统的一部分来实现:

enter image description here

我有:

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

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

非常感谢您的支持

1 个答案:

答案 0 :(得分:0)

更新 qi px 时,应交换 mu1 mu2

相关问题