最近在做一些圖像處理方面的工作,在讀別人的代碼的時候,發現大傢都會對數據進行一些前處理,讓數據在進入模型之時,不再是原始的像素值,而是轉化成[0,1]之間或者[-1, 1]之前的值,再輸入模型進行訓練。而在這個過程中有兩個方法會經常被大傢用到,即標準化(standardization) 和歸一化(normalization)。

雖然他們都很頻繁的被用在數據前處理上,經過查資料發現原來他們的邏輯和意義是非常不同的。先從公式的角度來說:

歸一化的公式: x =( x – min) /(max-min) , 可以看到是一個非常線性的變換,僅僅是把數據通過這種變換,等量的縮小到瞭[0,1]之間。

標準化的公式: x= (x – mean)/ standard , deviation , 可以看到標準化的公式是一個跟均值和標準差有關的變化。他通過減去均值,並且除以標準差的方式,試圖讓數據形成一個正態分佈,即均值為0,且標準差為1的正態分佈。