[ML]-[Preprocessing data]: Standardization和Normalization

[ML]-[Preprocessing data]: Standardization和Normalization
最新回答
杀尽天下负心人

2021-08-24 18:14:52

Standardization(标准化)和Normalization(归一化)

在机器学习数据预处理中,Standardization(标准化)和Normalization(归一化)是两种常用的特征缩放技术,它们各自具有不同的应用场景和目的。

一、Standardization(标准化)

标准化是指对特征进行缩放,使其均值为0,标准差为1。这一过程的数学表达通常如下:

  • 公式:$z = frac{(x - mu)}{sigma}$

    其中,$x$ 是原始特征值,$mu$ 是该特征的均值,$sigma$ 是该特征的标准差,$z$ 是缩放后的特征值。

目的与用途

  • 标准化主要用于那些基于梯度下降的优化算法,如线性回归、逻辑回归、支持向量机(SVM)、神经网络等。这些算法在优化过程中需要计算特征的梯度,而特征的尺度差异过大可能会导致梯度在某些方向上更新过快,而在其他方向上更新过慢,从而影响算法的收敛速度和稳定性。
  • 通过标准化,所有特征的尺度都被统一到了相同的范围内,这使得梯度下降算法能够更均匀地更新各个特征的权重,从而提高算法的效率和性能。

二、Normalization(归一化)

归一化是指对样本进行缩放,使其具有单位范数。这一过程的数学表达通常如下:

  • 公式:$x_{text{norm}} = frac{x}{sqrt{sum_{i=1}^{n} x_i^2}}$

    其中,$x$ 是原始样本向量,$x_{text{norm}}$ 是归一化后的样本向量,$n$ 是样本向量的维度。

目的与用途

  • 归一化主要用于那些需要计算样本间相似度或距离的算法,如K近邻(KNN)、K均值聚类等。在这些算法中,样本间的距离或相似度是算法决策的重要依据。如果特征的尺度差异过大,那么距离或相似度的计算结果将主要受到大尺度特征的影响,而小尺度特征的作用将被削弱甚至忽略。
  • 通过归一化,所有特征的尺度都被统一到了相同的范围内(即单位范数),这使得算法能够更准确地计算样本间的距离或相似度,从而提高算法的准确性和鲁棒性。
  • 归一化还常用于一些基于二次形式的算法中,如点积或任何其他核函数,用于量化任何一对样本之间的相似性。在这些情况下,归一化可以确保算法的性能不会受到特征尺度差异的影响。

总结

  • 标准化和归一化都是数据预处理中的重要步骤,它们通过缩放特征或样本来提高机器学习算法的性能和准确性。
  • 标准化主要用于那些基于梯度下降的优化算法中,通过统一特征的尺度来提高算法的收敛速度和稳定性。
  • 归一化主要用于那些需要计算样本间相似度或距离的算法中,通过统一样本的尺度来提高算法的准确性和鲁棒性。
  • 在实际应用中,应根据具体算法的需求和数据的特点来选择合适的缩放方法。