数据归一化

数据归一化
目的
- 统一量纲
- 达到更好的模型训练效果(如BP算法中加速收敛)

方法

线性函数归一化

如使用原始数据的最小、最大值将原始数据变换到[0,1]范围内
这里写图片描述

0均值标准化(Z-score standardization)

将原始数据转化为均值为0,方差为1的数据集,公式为
这里写图片描述
其中,μ、σ分别为原始数据集的均值、方差。该方法要求原始数据的分布近似为高斯分布,否则归一化的效果会变差。
那什么情况下使用什么归一化方法呢?
首先考察两种方法对二维数据集X,Y的方差和协方差的影响。
对于线性函数归一化

X=CXY=CY
归一化后的方差为
cov(X,Y)=(CXiCX¯¯¯)(CYiCY¯¯¯)n1=Ccov(X,Y)

对于0均值标准化方法
先进行数据0均值后得到
X=XX¯¯¯Y=YY¯¯¯
新的协方差为:
cov(X,Y)=(XiX¯¯¯)(YiY¯¯¯)n1=XiYin1
原始数据协方差为:
cov(X,Y)=(XiX¯¯¯)(YiY¯¯¯)n1=XiYin1=cov(X,Y)
进行方差归一化后,
X′′=X/σXY′′=Y/σY
新的方差为:
cov(X′′,Y′′)=(X′′iX′′¯¯¯¯¯)(Y′′iY′′¯¯¯¯¯)n1=XiYi(n1)σXσY=cov(X,Y)σXσY

以上计算得出,第一种方法新的协方差是原来的c倍,没有消除量纲对方差、协方差的影响,不适合PCA、距离度量相关的分析;第二种方法,对于服从正态分布的每个维度都被转换为均值为0,方差为1的标准正态分布,所以每个维度都被去量纲化了,适用于PCA、距离度量相关的分析。

参考

1.http://blog.csdn.net/zbc1090549839/article/details/44103801

你可能感兴趣的:(神经网络与深度学习)