引言

为了消除数据特征之间的量纲影响 ,我们需要对特征进行归一化处理 , 使得不同指标之间具有可比性。 例如,分析一个人的身高和体重对健康的影响 , 如果使用米( m) 和千克( kg )作为单位 , 那么身高特征会在 1.6 ~ l.8m 的数值范围内 , 体重特征会在50 ~ 100kg 的范围内, 分析出来的结果显然会倾向于数值差别比较大的体重特征。 想要得到更为准确的结果,就需要进行特征归一化( Normalization )处理,使各指标处于同一数值量级,以便进行分析。

归一化的方法

对数值类型的特征做归一化可以将所有的特征都统一到一个大致相
同的数值区间内 。 最常用的方法主要再以下两种。
( 1 )线性函数归 化( Min-Max Scaling )
它对原始数据进行线性变换,使结果映射到[0, 1 ]的范围,实现对原始数据的等比缩放。归一化公式如下:
机器学习:特征归一化( Normalization )的方法和原因
其中 X为原始数据, X m a x X_{max} Xmax X m i n X_{min} Xmin分别为数据最大值和最小值。

( 2 )零均值归一化( Z-Score Normalization )
它会将原始数据映射到均值为 0、标准差为1 的分布上。 具体来说, 假设原始特征的均值为 μ、标准差为 σ,那么归一化公式定义为
机器学习:特征归一化( Normalization )的方法和原因

为什么需要对数值型特征做归一化

我们不妨借助随机梯度下降的实例来说明归一化的重要性。假设有两种数值型特征, X 1 X_1 X1的取值范围为[0,1] , X 2 X_2 X2的取值范围为[0, 3],于是可以构造一个目标函数符合图 1.1( a )中的等值图。

在学习速率相同的情况下, X 1 X_1 X1的更新速度会大于 X 2 X_2 X2, 需要较多的迭代才能找到最优解。如果将 X 1 X_1 X1 X 2 X_2 X2 归一化到相同的数值区间后,优化目标的等值图会变成图1. 1 (b )中的圆形, X 1 X_1 X1 X 2 X_2 X2 的更新速度变得更为一致,容易更快地通过梯度下降找到最优解 。
机器学习:特征归一化( Normalization )的方法和原因

归一化的应用场景

当然 ,数据归一化并不是万能的。 在实际应用中,通过梯度下降法求解的模型通常是需要归一化的 ,包括逻辑回归、线性回归、逻辑回归、支持向量机、 神经网络等模型。 但对于决策树模型则并不适用 , 以C4.5 为例,决策树在进行节点分裂时主要依据数据集 D 关于特征 x 的信息增益比,而信息增益比跟特征是否经过归一化是无关的,因为归一化并不会改变样本在特征 x 上的信息增益。

相关文章:

  • 2021-08-09
  • 2022-01-01
  • 2021-04-05
  • 2021-12-28
  • 2021-09-30
  • 2022-01-07
  • 2022-01-07
  • 2022-12-23
猜你喜欢
  • 2021-12-28
  • 2021-10-15
  • 2021-04-27
  • 2021-12-28
  • 2021-07-02
  • 2021-09-10
  • 2021-09-04
相关资源
相似解决方案