在回归问题和一些机器学习算法中,以及训练神经网络的过程中,通常需要对原始数据进行中心化(Zero-centered或者Mean-subtraction)处理和标准化(Standardization或Normalization)处理。目的:通过中心化和标准化处理,得到均值为0,标准差为1的服从标准正态分布的数据。
计算过程由下式表示:
下面解释一下为什么需要使用这些数据预处理步骤。
在一些实际问题中,我们得到的样本数据都是多个维度的,即一个样本是用多个特征来表征的。比如在预测房价的问题中,影响房价
下图中以二维数据为例:左图表示的是原始数据;中间的是中心化后的数据,数据被移动大原点周围;右图将中心化后的数据除以标准差,得到为标准化的数据,可以看出每个维度上的尺度是一致的(红色线段的长度表示尺度)。
其实,在不同的问题中,中心化和标准化有着不同的意义,
比如在训练神经网络的过程中,通过将数据标准化,能够加速权重参数的收敛。
另外,对于主成分分析(PCA)问题,也需要对数据进行中心化和标准化等预处理步骤。
对数据进行中心化预处理,这样做的目的是要增加基向量的正交性。
对数据标准化的目的是消除特征之间的差异性。便于对一心一意学习权重。
本文引用自:https://www.zhihu.com/question/37069477/answer/132387124