2021-08-29 14:58:53
归一化(normalization)的理解
归一化是数据预处理中的一种重要技术,旨在将不同量纲或取值范围的特征转换到同一尺度下,以便进行后续的数据分析或机器学习模型训练。以下是关于归一化的详细解释:
一、归一化的目的
归一化的主要目的是消除不同特征之间的量纲差异,使得预处理后的数据被限定在一定的范围内(如[0,1]或[-1,1]),从而消除奇异样本数据导致的不良影响。奇异样本数据是指相对于其他输入样本特别大或特别小的样本矢量,它们的存在会引起训练时间增大,同时也可能导致模型无法收敛。通过归一化,可以使得目标函数更加“圆润”,加快梯度下降求最优解的速度,提高训练效率,并有可能提升模型的精度。
二、归一化的好处
三、归一化的方法
最大最小标准化(Min-Max Normalization)
方法:通过线性函数将原始数据转换到[0,1]的范围。计算公式为:X' = (X - X_min) / (X_max - X_min),其中X为原始数据,X_min和X_max分别为数据集中的最小值和最大值。
适用场景:数值比较集中的情况。但需要注意,如果max和min不稳定,归一化结果也会不稳定,因此可以用经验常量来替代max和min。
Z-score标准化
方法:将原始数据集归一化为均值为0、方差为1的数据集。计算公式为:X' = (X - μ) / σ,其中μ和σ分别为原始数据集的均值和标准差。
适用场景:在分类、聚类算法中,需要使用距离来度量相似性的时候,或者使用PCA技术进行降维的时候。Z-score标准化要求原始数据的分布可以近似为高斯分布。
神经网络归一化
方法:通过一些数学函数(如log对数函数、反正切函数等)将原始值进行映射,以消除不同特征之间的量纲差异。
适用场景:数据分化比较大的场景,有些数值很大,有些很小。需要根据数据分布的情况,决定非线性函数的曲线。
L2范数归一化
方法:特征向量中每个元素均除以向量的L2范数。计算公式为:X' = X / ||X||_2,其中||X||_2表示向量X的L2范数。
适用场景:主要用于向量数据的归一化处理,如文本分类、图像识别等领域。
四、归一化的应用场景
五、归一化的示例
以下是一个具有两个特征的样本数据归一化的示例:

在上述示例中,x6是一个奇异样本数据,其两个特征相对于其他样本而言相差比较大。如果不进行归一化,可能会导致训练时间增大,甚至无法收敛。通过归一化处理,可以将所有样本的特征值转换到同一尺度下,从而消除奇异样本数据的不良影响。
综上所述,归一化是数据预处理中不可或缺的一步,它有助于消除不同特征之间的量纲差异,提高模型的训练效率和精度。在实际应用中,需要根据数据的具体情况选择合适的归一化方法。