特征归一化总结(Feature Scaling)

写在前面

最近在研究基于小样本的故障诊断问题,看到很多关于利用数据驱动中深度学习的方法来优化故障诊断问题中,部分文献会通过“归一化”的方式,优化步骤,从而达到较少训练样本数或者节省训练时长。之前对归一化有过一定接触,但是不太了解。刚好趁此机会,将网上的一些归一化方法进行整理和总结。

纯粹自己学习整理,侵权删。

也参考了部分笔记:

https://www.cnblogs.com/shine-lee/p/11779514.html(给了我很多建议,其中很多也都在这里有一些摘抄)

https://www.zhihu.com/question/20455227/answer/197897298

特征归一化(Feature scaling)-WHY

Feature scaling,常见的提法有“特征归一化”、“标准化”,是数据预处理中的重要技术。他的重要性:

(1)特征间的单位(尺度)可能不同,比如身高和体重,比如摄氏度和华氏度,比如房屋面积和房间数,一个特征的变化范围可能是[1000,10000],另一个特征的变化范围可能是[−0.1,0.2],在进行距离有关的计算时,单位的不同会导致计算结果的不同,尺度大的特征会起决定性作用,而尺度小的特征其作用可能会被忽略,为了消除特征间单位和尺度差异的影响,以对每维特征同等看待,需要对特征进行归一化。

(2)原始特征下,因尺度差异,其损失函数的等高线图可能是椭圆形,梯度方向垂直于等高线,下降会走zigzag路线,而不是指向local minimum。通过对特征进行zero-mean and unit-variance变换后,其损失函数的等高线图更接近圆形,梯度下降的方向震荡更小,收敛更快。这个下图尤其形象,摘抄至Andrew Ng

image-20200805131923306

数据归一化后,寻优解的寻优过程明显会变得平缓,更容易正确收敛到最优解。
#wiki指出
(1)归一化后,加快了梯度下降求最优解的速度
(2)归一化有可能提高精度。因为有些分类器需要计算样本间距离
为什么需要激活函数
如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层节点的输入都是上层输出的线性函数,很容易验证,无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(Perceptron)了,那么网络的逼近能力就相当有限。正因为上面的原因,我们决定引入非线性函数作为激励函数,这样深层神经网络表达能力就更加强大(不再是输入的线性组合,而是几乎可以逼近任意函数)。
激活函数实际就是让整个网络仿真出来的模型逼近任何函数,

关于归一化和标准化

一维数据的缩放有如下定义:

1、归一化:

2、标准化:

其实归一化和标准化的本质就是一种线性变换。

线性变换为什么不会使变换后的数据“失效”?

答:线性变化不改变原始数据的数值排序(线性变换保持线性组合与线性关系式不变);

区别:

归一化的缩放是“拍扁”统一到区间(仅由极值决定),而标准化的缩放更是“弹性”和“动态”的,和整体样本的分布有很大的关系。

归一化:缩放仅仅跟最大、最小值的差别有关。——输出在0-1之间

标准化:缩放和每个点都有关系,通过方差(variance)体现出来。其中每个数据点都有贡献量。——输出范围是负无穷到正无穷

部分小tip:

如果对输出结果范围有要求,用归一化

如果数据较为稳定,不存在极端的最大最小值 , 用归一化

如果数据存在异常值和较多噪声 , 用标准化。可以间接通过中心化避免异常值和极端值影响。

特征归一化的方法(wiki)

Rescaling (min-max normalization、range scaling)


x ′ = a + ( x − min ⁡ ( x ) ) ( b − a ) max ⁡ ( x ) − min ⁡ ( x ) x^{\prime}=a+\frac{(x-\min (x))(b-a)}{\max (x)-\min (x)} x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值