每当我们想要预测一个数值时,就会出现回归问题。常见的例子包括预测价格(房屋、股票等)、预测住院时间(对于住院患者)、预测需求(对于零售销售)等等。并非每个预测问题都是经典的回归问题。稍后,我们将介绍分类问题,其目标是预测一组类别中的成员资格。
作为一个运行示例,假设我们希望根据房屋的面积(以平方英尺为单位)和年龄(以年为单位)来估算房屋的价格(以美元为单位)。要开发预测房价的模型,我们需要掌握由销售额组成的数据,包括每个房屋的销售价格、面积和年龄。在机器学习的术语中,数据集称为训练数据集或训练集,每一行(包含与一次销售对应的数据)称为示例( 或数据点、实例、样本)。我们试图预测的东西(价格)称为标签(或目标). 预测所依据的变量(年龄和面积)称为特征(或 协变量)。
%matplotlib inline
import math
import time
import numpy as np
import torch
from d2l import torch as d2l
%matplotlib inline
import math
import time
import numpy as np
import tensorflow as tf
from d2l import tensorflow as d2l
3.1.1. 基本
线性回归可能是解决回归问题的标准工具中最简单和最受欢迎的。追溯到 19 世纪初(高斯,1809 年,勒让德,1805 年),线性回归源于一些简单的假设。首先,我们假设特征之间的关系x和目标 y近似线性,即条件均值 E[Y∣X=x]可以表示为特征的加权和x. 由于观察噪声,此设置允许目标值仍可能偏离其预期值。接下来,我们可以假设任何此类噪声都表现良好,服从高斯分布。通常,我们会使用n来表示我们数据集中的示例数量。我们使用上标来枚举样本和目标,并使用下标来索引坐标。更具体地说,x(i)表示i-th 样品和 xj(i)表示其j-th 坐标。
3.1.1.1. 模型
每个解决方案的核心都是一个模型,该模型描述了如何将特征转换为对目标的估计。线性假设意味着目标(价格)的期望值可以表示为特征(面积和年龄)的加权和:
这里warea和wage称为 权重,并且b称为偏差(或偏移量或 截距)。权重决定了每个特征对我们预测的影响。当所有特征都为零时,偏差决定了估计值。即使我们永远不会看到任何面积恰好为零的新建房屋,我们仍然需要偏差,因为它允许我们表达特征的所有线性函数(而不是将我们限制在通过原点的直线上)。严格来说, (3.1.1)是输入特征的仿射变换,其特点是通过加权求和对特征进行线性变换,结合平移通过增加偏差。给定一个数据集,我们的目标是选择权重 w和偏见b平均而言,使我们的模型预测尽可能接近数据中观察到的真实价格。
在通常关注仅具有少量特征的数据集的学科中,明确表达模型的长格式,如 (3.1.1)中,是常见的。在机器学习中,我们通常使用高维数据集,在这种情况下使用紧凑的线性代数符号会更方便。当我们的输入包括 d特征,我们可以为每个特征分配一个索引(介于1和 d) 并表达我们的预测y^(通常,“帽子”符号表示估计值)作为
将所有特征收集到一个向量中 x∈Rd并将所有权重放入向量中 w∈Rd,我们可以通过点积来简洁地表达我们的模型w和x:
在(3.1.3)中,向量x对应于单个示例的特征。
评论
查看更多