标准化和归一化定义

无量纲化就是使不同规格的特征值转换到同一规格。常见的无量纲化方法有标准化和区间缩放法。

  • 归一化(Normalization):将一列数据变化到某个固定区间(范围)中,通常,这个区间是[0, 1],广义的讲,可以是各种区间,比如映射到[0,1]一样可以继续映射到其他范围,图像中可能会映射到[0,255],其他情况可能映射到[-1,1],数据的缩放比例仅仅和极值有关;

特征值无量纲化(标准化/归一化) - 图1范围[0,1]
特征值无量纲化(标准化/归一化) - 图2范围[-1,1]

  • 标准化(Standardization):将数据变换为均值为0,标准差为1的分布(不改变原始数据分布形态,只改变均值和标准差),变换后的数据没有严格的区间范围;

特征值无量纲化(标准化/归一化) - 图3

标准化和归一化的好处

  1. 在如回归模型的统计建模中,无量纲化让回归系数可对比,对应正则项(比如L1)的惩罚权重才一致。
  2. 许多要用到距离的计算,比如PCA、KNN、kmeans等等,特征值的量纲不同可能会导致距离的计算依赖于量纲较大的那些特征而得到不合理的结果。
  3. 参数估计使用梯度下降的方法求解最优化问题时, 归一化/标准化后可以加快梯度下降的求解速度,即提升模型的收敛速度。

特征值无量纲化(标准化/归一化) - 图4
特征值无量纲化(标准化/归一化) - 图5
原始数据不同特征的量纲不一致,二维数据分布更呈现椭圆扁平状,无量纲化后的数据分布更圆一点,梯度的方向与等高线切线方向垂直,所以扁平状的分布在梯度下降的过程中,走的路径更加的曲折。

思考

样本经过标准化和归一化后,同一特征下的值进行相同大小的平移及缩放,即不同样本在这个特征对应的值之间的相对值是没有发生变化,与预测值之间的关联也没有发生变化。虽然不同特征各自的平移及缩放的大小不一样,标准化或归一化后,特征之间的相关度会改变,但在模型拟合用到的特征是趋向彼此独立,相关程度低,所以标准化和归一化即使会改变特征之间的相关度 也对最终的模型拟合精度影响很小。
并不说所有模型都需要对样本做标准化或归一化处理,类似决策树没有涉及到任何和距离相关就可以不用。
因为归一化特征值的缩放比例仅仅和这个特征对应的最大最小有关,如果数据不稳定,存在极端的最大最小值,就不要用归一化。
通常在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,标准化表现更好,是更为通用化的手段,如果无从下手,可以直接使用标准化;在图像处理,必须将像素值归一化以适合特定范围(即RGB颜色范围为0到255)及典型的神经网络算法需要归一化到0-1范围的数据。