特征缩放 Feature scaling
特征缩放还有另外一个名字, 叫做标准化. 标准化能够尽可能的使得模型快速收敛, 如果某个特征的方差比别的特征大几个数量级的话, 用距离度量的算法就会受到非常大的影响, 比如神经网络, SVM, 逻辑回归线性回归等, 但是基于树类选择的模型不会受到缩放的影响. 当特征尺度不同时, 需要用一个统一的量纲来衡量他们. 比方说身高和体重的分布, 就常常不是同一个量级的.
均值标准化 Standardization
假设数据服从正态分布, 这个标准化是最好的. 也叫Z-score 标准化. 度量相似性等涉及到距离的算法用它效果比较好. 处理后的数值服从均值为0, 方差为1的标准正态分布.会改变原数据的数据分布, 不适用于对稀疏数据做处理.
$$
x’ = \frac{x - \mu}{\sigma}
$$
最大最小值缩放 Min-Max Scaling
其实就是用最小值和最大值把数据固定到$[0, 1]$ 区域内. 但是当有新数据加入时, 可能导致$X_{max}$和$X_{min}$ 发生变化. 所以这种算法对数据非常敏感, 如果有许多异常值可能会导致整个数据集的分布发生变化. 但是它没法消除量纲对方程和协方差的影响, 所以涉及距离的算法计算结果会发生变化.
$$
x’ = \frac{x - x_{min}}{x_{max} - x_{min}}
$$
最大绝对值缩放 MaxAbs Scaling
最大值绝对值标准化, 和Min-Max方法类似,将数据落入$[-1,1]$区间内, 但是MaxAbs具有不破坏数据结构的特点, 可以用于稀疏数据.
$$
x’ = \frac{x}{|\max {x}|}
$$
鲁棒性缩放 Robust Scaling
均值标准化在具有很多异常值的情况下是效果不好的, 用中位数和四分位距代替均值和方差效果会好很多.
$$
\displaylines{
x’ = \frac{x - x_{median}}{IQR} \\
IQR = x_{q3} - x_{q1}
}
$$
$IQR$(interquartile range)为四分位距, 是第三四分位数$Q_3$和第一四分位数$Q_1$的差. $x_{median}$是特征的中位数.
假设有很大的离群值在特征中, 因为离群值在数轴最大侧的加入, 这个离群值使得$x_{q3}$变大了(虽然$x_{q1}$也变大了, 但是因为分布的缘故可能影响没有$x_{q3}$大), 中位数也变大了, 分母更大, 分子更小, 整体变小. 缩放后的数据更倾向于将离群值平衡到正常范围之内. 很小的离群值同理, 分母变得更小了, 分子更大, 整体变大.