实施随机梯度下降 Python
Implementing Stochastic Gradient Descent Python
我一直在尝试按照以下等式将随机梯度下降作为推荐系统的一部分来实现:
我有:
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
我期望的输出不太正确,但我不能真正指出它。
请帮助我确定我的代码中存在的问题。
非常感谢您的支持
当你更新qi和px时,你应该交换mu1和mu2.
我一直在尝试按照以下等式将随机梯度下降作为推荐系统的一部分来实现:
我有:
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
我期望的输出不太正确,但我不能真正指出它。 请帮助我确定我的代码中存在的问题。
非常感谢您的支持
当你更新qi和px时,你应该交换mu1和mu2.