机器学习--特征缩放方法

282 阅读3分钟

机器学习中的的特征缩放方法总结


在机器学习中,不同特征的取值范围可能差别很大,这会影响许多算法(如梯度下降、K近邻、支持向量机等)的表现。因此,进行特征缩放(Feature Scaling)是数据预处理的重要步骤。下面介绍几种常用的特征缩放方法:

  1. 最小-最大归一化(Min-Max Normalization)

    • 原理:将数据按比例缩放到一个指定的区间内(通常是[0, 1]),公式为: {A03F60A7-CB13-4F8C-B339-E33E45B38E31}.png·
    • 优点:保留了原始数据的分布形状,适用于已知数据的最小和最大值的情况。
    • 缺点:对异常值(outliers)非常敏感,异常值可能使缩放后的大部分数据压缩到很小的范围内。
  2. 标准化(Standardization 或 Z-score Normalization)

    • 原理:将数据转换为均值为0、标准差为1的分布,公式为: {C295CDBA-2AE5-47A7-85D2-889D6728206B}.png其中,μ\mu 是样本均值,σ\sigma 是样本标准差。

    • 优点:对异常值的影响比最小-最大归一化小,适用于大多数需要假设数据服从正态分布的算法。

    • 缺点:如果数据分布不是正态分布,标准化后的数据可能不具备直观意义。

  3. 小数定标归一化(Decimal Scaling)

    • 原理:通过移动小数点的位置来缩放数据,即:
      {CA854BC6-3F54-44C7-8B9D-182FB511810F}.png 其中 jj 是使得 x<1∣x′∣<1 的最小整数。
    • 优点:实现简单。
    • 缺点:通常不如前两种方法常用,因为缩放比例取决于数据的最大绝对值,可能对模型训练效果影响较大。
  4. 范数归一化(Normalization by Norm)

    • 原理:常见的有 L1 和 L2 归一化,将每个样本的特征向量按其范数进行缩放。对于 L2 归一化,其公式为:
      {E3ACAE63-5869-4925-8B61-6E0EB98D2372}.png
    • 应用场景:常用于文本分类、图像处理等场景中,当我们关注特征向量的方向而非其大小时特别有用。
  5. 其他方法

    • 对数变换:对特征进行对数变换,适用于具有长尾分布的数据,能压缩大值的影响。
    • Box-Cox 变换和 Yeo-Johnson 变换:这类方法用于将数据转换为更接近正态分布的形式,有助于某些依赖正态性假设的算法。

选择特征缩放方法的注意事项

  • 算法敏感性:不同算法对特征缩放的要求不同。例如,基于距离的算法(如 K近邻、K-means)和梯度下降法在进行特征缩放后往往收敛得更快,而决策树类算法对特征缩放不敏感。
  • 异常值问题:如果数据中存在异常值,标准化可能比最小-最大归一化更稳健;也可以考虑先进行异常值处理,再进行缩放。
  • 数据分布:了解数据分布特点有助于选择合适的缩放方法。例如,如果数据分布偏斜,可以先做对数变换再进行标准化。

总之,特征缩放是数据预处理的重要步骤,不仅可以提高模型的训练效率,还能改善模型的预测效果。根据具体问题和数据特点选择合适的缩放方法,往往能够带来显著的性能提升。