零均值和单位方差

数据挖掘 机器学习 特征缩放 正常化
2021-10-01 02:25:09

我正在研究数据缩放,尤其是标准化方法。我已经理解了它背后的数学原理,但我不清楚为什么赋予特征零均值和单位方差很重要。

你能给我解释一下吗?

3个回答

是否重要以及为什么重要的问题取决于上下文。

  • 例如,对于梯度提升决策树,它并不重要——这些 ML 算法“不关心”数据的单调变换;他们只是寻找点来分割它。

  • 例如,对于线性预测变量,缩放可以提高结果的可解释性。如果您想将系数的大小视为某个特征对结果的影响程度的某种指示,那么必须以某种方式将这些特征缩放到同一区域。

  • 对于某些预测器,特别是 NN,缩放,特别是缩放到特定范围,由于技术原因可能很重要。一些层使用仅在某些区域内有效变化的函数(类似于双曲线函数族),如果特征太多超出范围,可能会出现饱和。如果发生这种情况,数值导数将无法正常工作,并且算法可能无法收敛到一个好的点。

在此处输入图像描述

在均值为零的情况下,这是因为某些机器学习模型在其表示中不包含偏差项,因此我们必须在将数据提供给算法之前围绕原点移动数据以补偿缺少偏差项。在单位方差的情况下,这是因为许多机器学习算法使用某种距离(例如欧几里得)来决定或预测。如果一个特定的特征具有广泛的值(即大的方差),距离将受到该特征的高度影响,而其他特征的影响将被忽略。顺便说一句,一些优化算法(包括梯度下降)在数据标准化时具有更好的性能。

  • 每当我们从机器学习中的任何数据集开始时,我们通常会假设所有数据特征对于输出而言都同等重要,并且一个特征不应凌驾于其他特征之上。这通常是我们选择将所有功能带到相同规模的原因。
    然而,这里可能会提出一个疑问,即使特征没有被归一化,那么在学习时分配给它的权重可能会帮助数据集在训练时收敛到预期的输出。这样做的问题是训练和产生结果需要很长时间。
  • 选择特定数字 0 作为均值和方差 1 只是为了便于可视化,保持如此小的数字将有助于更快的训练。

因此,建议将所有特征都缩小到足够小的相同规模,以便轻松训练。下面的链接也讨论了类似的概念。 https://stats.stackexchange.com/questions/41704/how-and-why-do-normalization-and-feature-scaling-work