我一直试图将随机梯度下降作为遵循这些方程式的推荐系统的一部分来实现:
我有:
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
我期望的输出不是很正确,但我无法真正指出它。 请帮助我确定我的代码中存在的问题。
非常感谢您的支持
答案 0 :(得分:0)
更新 qi 和 px 时,应交换 mu1 和 mu2 。