08 线性回归 + 基础优化算法【动手学深度学习v2】
自学,较基础
房价预测
关键词:权重和偏差
线性模型简单理解n元一次函数
平方损失:比较真实值与预测值
最小化平方损失-------求导-------导数=0-------得到显示解
基础优化方法
梯度下降(最优化知识)

小批量随机梯度下降
总结
-
批量梯度下降(Batch GD)
-
每次用 所有训练数据 计算梯度。
-
梯度方向最准确,但计算开销大,内存占用高。
-
-
随机梯度下降(Stochastic GD, SGD)
-
每次只用 一个样本 计算梯度。
-
更新快,但梯度方向抖动大,收敛不稳定。
-
-
小批量随机梯度下降(Mini-batch SGD)
-
每次用 一小批样本(batch size 10~512 常见) 计算梯度。
-
在计算效率和收敛稳定性之间取得平衡。
-
这是深度学习中最常用的方法。
-
代码
线性回归的从零开始实现
我们将从零开始实现整个方法,包括数据流水线、模型、损失函数和小批量随机梯度下降优化器
%matplotlib inline
import random
import torch
from d2l import torch as d2l
%matplotlib inline
作用是:让 matplotlib 画出的图表 直接嵌入在 Notebook 输出单元格里显示,而不是单独弹出窗口。
from d2l import torch as d2l
-
d2l
= Dive into Deep Learning (《动手学深度学习》) 提供的工具包。 -
它里面也有一个
torch
模块(封装了一些 PyTorch 训练、绘图、数据加载的常用函数),但是为了避免和真正的torch
冲突,这里把它重命名为d2l
一、构造人造数据集
目标线性模型
def synthetic_data(w, b, num_examples):X = torch.normal(0, 1, (num_examples, len(w)))y = torch.matmul(X, w) + by += torch.normal(0, 0.01, y.shape)return X,