我正在研究数据缩放,尤其是标准化方法。我已经理解了它背后的数学原理,但我不清楚为什么赋予特征零均值和单位方差很重要。
你能给我解释一下吗?
我正在研究数据缩放,尤其是标准化方法。我已经理解了它背后的数学原理,但我不清楚为什么赋予特征零均值和单位方差很重要。
你能给我解释一下吗?
是否重要以及为什么重要的问题取决于上下文。
例如,对于梯度提升决策树,它并不重要——这些 ML 算法“不关心”数据的单调变换;他们只是寻找点来分割它。
例如,对于线性预测变量,缩放可以提高结果的可解释性。如果您想将系数的大小视为某个特征对结果的影响程度的某种指示,那么必须以某种方式将这些特征缩放到同一区域。
对于某些预测器,特别是 NN,缩放,特别是缩放到特定范围,由于技术原因可能很重要。一些层使用仅在某些区域内有效变化的函数(类似于双曲线函数族),如果特征太多超出范围,可能会出现饱和。如果发生这种情况,数值导数将无法正常工作,并且算法可能无法收敛到一个好的点。
在均值为零的情况下,这是因为某些机器学习模型在其表示中不包含偏差项,因此我们必须在将数据提供给算法之前围绕原点移动数据以补偿缺少偏差项。在单位方差的情况下,这是因为许多机器学习算法使用某种距离(例如欧几里得)来决定或预测。如果一个特定的特征具有广泛的值(即大的方差),距离将受到该特征的高度影响,而其他特征的影响将被忽略。顺便说一句,一些优化算法(包括梯度下降)在数据标准化时具有更好的性能。
因此,建议将所有特征都缩小到足够小的相同规模,以便轻松训练。下面的链接也讨论了类似的概念。 https://stats.stackexchange.com/questions/41704/how-and-why-do-normalization-and-feature-scaling-work