PyTorch深度学习实践之线性模型

课程地址:2.线性模型_哔哩哔哩_bilibili

目录

笔记

评估模型(Training Loss)

MSE(均方误差)

 代码体现

对于ZIP的补充

课后作业

 结果展示


笔记

过拟合是机械学习中巨大的问题  过拟合→数据少 训练多

泛化→达到未训练的图片也能识别出

评估模型(Training Loss)

 选取合适的权重达到mean值最小  

MSE(均方误差)

PyTorch深度学习实践之线性模型_第1张图片

 代码体现

1.保存样本(训练集)

 2.定义模型/损失函数

 

 

 3.准备空列表保存数值

 4.根据数据进行画图

PyTorch深度学习实践之线性模型_第2张图片

对于ZIP的补充

 用法:1.同时遍历多个字典

            2.对多个元素同时进行排序

            3.对数据成对进行计算

            4.构建字典

参考:(14条消息) Python zip()用法,看这一篇就够了_PaulZhn的博客-CSDN博客_python zip

课后作业

PyTorch深度学习实践之线性模型_第3张图片

import numpy as np
import matplotlib. pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# 选取3x+1
x_data = [1.0, 2.0, 3.0]
y_data = [4.0, 7.0, 10.0]

# 定义模型 
def forward(x):
    return x * w + b

# 定义损失函数
def loss(x, y):
    y_pred = forward(x)
    return (y_pred - y)*(y_pred - y)


w = np.arange(0.0, 4.1, 0.1)
b = np.arange(-1.0, 5.1, 0.1)
[w, b] = np.meshgrid(w, b)

l_sum = 0
for x_val, y_val in zip(x_data, y_data):
    y_pred_val = forward(x_val)
    print(y_pred_val)
    loss_val = loss(x_val, y_val)
    l_sum += loss_val

# 创建3D画布
fig = plt.figure()
ax = Axes3D(fig)
# 标出x、y轴坐标
plt.xlabel('w', fontsize=20)
plt.ylabel('b', fontsize=20)

ax.plot_surface(w, b, l_sum/3, cmap='rainbow')
plt.show()

 结果展示

PyTorch深度学习实践之线性模型_第4张图片

 

你可能感兴趣的:(深度学习,pytorch,机器学习)