线性模型
深度学习的步骤:
1.DataSet准备数据集
2.Model选择模型
3.Training开始训练
4.Inferring应用,进行推理
数据集
拿到数据集以后需要分为训练集与测试集两个部分
通常在训练集中可以同时看到数据和结果,但是在测试集中只能看到数据,无法看到结果。
**过拟合:**例如训练的过程中将图像的噪声也学习进去了,导致实际使用过程中对于输入的图片不能很好地识别。
**泛化:**对于非训练集的图像也能有一个很好地识别。
为了提升训练模型的泛化能力,我们往往把训练集又分为训练集和开发集(验证集合),训练完成后对模型利用开发集进行一个验证,模型预测准确率达标后再放到测试集上进行测试。
模型的设计
损失函数:
找到一个最合适的w的值,将平均损失降到最低
寻求平均损失最小的w
import numpy as np
import matplotlib.pyplot as plt
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=[]
mse_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)
mse_list.append(l_sum/3)
plt.plot(w_list,mse_list)
plt.ylabel('Loss')
plt.xlabel('w')
plt.show()
python中for循环
代表x_val和y_val依次读取两个数组里面的值
《visdom》模型训练可视化工具