定义损失函数 loss=(y^−y)2=(a⋅x+b−y)2, 可以看出,只要找到了正确的a值,就可以得到一个较小的loss函数值.
首先,我们采用穷举的方式查找最小的损失函数
本例题的目标就是找到一个组合适的x,b使得上式中的loss最小
import numpy as np
from matplotlib import pyplot as plt
data_x = [1, 2, 3]
data_y = [2, 4, 6]
loss_list = list()
a_list = list()
def forward(x):
return a * x
def lossFunction(x, y):
y_pred = forward(x)
loss = (y_pred - y) ** 2
return loss
def predict(x,a_):
return a_*x
if __name__ == '__main__':
for a in np.arange(0, 4, 0.1):
sum_loss = 0
for i in range(3):
sum_loss += lossFunction(data_x[i], data_y[i])
loss_list.append(sum_loss / 3)
a_list.append(a)
plt.figure()
plt.plot(a_list, loss_list)
# plt.title("")
plt.xlabe