最近在做一些图像处理方面的工作,在读别人的代码的时候,发现大家都会对数据进行一些前处理,让数据在进入模型之时,不再是原始的像素值,而是转化成[0,1]之间或者[-1, 1]之前的值,再输入模型进行训练。而在这个过程中有两个方法会经常被大家用到,即标准化(standardization) 和归一化(normalization)。
虽然他们都很频繁的被用在数据前处理上,经过查资料发现原来他们的逻辑和意义是非常不同的。先从公式的角度来说:
归一化的公式: x =( x – min) /(max-min) , 可以看到是一个非常线性的变换,仅仅是把数据通过这种变换,等量的缩小到了[0,1]之间。
标准化的公式: x= (x – mean)/ standard , deviation , 可以看到标准化的公式是一个跟均值和标准差有关的变化。他通过减去均值,并且除以标准差的方式,试图让数据形成一个正态分布,即均值为0,且标准差为1的正态分布。