一、overview
二、Linear_Model(线性模型)
模型学习:DataSet(数据集) -> Model(模型) -> Training(训练) -> inferring(推理)
训练时如果y值已知的学习是监督学习。数据分为训练集(用于学习)和测试集(用于比对)。
在训练过程中,为了避免过拟合,将训练集中的一部分划分为开发集。
Training Loss针对一个样本Mean Square Error(MSE平均平方误差)针对整个训练集
代码实现
/绘图
import numpy as np
import matplotlib.pyplot as plot
/输入样本
x_data = [1.0,2.0,3.0]
y_data = [2.0,4.0,6.0]
/定义模型
def forward(x):
return x * w
/定义损失函数
def loss(x,y):
y_pred = forward(x)
return (y_pred - y) *(y_pred - y)
w_list = []
mes_list = []
for w in np.arange(0.0,4.1,0.1):
print('w=',w)
l_sum = 0
for x_val,y_val in zip(x_data,y_data):
y_pred_val = forward(x_val)
loss_val = loss(x_val,y_val)
l_sum +=loss_val
print('\t',x_val,y_val,y_pred_val,loss_val)
print('MSE=',l_sum/3)
w_list.append(w)
mes_list.append(l_sum/3)
plt.plot(w_list,mes_list)
plt.ylabel('LOSS')
plt.xlabel('w')
plt.show()