Normalization(归一化)
就是把所有特征的数值都拉到同一个尺度,别让某一列的大数字把模型带跑偏了
亦作、亦称:归一化 · min-max scaling · 最小最大缩放 · feature scaling · 特征缩放 · data normalization
归一化将原始特征值映射到统一尺度,是机器学习数据预处理的核心步骤之一。它能加速模型收敛、提升数值稳定性,并让不同特征在训练中获得公平权重。
概述
归一化(Normalization)是将特征值缩放到统一数值范围的数据预处理技术。
- 目标:消除不同特征因量纲差异对模型的影响,使各特征在训练中平等竞争
- 适用场景:KNN、SVM、逻辑回归、神经网络等对特征尺度敏感的算法
- 广义含义:包含 min-max scaling、Z-score 标准化,以及深度学习中的 Batch Norm / Layer Norm 等
- 核心效果:改善损失曲面形状,使梯度下降收敛更快、更稳定
工作原理
归一化通过数学变换将原始数值映射到目标范围。
- min-max scaling:公式
X' = (X - X_min) / (X_max - X_min),结果落在 [0, 1] - Z-score 标准化:公式
X' = (X - μ) / σ,结果均值为 0、标准差为 1 - L2 归一化:将样本向量缩放至单位范数,常用于文本、图像嵌入的相似度计算
- 关键原则:必须用训练集统计量(min、max、μ、σ)对验证集/测试集做相同变换,严禁数据泄漏
主要类型与变体
不同场景下有多种归一化方法可选。
- min-max scaling:保留原始分布形状,对异常值敏感;适合图像像素值(0
255 → 01) - Z-score 标准化(Standardization):对异常值鲁棒性更强,适合线性模型和 SVM
- Robust Scaling:使用中位数和四分位距,对离群点更稳健
- Batch Normalization(BN):在深度网络每一层对 mini-batch 激活值归一化,提出于 2015 年
- Layer Normalization(LN):对单个样本的特征维度归一化,适合 RNN 和 Transformer
应用场景
归一化在机器学习各子领域均有广泛应用。
- 表格数据预处理:KNN、SVM、线性回归等算法在归一化后性能显著提升
- 图像处理:像素值从 [0, 255] 归一化到 [0, 1] 或 [-1, 1],加速 CNN 训练
- NLP / Transformer:Layer Norm 是 BERT、GPT 等模型的标配组件
- 推荐系统:用户行为计数等数值特征经归一化后用于特征交叉
- 强化学习:对状态观测归一化,防止奖励信号和梯度被异常值主导
归一化与标准化的区别
「归一化」和「标准化」在中文语境常被混用,需注意区分。
- 归一化(min-max):输出范围固定为 [0, 1],受极端值影响大;适合已知上下界的特征
- 标准化(Z-score):输出无固定范围,对离群点更鲁棒;适合正态分布特征
- 深度学习中的「归一化层」:Batch Norm / Layer Norm 既不是 min-max 也不是 Z-score,而是对激活值做自适应归一化并引入可学习参数 γ 和 β
- 选择依据:数据分布特点、是否有异常值、算法对范围的要求
局限与误区
归一化使用不当会引入错误,需特别注意以下问题。
- 数据泄漏:用全量数据(包含测试集)计算统计量,会造成测试集信息污染,结果虚高
- 对异常值敏感:min-max scaling 遇到极端值会将正常值压缩到很小范围,建议先做异常值处理
- 树模型不需要:决策树、随机森林、XGBoost 基于分裂点而非距离,归一化对其无帮助
- 顺序错误:应在训练集上 fit,再 transform 训练集和测试集;切勿在整个数据集上 fit
- 混淆归一化与正则化:Normalization(归一化)是数据处理;Regularization(正则化)是防止过拟合的模型约束,两者完全不同
发展脉络
归一化技术随深度学习的演进而不断扩展。
- 1990s 以前:min-max scaling 和 Z-score 标准化已广泛用于统计学和早期机器学习
- 2015 年:Ioffe & Szegedy 提出 Batch Normalization,解决深层网络内部协变量偏移(Internal Covariate Shift),成为深度学习训练标配
- 2016 年:Ba et al. 提出 Layer Normalization,解决 BN 在小批量和 RNN 中的局限
- 2018 年:Group Normalization(何恺明等)提出,适合计算机视觉中 batch size 受限的场景
- 2019 年至今:Transformer 架构中 Pre-LN(前置层归一化)取代 Post-LN 成为主流,进一步稳定大模型训练
常见误解
日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。
- 「就是把所有特征的数值都拉到同一个尺度,别让某一列的大数字把模型带跑偏了」
- 「min-max 归一化就是把最小值变成 0、最大值变成 1,其他按比例缩放」
- 「Batch Norm 是归一化的升级版,专门用在神经网络里,让每一层的输入都保持稳定分布」
相关术语
和本术语关联紧密的其他词条,便于串联理解。
延伸阅读
从知识库精选 3 篇文章,帮助深入理解该术语。
外部参考
维基百科:查看「Normalization」词条本页内容为本站原创撰写;维基百科链接仅作延伸参考。