外观
特征缩放并非总是必需的
Feature Scaling is NOT Always Necessary

特征缩放(feature scaling)常被用来提升机器学习模型的性能和稳定性。这是因为它会把数据缩放到一个标准范围内,从而避免某个特征对模型输出产生过强的影响。
例如,在上图中,收入(income)的量纲可能会对整体预测产生巨大影响。把两个特征都缩放到同一范围可以缓解这一问题,并提升模型性能。我相信你已经知道这些,所以我们不再展开。不过,你是否曾经想过这样一个问题:特征缩放是否总是必需的?虽然特征缩放往往至关重要,但我们常常忽略了一个问题:它到底是不是必需的。这是因为许多机器学习算法对量纲并不敏感。

从图中可以清楚地看到这一点,图中描绘了一些分类算法在使用和不使用特征缩放时的测试准确率。逻辑回归(用 SGD 训练)、SVM 分类器、MLP 和 kNN 在使用特征缩放后表现更好;而决策树、随机森林、朴素贝叶斯和梯度提升(gradient boosting)则不受量纲影响。
为了更好地理解,来看决策树。它完全依据特征值确定的阈值来划分数据,而与特征的量纲无关。

因此,它的性能不受量纲影响。这在直觉上也是合理的。所以,结论是:当我们做特征缩放时,重要的不仅是了解数据的特性,还要了解我们打算使用的算法。如果算法本身对数据的量纲不敏感,我们可能根本不需要特征缩放。