人工智能学习--归一化(Normalization)
概念
归一化是数据预处理中将不同量纲的特征数据缩放至同一尺度的过程,使特征值落在同一范围(如[0, 1]或[-1, 1])。归一化有助于消除量纲影响,提升算法的收敛速度和模型稳定性,尤其在梯度下降和距离计算等算法中尤为重要。
主要归一化方式
1. 最小-最大缩放(Min-Max Scaling)
- 原理:将数据缩放到指定范围内(如[0, 1]),公式为:
优点:
- 缩放后的数据在固定范围内,适合需要归一化输入的模型(如神经网络)。
- 易于实现,适用于对数值范围有要求的模型。
缺点:
- 对异常值敏感,异常值会拉大范围,影响归一化效果。
- 适用场景:数值差距较大、没有明显异常值的场景,特别适用于神经网络。
2. Z-score 标准化(Standardization)
- 原理:将数据按均值为0、方差为1进行标准化,公式为:
- Xstd=X−μσX_{\text{std}} = \frac{X - \mu}{\sigma}Xstd=σX−μ 其中,μ\muμ 是均值,σ\sigmaσ 是标准差。
- 优点:
- 对异常值相对不敏感,因为归一化过程受数据分布中心影响。
- 适用于数据有正态分布的情况。
- 缺点:
- 对于数值分布非正态、非对称的特征效果不佳。
- 适用场景:广泛用于线性模型、逻辑回归、SVM等需正态分布数据的场景。
3. 小数定标归一化(Decimal Scaling Normalization)
- 原理:将数据除以10的幂次,使所有数据缩放到[-1, 1],公式为: Xnorm=X10jX_{\text{norm}} = \frac{X}{10^j}Xnorm=10jX 其中,jjj 是使 ∣X∣<1|X| < 1∣X∣<1 的最小整数。
- 优点:简单直观,将数据调整到固定的[-1, 1]范围。
- 缺点:受数据分布形状限制,归一化效果较为有限。
- 适用场景:适合数值范围较小且无显著离群点的数据集。
4. 向量归一化(Vector Normalization)
- 原理:将样本值除以向量的L2范数,使每个样本的特征向量单位化: Xnorm=X∥X∥X_{\text{norm}} = \frac{X}{\|X\|}Xnorm=∥X∥X
- 优点:适用于计算余弦相似度的模型,有利于将数据缩放到单位向量。
- 缺点:若特征间存在强相关性,则无法保证良好表现。
- 适用场景:文本挖掘、图像处理、聚类等任务中余弦距离计算的场景。
不同方法适用的场景总结
- Min-Max Scaling:适合无异常值的数据集,尤其在神经网络等对数值范围敏感的模型中。
- Z-score Standardization:适合正态分布的数据和线性模型、SVM等模型。
- Decimal Scaling Normalization:适用于数值范围较小且分布均匀的数据集。
- Vector Normalization:适合计算相似度、文本和图像处理中对特征长度敏感的场景。
4o