Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Linear Regression

线性回归通过最小二乘法拟合特征的加权和,以预测数值。内容涵盖其工作原理、假设、变体和 Python 代码。

线性回归是一种监督学习方法,它将输入特征的加权和加上一个常数,用于预测连续值,例如价格、温度或下个月的需求。只有一个特征时,它拟合一条直线 ŷ = w·x + b;有多个特征时,则拟合一个平面或超平面 ŷ = w₁x₁ + w₂x₂ + … + wₙxₙ + b。Adrien-Marie Legendre 于 1805 年发表了用于拟合线性回归的最小二乘法,Carl Friedrich Gauss 则于 1809 年发表了自己的论述。它仍然是数值预测建模中常用的首选模型,因为训练只需几毫秒、对数据量要求不高,而且每个权重都能说明特征每增加一个单位会使预测值改变多少。

线性回归的工作原理#

训练过程会选择权重和截距,使预测值尽可能接近训练数据中的真实目标值。普通最小二乘法通过残差平方和(即目标值与预测值之间的差)衡量接近程度,这等同于最小化均方误差(MSE),也就是回归的标准损失函数。平方误差会使损失曲线形成一个只有单一最小值的平滑碗状曲面,因此最佳权重存在闭式解,即正规方程 w = (XᵀX)⁻¹Xᵀy;库会使用 QR 或 SVD 等稳定的矩阵分解来计算,而不是显式求逆。对于规模过大而无法使用该方法的数据集,梯度下降或随机梯度下降可以通过迭代得到相同的权重;当特征经过标准化并缩放到相近范围时,收敛速度最快。

其他特征保持不变时,每个权重表示其对应特征增加一个单位会使预测值改变多少,因此模型易于审计。scikit-learn LinearRegression 估算器使用普通最小二乘法进行拟合;下面的示例会根据已知系数生成房价数据,并检查拟合结果与这些系数的接近程度:

import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
from sklearn.model_selection import train_test_split

# 500 synthetic homes: price = $50,000 + $150 per sq ft - $2,000 per year of age + noise
rng = np.random.default_rng(0)
X = np.column_stack([rng.uniform(800, 3000, 500), rng.uniform(0, 50, 500)])
y = 50_000 + 150 * X[:, 0] - 2_000 * X[:, 1] + rng.normal(0, 20_000, 500)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

# Fit by ordinary least squares
model = LinearRegression()
model.fit(X_train, y_train)

print(f"Per sq ft: {model.coef_[0]:.1f}, per year: {model.coef_[1]:.0f}, intercept: {model.intercept_:.0f}")
print(f"Test R^2: {r2_score(y_test, model.predict(X_test)):.3f}")

拟合结果得出的每平方英尺价格为 147.7 美元,真实值为 150 美元;房龄每增加一年,价格下降 1,992 美元,真实值为下降 2,000 美元;模型还能解释留出房价中 96.2% 的方差(R² = 0.962)。R² 表示模型能够解释的目标方差比例,而均方根误差(RMSE)则以目标值本身的单位报告典型误差。

假设与诊断#

线性回归假设目标值的平均值是输入的加权和、误差相互独立,并且误差的离散程度在预测值范围内大致保持恒定;权重的置信区间和 p 值也假设误差大致服从正态分布。输入可以是原始特征的任意固定变换,因此通过特征工程添加特征的平方项、对数或乘积,仍然得到线性回归,只不过这种线性回归可以拟合曲线。将残差对预测值作图是标准检查方法:弯曲的形态说明缺少非线性项,扇形则表示误差随预测值增大,这通常可以通过对目标值进行对数变换来解决。平方误差还会让少数异常值将拟合结果拉向自身,而 Huber 损失等稳健损失可以降低异常值的影响。

当特征之间高度相关时,数据中的微小变化就会让它们的权重大幅波动。岭回归会对权重平方加上惩罚项,使权重收缩;套索回归会对权重绝对值加上惩罚项,使部分权重恰好变为零,从而筛选特征;弹性网络则结合了这两种方法。这些形式的正则化接受少许偏差,以换取更低的方差,这就是偏差-方差权衡;当特征数相对于样本数较多时,它们还能限制过拟合。

深度学习中的线性回归#

用于预测数值的神经网络通常以线性层作为输出层,因此最后一步是在前面各层学到的特征上进行线性回归;而使用 MSE 训练且没有隐藏层的网络,恰好就是线性回归。目标检测模型会用这种方式预测边界框坐标。在YOLO26中,检测头的每个边界框分支都以一个 1×1 卷积层结束,该层将每个网格位置的特征线性映射为从该位置到边界框边缘的四个距离;训练时,模型通过 L1 损失惩罚这些距离,同时使用 CIoU 损失计算边界框重叠度。

应用场景#

  • 预测:零售商和公用事业公司会根据价格、促销、温度和日历指标回归销售额或电力负荷;拟合的趋势线通常是更复杂预测模型的常见基线。
  • 定价与估值:享乐定价模型会根据房屋面积、房龄和地段回归房价,每个权重表示该属性每增加一个单位对应的市场价值。
  • 效应估计:经济学家和健康研究人员会根据一个关注因素及控制变量回归某项结果(例如工资或血压),以估计在其他因素保持不变时,该结果会如何随关注因素变化。
  • 校准曲线:实验室会根据参考样本的已知浓度回归仪器读数,然后对拟合直线求逆,将新样本的读数转换为浓度。
  • 逻辑回归:将相同的加权和输入 sigmoid 函数,输出介于 0 和 1 之间的概率,以此解决分类问题;训练时使用对数损失,而非平方误差。
  • 多项式回归:拟合特征的幂次项(例如 x 和 x²),本质上是在扩展后的特征上进行线性回归。
  • 决策树和 XGBoost 等提升树:将特征空间划分为多个区域,无需手工构造特征即可学习非线性效应和交互作用;但它们在每个区域内都只预测一个常数,因此无法将趋势外推到训练范围之外。
  • 相关性:皮尔逊相关系数 r 对称地衡量线性关系的强度;y 对 x 进行简单线性回归时,斜率等于 r 乘以 y 与 x 的标准差之比。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来