Slide 35
Slide 35 text
実装コード(繰り返し処理)
次に繰り返し処理部分です。
# 繰り返しループ
for k in range(iters):
# 予測値の計算
yp = pred(x, w)
# 誤差の計算
yd = yp - yt
# 勾配降下法の実装
w = w - alpha * (x.T @ yd) / M
# 学習曲線描画⽤データの計算、保存
# 重みベクトル値の取得
w0 = float(w[0])
w1 = float(w[1])
# 損失関数値の計算
L = np.mean(yd ** 2) / 2
# 計算結果の記録
line = np.array([k, L, w0, w1])
history = np.vstack((history, line))
# 画⾯表⽰
print( "iter = %d L = %f w0 = %f w1 = %f" % (k, L, w0, w1))
勾配降下法の本質的な部分はこの3⾏だけ
グラフ表⽰、途中経過表⽰のためのコード