SGDM(带冲量的随机梯度下降)是SGD的一种改进,在SGD的基础上增加了冲量,可以加速收敛。 简单点说,就是每次更新参数时,不仅考虑当前的梯度,还考虑之前的梯度。使用动量代替梯度。 梯度下降以及批量梯度下降的原理不再赘述,这里只给出SGDM的公式: 其中, 是第 次迭代时的参数, 是学习率, 是第 次迭代时的梯度, 是冲量系数。 代码实现: def sgdm_linear_regression(X, y, learning_rate, momentum_decay, epochs): m, n = X.shape theta = np.zeros((n, 1)) v = np.zero...