为什么要标准化?
(1) 消除量纲差异
-
问题:不同特征的单位和取值范围差异巨大(例如:坐标值可能为
[0, 1000]
,速度值为[0, 30]
,角度为[-π, π]
)。 -
后果:模型(如神经网络)会天然倾向于数值大的特征(如坐标),而忽略数值小的特征(如速度)。
-
解决:标准化将所有特征缩放到接近
0
均值、1
标准差的标准正态分布附近。
(2) 加速模型收敛
-
梯度优化:标准化后数据分布更对称,梯度下降方向更明确,避免模型在训练中“震荡”。
-
激活函数敏感度:如Sigmoid、Tanh在输入接近0时梯度最大,标准化让特征值落在激活函数的敏感区间。
(3) 增强泛化能力
-
消除数据分布偏移(如不同场景的坐标中心差异),提高模型对新场景的适应能力。
2. 标准化的公式
标准化通过以下公式将原始特征值转换为均值为 0
、标准差为 1
的分布:
标准化值= 原始值−均值(mean) / 标准差(std)
公式解读
-
均值(mean):特征的算术平均值,用于中心化(将数据平移到以0为中心)。
-
标准差(std):数据的离散程度,用于缩放数据到合理范围。
3. 标准化 vs. 归一化(Normalization)
方法 | 公式 | 适用场景 |
---|---|---|
标准化 | (x−μ)/σ | 特征分布近似高斯分布 |
归一化(Min-Max) | (x−min)/max−min | 特征边界明确(如图像像素值) |