什么是特征缩放
特征缩放又称归一化,是机器学习中的一种技术,涉及调整数值数据的量度,使所有数据点在相似的尺度上。例如:身高、体重、年龄、收入等个人特征数据,每个维度的区间不一样,为保证所有维度的特征数据尺度一样,我们就需要对原始数据做特征缩放,将身高、体重、年龄、收入都转化为区间[0,1]之间的数据。
为什么要做特征缩放
- 收敛速度:梯度下降等迭代方法在各特征尺度一致时会更快地收敛。
- 避免数值不稳定性:在某些算法中,如果特征的尺度差异很大,可能会导致数值计算问题。
- 更好的模型解释性:当所有特征都在同一个尺度上,它们的权重可以更容易地相互比较。
目的
- 使数据均匀:数据缩放通过将数据转换到新的尺度上,使不同特征间的数值大小差异减小。
- 提高算法性能:缩放可以加快梯度下降的收敛速度,并提高算法(如支持向量机和K近邻算法)的性能。
特征缩放方法
-
最小-最大缩放 (Min-Max Scaling)
- 公式: X n o r m = X − X m i n X m a x − X m i n X_{norm} =\frac {X - X_{min}} {X_{max} - X_{min}} Xnorm=Xmax−XminX−Xmin
- 描述: 将数据缩放到[0,1]范围内的技术。
- 场景: 当数据分布不是高度偏斜,并且不包含极端值时。
-
标准化 (Standardization)
- 公式: X s t a n d a r d = ( X − μ ) σ X_{standard} =\frac {(X - μ)} σ Xstandard=σ(X−μ)
- 描述: 通过使数据的平均值为0,标准差为1来缩放数据。
- 场景:当算法需要数据的标准差为1,且偏差很小时。
-
稳健缩放 (Robust Scaling)
- 公式: X r o b u s t = X − Q 1 Q 3 − Q 1 X_{robust} =\frac {X - Q1} {Q3 - Q1} X