为什么要做特征归一化/标准化?

为什么要做特征归一化/标准化?

特征归一化/标准化又叫做Feature scaling。常见的提法有“特征归一化”、“标准化”,是数据预处理中的重要技术,有时甚至决定了算法能不能work以及work得好不好。

是否归一化要根据模型和特征共同决定的。

归一化的优点:

1.特征归一化能够**平衡不同特征尺度的影响**,比如两个特征1-100和1-0,防止大的数据送入到神经网络或其他模型导致模型偏向于考虑数据大的问题。
特征间的单位(尺度)可能不同,比如身高和体重,比如摄氏度和华氏度,比如房屋面积和房间数,一个特征的变化范围可能是[1000, 10000],另一个特征的变化范围可能是[−0.1,0.2],在一些会用到距离有关的算法时(比如k-means,kNN,svm,PCA,而决策树和随机森林就不用),单位的不同会导致计算结果的不同,尺度大的特征会起决定性作用,而尺度小的特征其作用可能会被忽略,为了消除特征间单位和尺度差异的影响,以对每维特征同等看待,需要对特征进行归一化。

2.特征归一化可以使一些模型**更快更准**的拟合,能够轻微的避免陷入局部解的情况
原始特征下,因尺度差异,其损失函数的等高线图可能是椭圆形,梯度方向垂直于等高线,下降会走zigzag路线,而不是指向local minimum。通过对特征进行zero-mean and unit-variance变换后,其损失函数的等高线图更接近圆形,梯度下降的方向震荡更小,收敛更快,如下图所示。因此对于神经网络来说,大的尺度很容易是某个神经元陷入饱和状态,降低训练速度,也很容易导致参数梯度爆炸和梯度消失问题从而丧失模型的学习能力。
图片


归一化的缺点缺点:

1.导致原始数据分布变化或者**失去原始数据的表示含义**,使模型无法对数据进行准确建模。
比如,一个已经是概率的小数,对它进行某种算法进行归一化,将导致这个小数原本表示的“概率”含义失效,失去了概率的含义,这种情况就会导致原始数据发生了变化并且这种变化以及不真实了,这样情况就会很严重影响模型对于原始数据的拟合能力。再比如,有一堆聚在成了两堆数据,只有几个异常值,然后我们使用了某种归一化,使其离散的分布在各个地方,然后我们再对其建模,这样的结果也肯定不如原始的数据建模效果好。


 

常用归一化(feature scaling)方法:选择哪种归一化方法是由解决的问题和数据的特征决定的

 

给定数据集,令特征向量为x,维数为D,样本数量为R,可构成D×R的矩阵,一列为一个样本,一行为一维特征,如下图所示:

图片

feature scaling的方法可以分成2类,逐行进行和逐列进行。逐行是对每一维特征操作,逐列是对每个样本操作,上图为逐行操作中特征标准化的示例。

具体地,常用feature scaling方法如下

1. Rescaling (min-max normalization、range scaling)

图片

将每一维特征线性映射到目标范围[a,b],即将最小值映射为a,最大值映射为b,常用目标范围为[0,1]和[−1,1],特别地,映射到[0,1]计算方式为:

图片

相当于对数据进行等比例放大或者缩小。不影响数据的趋势。

比如有一个序列数据[100,89,82,76,101],可以对这个数据进行等比缩小100倍输入模型中,得到预测值后将其等比放大,不影响数据建模效果

2.Mean normalization

图片

均值映射为0,同时用最大值最小值的差对特征进行归一化,一种更常见的做法是用标准差进行归一化,如下。

与第一种方法一样,只不过将其移动到均值为0的地方了。对于那些大于均值的数据对于模型产生增益,小于0的产生减益的模型可能更有用。

3 Standardization (Z-score Normalization)

图片

每维特征0均值1方差(zero-mean and unit-variance)

对于那些对数据分布建模的模型可能更有用。

4 Scaling to unit length

图片

将每个样本的特征向量除以其长度,即对样本特征向量的长度进行归一化,长度的度量常使用的是L2 norm(欧氏距离),有时也会采用L1 norm,不同度量方式的一种对比可以参见论文“CVPR2005-Histograms of Oriented Gradients for Human Detection”。

相当于对自身做归一化。比较常用于自然语言处理中,比如对文档中的word进行这样的归一化后,那些频繁出现的单词就会

上述4种feature scaling方式,前3种为逐行操作,最后1种为逐列操作。

容易让人困惑的一点是指代混淆,Standardization指代比较清晰,但是单说Normalization有时会指代min-max normalization,有时会指代Standardization,有时会指代Scaling to unit length

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值