梯度下降算法
梯度下降算法
数学公式
这里案例是用梯度下降算法,来计算 y = w * x
先计算出梯度,再进行梯度的更新
import numpy as np
import matplotlib.pyplot as plt
x_data = [1.0, 2.0, 3.0, 4.0]
y_data = [2.0, 4.0, 6.0, 8.0]
mse_list= []
w_list = []
w = 1.0 #注意:这里设初始权重为1.0
def forward(x):
return w*x
def const(xs, ys):
const = 0
for x, y in zip(xs, ys):
y_pred = forward(x)
const += (y_pred - y)**2
return const/ len(xs)
def gradient(xs, ys):
grad = 0
for x, y in zip(xs, ys):
grad += 2 * x * (w * x - y)
return grad / len(xs)
print(