术语表

正常化

探索机器学习中规范化的力量!了解它如何增强模型训练、提高性能并确保强大的人工智能解决方案。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

归一化是机器学习(ML)和数据科学中广泛使用的一种基本数据预处理技术。它的主要目标是将数值数据特征调整到一个通用的标准范围,通常介于 0 和 1 或 -1 和 1 之间,而不会扭曲数值范围的差异。这一过程可确保所有特征对模型训练的贡献更加平等,防止固有值较大的特征(如数据集中的工资)与值较小的特征(如工作年限)相比对结果产生不成比例的影响。归一化对于对特征缩放敏感的算法尤为重要,例如深度学习(DL)中使用的基于梯度下降的方法和各种优化算法

规范化为何重要

现实世界的数据集往往包含尺度和单位大相径庭的特征。例如,在预测客户流失的数据集中,"账户余额 "的范围可能从数百到数百万不等,而 "产品数量 "的范围可能从 1 到 10 不等。如果不进行归一化处理,支持向量机(SVM)神经网络(NN)等计算距离或使用梯度的 ML 算法可能会错误地认为范围较大的特征更重要,原因仅仅在于其规模。而归一化技术则能公平竞争,确保每个特征的贡献都基于其预测能力,而非其大小。这将加快训练过程中的收敛速度(从减少的历时中可以看出),提高模型的准确性,并使模型更加稳定、稳健。这种稳定性在训练 Ultralytics YOLO等模型时,这种稳定性是非常有益的,因为可以提高平均精度 (mAP) 等指标。

常见的标准化技术

有几种重新调整数据比例的方法,每种方法都适用于不同的情况:

  • 最小-最大缩放:将特征调整到一个固定的范围,通常为 [0,1]。计算公式为(值 - 最小值)/(最大值 - 最小值)。这种方法保留了原始分布的形状,但对异常值比较敏感。
  • Z 值标准化(标准缩放):将特征的平均值调整为 0,标准差调整为 1:(值-平均值)/标准差。与最小值-最大值缩放不同,它不会将值绑定在特定范围内,这对于需要在限定区间内输入的算法来说可能是个缺点,但它能更好地处理异常值。有关这些方法和其他方法的更多信息,请参阅Scikit-learn 预处理文档
  • 稳健缩放:使用对异常值稳健的统计量,如四分位数间距 (IQR),而不是最小值/最大值或均值/极差。当数据集包含明显的异常值时,这种方法尤其有用。了解更多关于稳健缩放的信息

这些技术之间的选择通常取决于特定的数据集(如Ultralytics Datasets 中的数据集)和所使用的 ML 算法的要求。注释数据预处理指南通常涵盖与特定任务相关的规范化步骤。

标准化与批量标准化

重要的是要将规范化与相关概念区分开来:

  • 标准化:这种技术通常与 Z 分数标准化交替使用,它将数据转换为零均值和单位方差。标准化通常是将数据调整到一个固定的范围(如 0 到 1),而标准化则是将数据集中在均值周围,并根据标准差进行调整,而不一定将数据限制在一个特定的范围内。
  • 批量归一化这是一种训练过程中应用于神经网络的技术,特别是针对各层或激活层的输入。它对每个迷你批次的前一个激活层的输出进行归一化处理,通过减少内部协变量偏移问题来稳定和加速训练过程。与应用于初始数据集的预处理步骤的特征归一化(最小-最大或 Z-分数)不同,批归一化是网络架构本身的一部分,可在模型训练过程中动态调整。

标准化的应用

规范化是为各种人工智能(AI)和 ML 任务准备数据的一个普遍步骤:

总之,归一化是一个重要的预处理步骤,它能将数据特征扩展到一个一致的范围,改善许多机器学习模型的训练过程、稳定性和性能,包括使用Ultralytics HUB 等工具开发和训练的模型。它能确保公平的特征贡献,对于对输入规模敏感的算法来说至关重要,有助于提供更强大、更准确的人工智能解决方案

阅读全部