1、数学含义
y = w * x
loss = (y_pred - y)^2
2.含义解释
通过简单的线性函数来对未知数x及y建立映射
在每次取不同的w时计算预测y_pred和真实值y的差值,以观看那个w最佳
3.代码实现
import numpy as np
from matplotlib import pyplot as plt
import math
# 数据
x_data = [1.0,2.0,3.0]
y_data = [2.0,4.0,6.0]
#线性传播,计算y = w * x
def forword(x):
return x * w
#计算损失loss = (y_pred - y)^2
def loss(x,y):
y_pred = forword(x)
return math.pow(y_pred - y,2)
#初始化w_list和mse_list
w_list = []
mse_list = []
#训练模型
for w in np.arange(-4.0,8.0,0.1):
list_sum = 0
for x,y in zip(x_data,y_data):
loss_val = loss(x,y)
list_sum =list_sum + loss_val
mse_val = list_sum/x.__sizeof__()
w_list.append(w)
mse_list.append(mse_val)
#数据可视化
plt.plot(w_list,mse_list)
plt.ylabel('loss')
plt.xlabel('w')
plt.show()
4.结果展示

本文探讨了线性模型 y = w*x 中权重w的选择过程,通过计算预测值与真实值的误差平方(loss = (y_pred - y)^2)来寻找最佳权重。通过代码实例展示了如何使用梯度下降法训练模型并可视化损失与权重的关系。

被折叠的 条评论
为什么被折叠?



