趋近智
你已经学习了如何为机器学习模型准备分类数据。现在,我们来看数值特征。你可能会问:“为什么我们不能直接将原始数值输入到算法中呢?”毕竟它们已经是数字了。尽管有些模型能够很好地处理原始数值输入,但当数值特征经过缩放后,许多模型的表现会好得多,或者收敛速度会快得多。
想象一个包含两个特征的数据集:一个人的年收入(例如,从20,000美元到200,000美元)和他们的工作经验年限(从0到40年)。如果我们在某些算法中直接使用这些特征,年收入值的大小可能会掩盖工作经验年限的贡献,仅仅因为其数值大得多。这并非必然是因为收入本身更重要,而纯粹是尺度差异造成的影响。特征缩放旨在通过使所有数值特征处于可比较的水平来防止这种扭曲。
许多机器学习算法都依赖于计算数据点之间的距离。例子包括:
考虑二维空间(x 和 y)中两点 p 和 q 之间的标准欧几里得距离计算公式:
距离(p,q)=(px−qx)2+(py−qy)2
如果特征 x(例如,年收入)的范围是100,000,而特征 y(例如,工作经验年限)的范围是40,那么收入相差10,000 (px−qx=10000) 将对平方根内的和贡献 (10000)2=100,000,000。经验相差10 (py−qy=10) 只贡献 102=100。收入特征完全主导了距离计算。缩放确保两个特征对距离度量做出更公平的贡献,更准确地反映它们的相对重要性。
使用梯度下降进行优化的算法也从特征缩放中获得很大益处。这包括:
梯度下降通过采取与成本函数负梯度成比例的步骤来更新模型参数(权重)。权重 wj 的更新规则通常如下所示:
wj:=wj−α∂wj∂J
这里,α 是学习率,∂wj∂J 是成本函数 J 对权重 wj 的偏导数。如果特征的尺度差异很大,相应的梯度也会有很大差异。
考虑两个参数的成本函数曲面形状。如果没有缩放,如果特征的范围差异很大,等高线可能会显得细长。经过缩放后,等高线变得更接近圆形,使得梯度下降更容易找到最小值。
左侧,细长的等高线表示特征尺度不同时的成本曲面,这可能减慢梯度下降的速度。右侧,更接近圆形的等高线表示缩放后的成本曲面,这使得收敛更直接。
基于树的算法,例如决策树、随机森林和梯度提升机,通常被认为对特征的尺度不那么敏感。这是因为它们通过基于特征阈值(特征>阈值)来划分数据。阈值的选择与特征的整体尺度无关。
然而,即使对于基于树的模型,缩放有时也可能间接有益,例如:
特征缩放是为许多机器学习算法准备数值数据的一个基础步骤。它解决了值范围较大的特征可能不成比例地影响模型训练的问题,这并非因为它们固有的重要性,而仅仅因为它们的尺度。通过将特征带到相似的尺度,我们帮助基于距离的算法进行更有意义的比较,并使基于梯度下降的算法更快、更稳定地收敛。接下来的部分将讨论实现这一目标的具体技术,如标准化、归一化和鲁棒缩放。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造