☰
图解归一化
2026/9/26 6:20:06 网站建设 项目流程

一、概念

**归一化(Normalization)就是把数据按某种规则缩放到统一的尺度上,消除不同维度之间“量纲”和“数量级”的差异,让模型公平地对待每一个特征。**它不改变数据的相对关系,只改变数据的“刻度”。

结合实例理解,假设你要预测房价,只用两个特征:

样本面积(㎡)房间数真实房价(万)
A1203400
B852280
C2005700
  • 面积的数值范围是85~200(量级上百)
  • 房间数的数值范围是2~5(量级个位)

如果直接丢进线性模型y=w1x1+w2x2+by = w_1 x_1 + w_2 x_2 + by=w1​x1​+w2​x2​+b,会发生两件事:

1. 权重失去可比性。面积每增加 1㎡,房价可能涨 2 万;房间数每增加 1 间,房价可能涨 30 万。但因为面积的数值大 40 倍,它的权重w1w_1w1​会被压到很小(约 0.05 量级),而w2w_2w2​会很大(约 30 量级)。无法通过“看权重大小”来判断哪个特征更重要。

2. 梯度下降走得极其别扭(更本质的原因)。损失函数的等高线会变成一个极度拉长的椭圆。梯度方向总是垂直于等高线,所以更新轨迹会变成“之字形锯齿”:在长轴方向来回震荡,在短轴方向挪动极慢。学习率只能迁就最陡的方向,导致收敛慢几十倍甚至不收敛。

归一化之后,等高线接近正圆,梯度直指圆心,几步就能到位。这也是为什么归一化常常能让训练速度提升一个数量级。

二、不同层次的归一化

层次对象目的典型方法
① 特征层输入数据的每一列(特征)消除量纲,加速收敛Min-Max、Z-score、MaxAbs
② 网络层神经网络中间的激活值防止内部协变量偏移、稳定梯度、允许更大学习率BatchNorm、LayerNorm、RMSNorm
③ 向量层单个样本向量只看方向不看大小L2 归一化(单位向量)
1、Min-Max 归一化(最“标准”的归一化)

x′=x−xmin⁡xmax⁡−xmin⁡∈[0,1]x' = \frac{x - x_{\min}}{x_{\max} - x_{\min}} \quad \in [0, 1]x′=xmax​−xmin​x−xmin​​∈[0,1]

手算:面积列xmin⁡=85, xmax⁡=200x_{\min}=85,\ x_{\max}=200xmin​=85,xmax​=200

  • A:(120−85)/(200−85)=35/115≈0.304(120-85)/(200-85) = 35/115 \approx 0.304(120−85)/(200−85)=35/115≈0.304
  • B:(85−85)/115=0(85-85)/115 = 0(85−85)/115=0
  • C:(200−85)/115=1.0(200-85)/115 = 1.0(200−85)/115=1.0

特点:保留原始分布形状(线性变换),输出严格有界。
缺点:对异常值极度敏感。若 C 的面积是 2000㎡,则 A、B 都会被压缩到 0.02 附近,区分度几乎消失。
适用:图像像素(0~255 → 0~1)、边界明确的物理量、神经网络输入层。

2、 Z-score 标准化(Standardization,严格说叫“标准化”而非“归一化”)

x′=x−μσ,μ=1n∑xi, σ=1n∑(xi−μ)2x' = \frac{x - \mu}{\sigma},\qquad \mu=\frac{1}{n}\sum x_i,\ \ \sigma=\sqrt{\frac{1}{n}\sum(x_i-\mu)^2}x′=σx−μ​,μ=n1​∑xi​,σ=n1​∑(xi​−μ)2​

变换后均值为 0、标准差为 1,无固定上下界。

手算:面积均值μ=135\mu=135μ=135,标准差σ≈47.6\sigma\approx47.6σ≈47.6

  • A:(120−135)/47.6≈−0.315(120-135)/47.6 \approx -0.315(120−135)/47.6≈−0.315
  • B:(85−135)/47.6≈−1.05(85-135)/47.6 \approx -1.05(85−135)/47.6≈−1.05
  • C:(200−135)/47.6≈1.366(200-135)/47.6 \approx 1.366(200−135)/47.6≈1.366

特点:均值和标准差比 min/max 稳健一些,输出以 0 为中心。
适用:绝大多数场景的默认首选,尤其是数据近似高斯分布时。

3、MaxAbs 缩放

x′=xmax⁡(∣x∣)∈[−1,1]x' = \frac{x}{\max(|x|)} \quad \in [-1, 1]x′=max(∣x∣)x​∈[−1,1]

只做除法不做减法,不破坏稀疏性(0 还是 0)。
适用:稀疏矩阵、TF-IDF 文本特征、已经以 0 为中心的数据。

4、RobustScaler(抗异常值版)

x′=x−medianQ3−Q1x' = \frac{x - \text{median}}{Q_3 - Q_1}x′=Q3​−Q1​x−median​

用中位数和四分位距代替均值和标准差。
适用:含大量离群点的工业数据、传感器异常读数。

5、L2 归一化(向量层)

x′=x∥x∥2\mathbf{x}' = \frac{\mathbf{x}}{\|\mathbf{x}\|_2}x′=∥x∥2​x​

把每个样本向量缩成单位长度,只保留方向信息。
适用:文本 TF-IDF 向量后接余弦相似度、对比学习中的 embedding、SVM/RBF 核之前。

三、概念及用法区分
术语严格含义日常用法
归一化 Normalization缩放到固定区间(如 [0,1])泛指一切尺度变换
标准化 Standardization减均值除标准差,结果无界常与归一化混用
正则化 Regularization指加惩罚项抑制过拟合(L1/L2/Dropout)英文拼写相近,常被听错
BatchNorm / LayerNorm网络内部的归一化层也叫“BN层”“LN层”
四、激活函数和归一化特点

归一化负责把数据“送到激活函数最好用的区间”,激活函数负责在这个区间里“做非线性变换”。归一化决定了激活函数的输入zzz落在哪里,而激活函数的导数f′(z)f'(z)f′(z)又决定了梯度能不能传回去。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询