特征缩放是用来统一资料中的自变项或特征范围的方法,在资料处理中,通常会被使用在资料前处理这个步骤。

动机

编辑

因为在原始的资料中,各变数的范围大不相同。对于某些机器学习的算法,若没有做过标准化,目标函数会无法适当的运作。举例来说,多数的分类器利用两点间的距离计算两点的差异,若其中一 个特征具有非常广的范围,那两点间的差异就会被该特征左右,因此,所有的特征都该被标准化,这样才能大略的使各特征依比例影响距离。

另外一个做特征缩放的理由是他能使加速梯度下降法的收敛。

方法

编辑

重新缩放

编辑

最简单的方式是重新缩放特征的范围到[0, 1]或[-1, 1], 依据原始的资料选择目标范围,通式如下:

                                    

 是原始的值, 是被标准化后的值。例如,假设我们有学生的体重资料,范围落在[160磅, 200磅],为了重新缩放这个资料,我们会先将每个学生的体重减掉160,接着除与40(最大体重与最小体重的差值)

标准化

编辑

机器学习中,我们可能要处理不同种类的资料,例如,音讯和图片上的像素值,这些资料可能是高维度的,资料标准化后会使每个特征中的数值平均变为0(将每个特征的值都减掉原始资料中该特征的平均)、标准差变为1,这个方法被广泛的使用在许多机器学习算法中(例如:支持向量机逻辑斯谛回归类神经网络)。

缩放至单位长度

编辑

该方法也在机器学习中常用。缩放特征向量的分量,将每个分量除以向量的欧几里得距离,使整个向量的长度为1。

 

应用

编辑

在随机梯度下降法中, 特征缩放有时能加速其收敛速度。而在支持向量机中,他可以使其花费更少时间找到支持向量,特征缩放会改变支持向量机的结果。

参考

编辑
  • S. Theodoridis, K. Koutroumbas. (2008) “Pattern Recognition”, Academic Press, 4 edition, ISBN 978-1-59749-272-0

外部链接

编辑