目录
在机器学习中为了解决分类和回归问题,通常需要对原始数据进行中心化与标准化处理。
1.背景
在数据挖掘和数据处理过程中,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。
2.目的
通过中心化和标准化处理,最终得到均值为0,标准差为1的服从标准正态分布的数据。可以取消由于量纲不同、自身变异或者数值相差较大所引起的误差。
3.原理
中心化(又叫零均值化):是指变量减去它的均值。其实就是一个平移的过程,平移后所有数据的中心是(0,0)。
标准化(又叫归一化): 是指数值减去均值,再除以标准差。
4.意义
在一些实际问题中,我们得到的样本数据都是多个维度的,即一个样本是用多个特征来表征的。比如在预测房价的问题中,影响房价的因素(特征)有房子面积、卧室数量等,很显然,这些特征的量纲和数值的量级都是不一样的,在预测房价时,如果直接使用原始的数据值,那么他们对房价的影响程度将是不一样的,而通过标准化处理,可以使得不同的特征具有相同的尺度(Scale)。简言之,当原始数据不同维度上的特征的尺度(单位)不一致时,需要标准化步骤对数据进行预处理。
5.标准化(归一化)优点及其方法
5.1标准化(归一化)两个优点:
1)归一化后加快了梯度下降求最优解的速度;
2)归一化有利于提高精度。
5.2标准化(归一化)两种方法:
1)min-max标准化(Min-MaxNormalization),也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0-1]之间。
转化函数如下:
其中max为样本数据的最大值,min为样本数据的最小值。这种方法有个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。
2)Z-score标准化(0-1标准化)方法,这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1。
转化函数如下:
6.归一化方法使用场景
在分类、聚类算法中,需要使用距离来度量相似性、或者使用PCA进行降维的时候,Z-score标准化方法表现更好。
在不涉及距离度量、协方差计算、数据不符合正态分布时,可使用min-max标准化方法。
原因:使用min-max标准化方法,其协方差产生了倍数值的缩放,因此这种方式无法消除量纲对方差、协方差的影响,对PCA分析影响巨大;同时,由于量纲的存在,使用不同的量纲、距离的计算结果会不同。
在Z-score标准化方法中,新的数据由于对方差进行了归一化,这时候每个维度的量纲其实已经等价了,每个维度都服从均值为0、方差1的正态分布,在计算距离的时候,每个维度都已经去了量纲,避免了不同量纲的选取对距离计算产生的巨大影响。
参考文献