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

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

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

在机器学习中,这个数据集称为训练集(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

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

相关推荐
王锋(oxwangfeng)3 分钟前
基于多模型融合的交通灯状态感知系统
人工智能·自动驾驶
康康的AI博客4 分钟前
AI模型压缩与优化:如何通过蒸馏提升模型的运行效率
大数据·人工智能
RoboWizard5 分钟前
内容创作者如何用金士顿存储搭建AI本地大模型主机
人工智能
中电金信6 分钟前
中电金信:2025年度精选技术文章汇总
人工智能
A洛7 分钟前
OpenAI Codex CLI 完整速查表:命令、配置、MCP 一网打尽
人工智能·chatgpt·codex·claude code
藦卡机器人12 分钟前
国产包装机器人品牌推荐
大数据·人工智能·机器人
.小墨迹13 分钟前
局部规划中的TEB,DWA,EGOplanner等算法在自动驾驶中应用?
开发语言·c++·人工智能·学习·算法·机器学习·自动驾驶
阿杰学AI15 分钟前
AI核心知识99——大语言模型之 Agent Skill(简洁且通俗易懂版)
人工智能·ai·语言模型·aigc·agent·agent skill·智能体技能
AI科技星17 分钟前
张祥前统一场论 22 个核心公式及常数
服务器·人工智能·线性代数·算法·矩阵·概率论
觅特科技-互站17 分钟前
成本算账表更新:自建GPU集群 vs 矩阵跃动一体机年TCO对比|隐藏成本占41%(附Excel下载)
排序算法·线性回归