什么是特征缩放以及它在机器学习中为何重要?

2025年03月17日 | 阅读 9 分钟

在机器学习快速发展的领域中,预处理步骤可以决定模型成功的关键。其中一个重要的预处理步骤就是特征缩放。尽管经常被忽视,但特征缩放可以极大地影响机器学习算法的整体性能和准确性。这个过程涉及调整数据集中特征的值,使它们处于相似的尺度上,从而确保没有单一特征因其重要性而主导学习过程。理解和正确实施特征缩放对于开发健壮高效的机器学习模型至关重要。本文将探讨什么是特征缩放,实现它的各种技术,以及它在机器学习领域中为何如此重要。

什么是特征缩放?

特征缩放是机器学习中使用的一种数据预处理技术,用于调整数据集中特征(变量)的值,使它们处于相似的尺度上。这个过程至关重要,因为当数据集中数值特征的尺度相似时,许多机器学习算法表现更好或收敛更快。如果没有特征缩放,具有较大范围的特征可能会主导学习过程,导致模型性能不佳。

特征缩放确保每个特征对模型的学习过程贡献相等,防止具有较大值的特征扭曲结果。有几种常见的方法可以实现特征缩放。

1. 最小-最大缩放(归一化)

最小-最大缩放,也称为归一化,是一种特征缩放方法,它将特征的值转换为适应特定范围,通常在0到1之间。当您需要确保所有特征具有相同的尺度,防止任何单个特征因其值范围较大而主导模型时,此方法特别有用。

最小-最大缩放的工作原理

最小-最大缩放根据数据中观察到的最小值和最大值调整每个特征的值。转换由以下公式定义:

What is Feature Scaling and Why is it Important in Machine Learning

其中

  • X 是特征的原始值。
  • Xmin 是特征的最小值。
  • Xmax 是特征的最大值。
  • X′ 是特征的缩放值。

此方法重新缩放特征,使最小值变为0,最大值变为1,所有其他值在此范围内按比例缩放。

示例

考虑一个特征值范围从10到200的数据集。应用最小-最大缩放将如下转换这些值:

  • 计算特征的最小值 (Xmin) 和最大值 (Xmax)。在此情况下,Xmin=10 和 Xmax = 200。
  • 将缩放公式应用于每个值。例如,值50将被缩放为:
What is Feature Scaling and Why is it Important in Machine Learning

缩放后,特征值将在0到1之间。

最小-最大缩放的优点

  • 统一范围:所有特征都归到相同的尺度,通常是[0, 1],使机器学习算法更容易处理数据。
  • 保持关系:值之间的相对距离得到保持,确保数据中的原始关系不被扭曲。
  • 提高性能:许多机器学习算法,包括基于梯度下降的方法和基于距离的算法,如K-近邻 (KNN),在归一化数据下表现更好。

最小-最大缩放的缺点

  • 对异常值敏感:最小-最大缩放会受到异常值的显著影响,因为缩放使用了最小值和最大值。极端值会扭曲缩放过程。
  • 不适用于所有算法:某些算法,如基于树的方法(例如,决策树、随机森林),对特征缩放不敏感,可能不会从归一化中受益。

何时使用最小-最大缩放

在应用依赖距离计算的算法之前,例如K-近邻 (KNN) 和支持向量机 (SVM)。在使用基于梯度下降的优化算法时,因为它可能提高收敛速度。当特征具有不同单位或尺度且需要在相同尺度上进行比较时。

2. 标准化(Z-分数归一化)

标准化,也称为Z-分数归一化,是一种特征缩放技术,它将特征的值转换为均值为0和标准差为1。当您需要将数据居中并确保每个特征对模型的学习过程贡献相等时,此方法特别有用。

标准化的工作原理

标准化根据每个特征的均值和标准差调整其值。转换由以下公式定义:

What is Feature Scaling and Why is it Important in Machine Learning

其中

  • X 是特征的原始值。
  • μ 是特征的均值。
  • σ 是特征的标准差。
  • X′ 是特征的标准化值。

