线性回归
回归(regression)是能为一个或多个自变量与因变量之间关系建模的一类方法。在自然科学和社会科学领域,回归经常用来表示输入和输出之间的关系。
在机器学习领域中的大多数任务通常都与预测(prediction)有关。当我们想预测一个数值时,就会涉及到回归问题。常见的例子包括:预测价格(房屋、股票等)、预测住院时间(针对住院病人等)、预测需求(零售销量等)。但不是所有的预测都是回归问题。
生成数据集
我们将根据带有噪声的线性模型构造一个人造数据集。我们的任务是使用这个有限样本的数
据集来恢复这个模型的参数。我们将使用低维数据,这样可以很容易地将其可视化。在下面的代码中,我们生成一个包含1000个样本的数据集,每个样本包含从标准正态分布中采样的2个特征。
我们使用线性模型参数w = [2, −3.4]⊤、b = 4.2 和噪声项ϵ生成数据集及其标签:
y = Xw + b + ϵ.
ϵ可以视为模型预测和标签时的潜在观测误差。在这里我们认为标准假设成立,即ϵ服从均值为0的正态分布。为了简化问题,我们将标准差设为0.01。下面的代码生成合成数据集。
import torch # 导入PyTorch库,用于张量计算和深度学习模型
from d2l import torch as d2l # 从d2l库中导入torch模块,并重命名为d2l,通常用于提供简化的深度学习工具函数
# 定义一个函数用于生成合成数据
def synthetic_data(w, b, num_examples