1. 概述

在本教程中,我们将学习如何对表格或数据集中的特征进行标准化。

我们会先讨论标准化的用途以及适用场景,接着介绍三种最常见的特征标准化方法。

阅读完本文后,你将熟悉标准化的概念,并掌握其最常见实现方式的公式。


2. 标准化的基本概念

2.1. 什么是标准化?直觉上的理解

数据标准化之所以重要,是因为我们通常面对的原始数据集往往不是标准化后的。但在训练机器学习模型前,对数据进行标准化通常是非常有必要的。

我们来看一个例子:一个包含学生体重和身高的数据表:

学生 体重(kg) 身高(cm)
Dotty 89 182.1
Hamza 68 146.8
Devonte 75 170.5
Alex 68 154.8
Reiss 86 180.6

对应的散点图如下:

1

从图中可以看出,体重和身高之间似乎存在某种线性关系。我们可能想通过拟合一条直线来建模这种关系。

2.2. 参数训练的复杂性

我们考虑一个线性模型:
$$ y = ax + b $$

其中 $ a $ 是斜率,$ b $ 是截距。如果我们用随机的初始值 $ a = 0, b = 0 $ 开始训练,模型会像这样:

2

显然,这个模型离数据点差距很大。我们需要不断调整参数,直到拟合效果变好:

3

最终我们得到了一个不错的拟合结果:

4

但这个过程需要多次迭代,收敛速度较慢。

2.3. 如果数据是标准化的会怎样?

现在我们来看一组经过标准化处理后的数据:

学生 体重 身高
Dotty 0.562 0.429
Hamza -0.438 -0.571
Devonte -0.105 0.100
Alex -0.438 -0.344
Reiss 0.419 0.386

对应的散点图如下:

5

如果我们用同样的线性模型初始化参数,这次模型几乎一开始就贴近数据:

6

只需要稍微调整斜率就能很好地拟合数据:

7

这个例子说明:标准化可以显著加快模型训练的收敛速度

2.4. 为什么我们要做标准化?

总结一下:

✅ 标准化后的数据通常能加快模型训练
✅ 即使没有明显提升,也只是多了一些简单的数学运算(如减法和除法)
❌ 原始数据往往需要更长时间的参数搜索

所以,在没有特别理由的情况下,建议在训练模型前对数据进行标准化处理


3. 常见误区与术语区分

3.1. 标准化 ≠ 正态分布

标准化是一个过程,它通过某种规则将原始数据映射到一个新的范围或分布。而正态分布(Normal Distribution)是一种特定的分布形态(即高斯钟形曲线)。

⚠️ 二者不能混淆。标准化不一定会得到正态分布,正态分布也不一定来自于标准化。

3.2. 标准化 vs 标准差归一化(Standardization)

这两个术语容易混淆:

  • 标准化(Normalization):通常指将数据缩放到某个固定区间(如 [0, 1])
  • 标准差归一化(Standardization):通常指将数据转换为均值为 0、标准差为 1 的分布(适用于正态分布)

✅ 在阅读文献或文档时,务必注意作者使用术语的上下文含义。


4. 常见标准化方法

我们来看三种最常用的标准化方法:

4.1. 缩放到 [0, 1] 区间(Min-Max Scaling)

这是最常用的标准化方法之一,公式如下:

$$ f(x) = \frac{x - \min(x)}{\max(x) - \min(x)} $$

✅ 适用于数据分布不均匀、但无明显异常值的情况
❌ 对异常值敏感(极值会拉低其他值的缩放比例)

下图展示了对体重和身高的 Min-Max 标准化结果:

8

⚠️ 注意:如果 max(x) == min(x),会导致除以 0,需做异常处理。

4.2. 均值归一化 + 特征缩放(Mean Normalization with Feature Scaling)

该方法将数据中心化在均值附近,并缩放至 [0, 1] 范围:

$$ f(x) = \frac{x - \mu}{\max(x) - \min(x)} $$

其中 $ \mu $ 是特征的均值。

✅ 可以突出数据与均值的偏离
✅ 适用于数据有明显集中趋势的场景

4.3. 标准差归一化(Z-Score Normalization)

该方法利用均值和标准差进行标准化:

$$ f(x) = \frac{x - \mu}{\sigma} $$

其中 $ \mu $ 是均值,$ \sigma $ 是标准差。

✅ 适用于数据近似服从正态分布的情况
✅ 标准化后数据均值为 0,标准差为 1

下图展示了使用 Z-Score 标准化后的双变量分布:

9

4.4. 如何选择合适的方法?

选择标准化方法通常取决于任务本身和数据分布特性。建议:

✅ 在新数据集上尝试多种方法
✅ 比较模型训练速度和性能
✅ 选择效果最佳的方案


5. 总结

在本文中,我们学习了:

  • 什么是标准化,以及它为何重要
  • 标准化与正态分布、标准差归一化的区别
  • 三种常见的标准化方法及其适用场景
  • 如何选择最适合的标准化方式

标准化是数据预处理的重要一环,合理使用可以显著提升模型训练效率和性能。


原始标题:Normalize Features of a Table