此公式重新缩放特征,使其新的均值 (μ') 为0,新的标准差 (σ′) 为1。

示例

考虑一个数据集,其中一个特征具有以下值:[10, 20, 30, 40, 50]。标准化的步骤将是:

计算特征的均值 (μ):

What is Feature Scaling and Why is it Important in Machine Learning
  • 计算特征的标准差 (σ):
What is Feature Scaling and Why is it Important in Machine Learning
  • 将标准化公式应用于每个值。例如,值10将被标准化为:
What is Feature Scaling and Why is it Important in Machine Learning

标准化后,特征值将具有零均值和一标准差。

标准化的优点

  • 数据居中:每个特征的均值为零,这对于期望数据围绕零居中的算法很有利。
  • 统一尺度:每个特征的标准差为1,确保所有特征对模型的学习过程贡献相等。
  • 提高算法性能:许多机器学习算法,特别是那些依赖距离度量(例如,K-近邻、SVM)和优化(例如,梯度下降)的算法,在标准化数据下表现更好。
  • 降低对异常值的敏感性:与最小-最大缩放相比,标准化对异常值的敏感性较低,因为它使用均值和标准差,而不是最小值和最大值。

标准化的缺点

  • 不适用于所有算法:某些算法,特别是基于树的方法(例如,决策树、随机森林),对特征缩放不敏感,可能不会从标准化中受益。
  • 假设高斯分布:标准化假设数据遵循高斯(正态)分布,但这并非总是如此。

何时使用标准化

在应用依赖距离计算的算法之前,例如K-近邻 (KNN) 和支持向量机 (SVM)。在使用基于梯度下降的优化算法时,例如线性回归、逻辑回归和神经网络,因为它可能提高收敛速度。当特征具有不同单位或尺度且需要在相同尺度上进行比较时。当数据遵循正态分布时,因为标准化假设这种分布。

3. 鲁棒缩放

鲁棒缩放是一种特征缩放技术,它使用对异常值具有鲁棒性的统计量(特别是中位数和四分位距 (IQR))来转换特征的值。当您的数据包含可能扭曲其他缩放技术(如最小-最大缩放和标准化)结果的异常值时,此方法特别有用。

鲁棒缩放的工作原理

鲁棒缩放根据中位数和四分位距 (IQR) 调整每个特征的值。转换由以下公式定义:

What is Feature Scaling and Why is it Important in Machine Learning

其中

x 是特征的原始值。

中位数是特征的中位数。

IQR 是特征的四分位距,即75百分位数 (Q3) 和25百分位数 (Q1) 之间的差值。

X′ 是特征的鲁棒缩放值。

此方法通过将特征居中于中位数并根据IQR进行缩放来重新缩放特征,从而减少异常值的影响。

示例

考虑一个数据集,其中一个特征具有以下值:[10, 20, 30, 40, 50, 100]。鲁棒缩放的步骤将是:

计算特征的中位数:

中位数 = 35

(因为30和40是中心值,所以中位数是这两者的平均值)

(30 + 40) / 2).

计算四分位距 (IQR):

IQR = Q3 - Q1 = 45 - 15 = 30

Q1(25百分位数)是15(10和20的平均值)。

Q3(75百分位数)是45(40和50的平均值)。

将鲁棒缩放公式应用于每个值。例如,值10将被缩放为:

What is Feature Scaling and Why is it Important in Machine Learning

鲁棒缩放后,特征值将围绕中位数居中并根据IQR进行缩放。

鲁棒缩放的优点

  • 处理异常值:与使用均值和标准差或最小值和最大值的其他缩放技术相比,鲁棒缩放对异常值的敏感性较低,因为它使用中位数和IQR。
  • 保持一致缩放:特征以减少极端值影响的方式进行缩放,确保异常值不会扭曲结果。

鲁棒缩放的缺点

  • 并非总是必要:如果您的数据不包含显著的异常值,其他缩放技术(如标准化或最小-最大缩放)可能更合适。
  • 计算复杂性:对于极其庞大的数据集,计算中位数和IQR可能计算密集。

何时使用鲁棒缩放

当您的数据集包含可能扭曲其他缩放技术结果的异常值时。当您需要确保缩放不受极端值影响,使其更能代表数据的主要趋势时。当您需要一个强大的预处理步骤来提高对特征缩放敏感的模型(如线性模型、支持向量机 (SVM) 和神经网络)的性能时。

为什么特征缩放很重要?

特征缩放是机器学习数据预处理阶段的关键一步。它涉及转换数据集中特征的值,以确保它们处于相似的尺度上。这种转换至关重要,原因有以下几点,每一点都 contributes to 机器学习模型的整体性能和有效性。

1. 提高算法性能

许多机器学习算法依赖于数据点之间的距离来进行预测。像K-近邻 (KNN) 和支持向量机 (SVM) 这样的算法使用距离度量来分类数据点或找到最优超平面。如果特征具有不同的尺度,那些值较大的特征将主导距离计算,导致结果出现偏差。特征缩放确保每个特征对距离计算贡献相等,从而提高算法的性能。

2. 加速优化算法的收敛

优化算法,例如梯度下降,用于训练线性回归、逻辑回归和神经网络等模型。这些算法执行迭代更新以最小化成本函数。当特征处于巨大不同的尺度时,成本函数的“地形”会变得扭曲,导致优化过程需要更长时间才能收敛。特征缩放使特征的尺度标准化,从而使成本函数地形更平滑,收敛速度更快。

3. 确保正则化模型中特征的可解释性

Lasso (L1) 和 Ridge (L2) 回归等正则化技术根据系数的大小对模型施加惩罚。如果特征未缩放,正则化项可能会不成比例地惩罚值较大的特征,导致次优模型。特征缩放确保正则化惩罚在所有特征上均匀应用,提高模型的可解释性和整体性能。

4. 提高模型准确性

许多机器学习算法假设数据以0为中心且标准差为1。偏离此假设会降低模型准确性。通过缩放特征,您可以使数据与这些假设对齐,从而提高模型的准确性和性能。

5. 改进模型训练

神经网络和其他复杂模型受益于特征缩放,因为它确保输入特征处于相似的尺度。这种一致性有助于在训练过程中高效地更新权重,减少模型陷入局部最小值或收敛时间过长的可能性。

6. 便于特征比较

当特征缩放到相似范围时,比较它们变得更容易。这在需要解释特征重要性或系数的模型中特别有用,例如线性回归或逻辑回归。缩放确保模型的系数具有可比性和可解释性,有助于更好地理解和决策。

何时应用特征缩放?

  • 训练前:在拟合模型之前,务必缩放您的训练数据。这可确保模型从数据中准确学习。
  • 交叉验证前:应用缩放以避免数据泄露,确保缩放参数仅从训练集中导出。
  • 始终如一:对训练数据和测试数据应用相同的缩放,以保持一致性并避免偏差。