文章目录
- 归一化的原因
- 1、最大最小归一化
- 2、Z-score标准化
- 3、不同方法的应用
归一化的原因
在进行机器学习训练时,通常一个数据集中包含多个不同的特征,例如在土壤重金属数据集中,每一个样本代表一个采样点,其包含的特征有经度、纬度、海拔、不同重金属含量等,这些特征所使用的量纲存在较大的区别,进而导致不同特征下的数值之间的差别也较大。在使用此数据集进行实验时,极有可能忽略了某些数值变化区间较小的特征指标对目标特征数据的影响,进而直接影响到实验的结果。
归一化前的数据:
为了解决上述问题,在使用该数据集进行相关实验前,通常需要使用归一化方法对数据进行预处理。归一化方法是机器学习中的一项基础工作,可以被通俗的理解为将不同的数据归为同一类。归一化方法有两种形式,一种为通过数学方法将所有的数据映射到0到1范围之内来方便进行处理,另外还有一种方式是将有量纲表达式变为无量纲表达式。由于在进行机器学习时,大部分情况都是将所有的数据映射到0到1范围之内即可,因此将分别针对这一形式中的几种归一化方法进行介绍。
归一化之后的数据:
1、最大最小归一化
最大最小归一化。这种方法是最简单的一种方法,它主要需要分别针对每一个特征变量,遍历这一个特征变量的所有值,然后保存其中的最大值与最小值,通过计算此特征变量中每个数值与最大值、最小值之间的比值关系来将此数值映射到区间0到1之中,具体的计算公式如下:
其中x表示原始数据,x_min表示此特征变量下的最小数值,x_max表示此特征变量下的最大数值,x^*表示归一化之后的数据。
由于归一化方法将数值映射到了区间0到1之间,而在训练的过程中需要通过输入特征与参数的计算获得输出值来拟合目标值,因此针对目标特征变量也要进行归一化处理,且此时训练获得参数值为针对归一化后的数据优化得来的。为了在使用训练好的模型进行预测的时候可以获得原量纲下的数据,则需要对计算得出的数据进行反归一化处理,此归一化方法下的反归一化计算方式如下:
2、Z-score标准化
此方法与最大最小归一化方法最大的不同点在于最大最小归一化方法利用的是同一特征变量下的最大值与最小值,而此方法利用的是同一特征变量下的平均值与标准差,经过此归一化方法进行归一化处理后的数据在数据分布上符合均值为0,标准值为1的标准正态分布。此归一化方法的计算公式如下:
其中μ表示此特征变量下的数值平均值,σ表示此特征变量下的数值标准差。
同理,在对目标特征变量进行训练时也需要对计算的结果进行反归一化以获得原量纲下的数据,此归一化方法对应的反归一化公式如下:
3、不同方法的应用
除上述两种归一化方法外,还存在一些归一化方法,如Sigmod函数转换、log函数转换以及反正切函数转换等,这些方法的应用相对较少,但其中心思想都是将数据值大小映射到区间0到1之间。
由于不同归一化方法的实现方式不同,因此它们在解决实际问题时的应用场景也有差别,例如在处理分类、聚类问题时,需要使用距离值来度量不同变量之间的相似性,此时选用Z-score标准化方法对数据进行归一化可以获得更好的效果,而在不涉及距离度量或数据的分布不符合正态分布时,使用最大最小归一化方法则更为合适。在使用协作复合神经网络模型对土壤重金属含量进行预测时由于使用的数据不涉及度量,因此采用的数据归一化方法为最大最小归一化。