归一化——5种方法详细分类说明
常用于数据范围已知,且目标是将数据归一化到固定范围(如 [0, 1])的场景,广泛应用于神经网络等需要定量计算的数据模型中。通过归一化,数据被调整到一定的标准范围内,常见的范围有 [0, 1] 或 [-1, 1],以消除不同特征在数量级上的差异。小数定标归一化通过将数据除以一个 10 的整数次幂,使归一化后的数据范围在 [-1, 1] 之间。最大值归一化是将数据除以它的绝对最大值,使数据的范围归一
归一化(Normalization)是一种数据预处理技术,旨在将不同量纲、不同取值范围的数据转换到相同的尺度上,以便进行更加公平、有效的比较或分析。
通过归一化,数据被调整到一定的标准范围内,常见的范围有 [0, 1] 或 [-1, 1],以消除不同特征在数量级上的差异。
一、常见的归一化方法
归一化的方法主要有以下几种,取决于具体的应用场景和数据特征:
1. Min-Max 归一化(Min-Max Normalization)
Min-Max 归一化是将数据线性映射到 [0, 1] 范围内。它的计算公式如下:
其中:
是原始数据,
是数据的最小值,
是数据的最大值,
是归一化后的数据,值域在[0,1]之间。
优点:保持数据间的比例关系,简单易行,适合有固定上下界的数据场景。
缺点:对极端值(outliers)敏感,如果数据中存在极端值,所有数据都可能被压缩到很小的区间。
例子:假设某个特征的数据范围为 [100, 500],如果要将它归一化到 [0, 1],对于某个数据点 200,则归一化计算为:
2. Z-score 归一化(标准化,Z-score Normalization)
Z-score 归一化通过减去均值再除以标准差,使得数据呈标准正态分布,均值为 0,标准差为 1。其公式为:
其中:
是原始数据,
是数据的均值,
是数据的标准差,
是归一化后的数据,具有零均值和单位标准差。
优点:不受极端值的影响,适合处理具有正态分布的数据。
缺点:如果数据分布不是高斯分布,效果可能较差;不能保证数据范围在 [0, 1] 之间。
例子:假设数据的均值为 200,标准差为 50,某个数据点为 300,计算 Z-score 归一化为:
3. 最大值归一化(Max Abs Scaling)
最大值归一化是将数据除以它的绝对最大值,使数据的范围归一化到 [-1, 1] 之间。其公式为:
其中:
是数据的最大绝对值,
是归一化后的数据,范围在 [-1, 1] 之间。
优点:简单快速,适合在数据分布中心为零时使用。
缺点:仍然对极端值敏感。
例子:假设数据的最大绝对值为 500,某个数据点为 250,归一化结果为:
4. 小数定标归一化(Decimal Scaling Normalization)
小数定标归一化通过将数据除以一个 10 的整数次幂,使归一化后的数据范围在 [-1, 1] 之间。其公式为:
其中:
是数据的最大值的位数(即) 。
优点:适合当数据范围比较固定且易于计算时使用。
例子:假设数据的最大值为 987,最大位数为 3,则将每个数据除以进行归一化,例如数据点 250:
5. 向量归一化(Vector Normalization)
向量归一化通常用于将向量的模长标准化,使整个向量的长度为 1。常用于文本处理、图像处理等领域。公式为:
其中是向量 的 欧几里得范数,即:
优点:在处理向量(如图像、文本等)的任务中非常有用,可以消除向量长度差异带来的影响。
例子:假设有一个向量[3,4],其模长为,归一化后得到的向量为:
二、不同归一化方法的应用场景
-
Min-Max 归一化:常用于数据范围已知,且目标是将数据归一化到固定范围(如 [0, 1])的场景,广泛应用于神经网络等需要定量计算的数据模型中。
-
Z-score 归一化:适合数据分布为正态分布或需要消除量纲影响的场景,常用于聚类分析和 PCA(主成分分析)等模型。
-
最大值归一化:适用于数据值围绕中心对称分布,且希望将数据映射到 [-1, 1] 区间的情况,常用于 SVM 等机器学习算法。
-
小数定标归一化:适合数据的取值范围较大,且位数变化相对固定的场景。
-
向量归一化:适用于向量数据,如文本分类、图像处理等领域,特别是当要消除向量大小的影响时。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)