一、定义
1.归一化
常用的方法是通过对原始数据进行线性变换把数据映射到[0,1]之间,变换函数为:
y=(x-min)/(max-min) |
---|
这种方法有个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。另外,最大值与最小值非常容易受异常点影响,所以这种方法鲁棒性较差,只适合传统精确小数据场景。
2.标准化
常用的方法是z-score标准化,经过处理后的数据均值为0,标准差为1,处理方法是:
y=(x-μ)/σ |
---|
其中,其中μ是样本的均值, σ是样本的标准差。该种归一化方式要求原始数据的分布可以近似为高斯分布,否标准化的效果会变得很糟糕。它们可以通过现有样本进行估计。在已有样本足够多的情况下比较稳定,适合现代嘈杂大数据场景。
二、区别
1.归一化是为了消除不同数据之间的量纲,方便数据比较和共同处理,比如在神经网络中,归一化可以加快训练网络的收敛性;
2.标准化是为了方便数据的下一步处理,而进行的数据缩放等变换,并不是为了方便与其他数据一同处理或比较,比如数据经过零-均值标准化后,更利于使用标准正态分布的性质,进行处理。