机器学习&&深度学习——线性回归的基本元素

回归用来表示输入输出之间的关系。

用实际例子来解释一下线性回归:根据房屋的面积、房龄来估算房屋价格。为了实现这个预测放假的模型,需要收集一个真实的数据集,该数据集包括了房屋的销售价格、面积和房龄。

在机器学习中,这个数据集称为训练集(training set) ,每行数据称为样本(sample)数据点(data point) ,试图预测的目标称为标签(label)目标(target) 。预测所依据的自变量(面积和房龄)称为特征(feature)

通常,我们使用n来表示数据集中的样本数。对索引为i的样本,其输入表示为:
x ( i ) = [ x 1 ( i ) , x 2 ( i ) ] T x^{(i)}=[x_1^{(i)},x_2^{(i)}]^T x(i)=[x1(i),x2(i)]T

其对应的标签是:
y ( i ) y^{(i)} y(i)

线性回归的基本元素

线性模型

p r i c e = w a r e a ⋅ a r e a + w a g e ⋅ a g e + b price=w_{area}·area+w_{age}·age+b price=warea⋅area+wage⋅age+b

其中,w为权重,决定了每个特征对我们预测值的影响。b为偏置,指当所有特征取0时的预测值。

严格来说,上式是输入特征的一种仿射变换,其特点是通过加权和特征进行线性变换,并通过偏置项来进行平移。

而在机器学习中,通常使用高维数据集,建模时采用线性代数表示法会比较方便。当我们的输入包含d个特征时,我们将预测结果表示为:
y ^ = w 1 x 1 + . . . + w d x d + b \hat{y}=w_1x_1+...+w_dx_d+b y^=w1x1+...+wdxd+b

将所有的特征放到向量x中,并将所有权重放到向量w中,可以用点积来简洁地表达模型:
y ^ = w T x + b \hat{y}=w^Tx+b y^=wTx+b

显然,向量x只能对应于单个数据样本的特征。

用符号表示的矩阵X可以很方便地引用我们整个数据集的n个样本。其中,X的每一行是一个样本,每一列是一种特征

对于特征集合X,预测值可以通过矩阵-向量乘法表示为:
y ^ = X w + b \hat{y}=Xw+b y^=Xw+b

这个过程中的求和将使用广播机制,给定X和y,线性回归的目标就是找到一组权重向量w和偏置b:当给定从X的同分布中取样的新样本特征时,能使得新样本预测标签的误差尽可能小。

但即使确信特征与标签的潜在关系是线性的, 我们也会加入一个噪声项来考虑观测误差带来的影响。

因此,在开始寻找最好的模型参数w和b之前,还需要两个东西:

(1)一种模型质量的度量方式

(2)一种能够更新模型以提高模型预测质量的方法

损失函数

损失函数能够量化目标的实际值与预测值之间的差距。通常选择非负数作为损失,数值越小表示损失越小,完美预测的损失为0。

回归问题中最常用损失函数是平方误差函数:
l ( i ) ( w , b ) = 1 2 ( y ^ ( i ) − y ( i ) ) 2 l^{(i)}(w,b)=\frac{1}{2}(\hat{y}^{(i)}-y^{(i)})^2 l(i)(w,b)=21(y^(i)−y(i))2

常数1/2不会带来本质上的差别,但这样的形式会稍微简单一点(因为求导后常系数会变为1)。

由于平方误差函数中的二次方项,估计值和观测值之间较大的差异会导致更大的损失。为了度量模型在整个数据集上的质量,我们要计算在训练集n个样本上的损失均值(等价于求和):
L ( w , b ) = 1 n ∑ i = 1 n l ( i ) ( w , b ) = 1 n ∑ i = 1 n 1 2 ( w T x ( i ) + b − y ( i ) ) 2 L(w,b)=\frac{1}{n}\sum_{i=1}^nl^{(i)}(w,b) =\frac{1}{n}\sum_{i=1}^n{\frac{1}{2}(w^Tx^{(i)}+b-y^{(i)})^2} L(w,b)=n1i=1∑nl(i)(w,b)=n1i=1∑n21(wTx(i)+b−y(i))2

在训练模型时,希望寻找一组参数,这组参数能最小化在所有训练样本上的总损失。

解析解

线性回归是一个很简单的优化问题,线性回归的解可以用一个公式简单表达,这类解叫做解析解。

首先,将偏置b合并到参数w中,合并方法是在包含所有参数的矩阵中附加一列。我们的预测问题是最小化:
∣ ∣ y − X w ∣ ∣ 2 ||y-Xw||^2 ∣∣y−Xw∣∣2

这在损失平面上只有一个临界点,对应于整个取余的损失极小点。将损失关于w的导数设为0,得到解析解:
w ∗ = ( X T X ) − 1 X T y w^*=(X^TX)^{-1}X^Ty w∗=(XTX)−1XTy

但是解析解对问题限制太严格,不适合广泛应用于深度学习,接下来讲解随机梯度下降,几乎可以用来优化所有深度学习模型。

相关推荐
酌沧18 分钟前
AI做美观PPT:3步流程+工具测评+避坑指南
人工智能·powerpoint
狂师23 分钟前
啥是AI Agent!2025年值得推荐入坑AI Agent的五大工具框架!(新手科普篇)
人工智能·后端·程序员
星辰大海的精灵25 分钟前
使用Docker和Kubernetes部署机器学习模型
人工智能·后端·架构
victory043127 分钟前
SpiceMix enables integrative single-cell spatial modeling of cell identity 文章解读
人工智能·深度学习
新智元31 分钟前
半数清华,8 位华人 AI 天团集体投奔 Meta!奥特曼:砸钱抢人不如培养死忠
人工智能·openai
新智元34 分钟前
全球顶尖 CS 论文惊爆 AI「好评密令」!哥大等 14 所高校卷入,学术圈炸锅
人工智能·openai
l0sgAi39 分钟前
vLLM在RTX50系显卡上部署大模型-使用wsl2
linux·人工智能
DDliu39 分钟前
花半个月死磕提示词后,我发现:真正值钱的不是模板,是这套可复用的结构化思维
人工智能
腾讯云开发者39 分钟前
AI 浪潮下的锚与帆:工程师文化的变与不变 | 架构师夜生活
人工智能
JoernLee40 分钟前
机器学习算法:支持向量机SVM
人工智能·算法·机器学习