数据标准化是指通过一定的方法和比例将数据映射到指定区间,根据使用函数的不同可以归纳为三类:直线型无量纲法、折线形无量纲法以及曲线型无量纲法。一些原始数据集是没有经过转化的有量纲数据,如果将其直接输入到模型中进行训练,受不同量纲特征的影响,会导致模型的收敛速度变慢,并且当特征量纲级别相差特别大时,模型可能会忽略掉量纲较小的特征而达不到理想效果。因此,在模型训练前,需要通过标准化方法将数据转换成无量纲数据,以消除量纲对模型产生的影响。常见的标准化方法有如下几种:
(1)min-max标准化(归一化):该方法是基于样本中的两个最值进行转换的,把最大值归为1,最小值归为0,其他值在其中分布。对于每个属性,设minA和maxA分别为属性A的最小值和最大值,将A的一个原始值x通过min-max标准化映射成在区间[0,1]中的值x’,其公式为:新数据=(原数据 - 最小值)/(最大值 - 最小值)。
(2)z-score标准化(规范化):一般把均值归一化为0,方差归一化1。基于原始数据的均值(mean)和标准差(standarddeviation)进行数据的标准化。将A的原始值x使用z-score标准化到x’。z-score标准化方法适用于属性A的最大值和最小值未知的情况,或有超出取值范围的离群数据的情况,其公式为:新数据=(原数据-均值)/标准差。
(3)正则化:数据正则化是将样本的某个范数(如L1范数)缩放到到位1,正则化的过程是针对单个样本的,对于每个样本将样本缩放到单位范数。
(4) log 对数转换: 该方法是将满足特定条件的样本序列通过对数函数进行转换。
(5)logistic 函数变换: 该方法是利用 Sigmoid 函数对数据进行转换。