From b1ea5449361a02bf0064ca6d314d40ca54ccbe9e Mon Sep 17 00:00:00 2001 From: Frank <16040285+FrankYinXF@users.noreply.github.com> Date: Sat, 8 Feb 2020 10:17:09 +1100 Subject: [PATCH] Update numpy_manual_grad.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 16行求导与目标函数(\min_{a, b} L(a, b) = \sum_{i=1}^n(ax_i + b - y_i)^2)不符。虽然程序可以这样,但是如果这样的相当于变相更改了learning_rate。 --- source/_static/code/zh/basic/example/numpy_manual_grad.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_static/code/zh/basic/example/numpy_manual_grad.py b/source/_static/code/zh/basic/example/numpy_manual_grad.py index f874901e..de868967 100644 --- a/source/_static/code/zh/basic/example/numpy_manual_grad.py +++ b/source/_static/code/zh/basic/example/numpy_manual_grad.py @@ -13,9 +13,9 @@ for e in range(num_epoch): # 手动计算损失函数关于自变量(模型参数)的梯度 y_pred = a * X + b - grad_a, grad_b = (y_pred - y).dot(X), (y_pred - y).sum() + grad_a, grad_b = 2*(y_pred - y).dot(X), 2*(y_pred - y).sum() # 更新参数 a, b = a - learning_rate * grad_a, b - learning_rate * grad_b -print(a, b) \ No newline at end of file +print(a, b)