歸一化與標準化
歸一化和標準化本質上都是一種線性變換。線性變換保持線性組合與線性關係式不變,這保證了特定模型不會失效。
歸一化 Normalization
歸一化一般是將數據映射到指定的範圍,用於去除不同維度數據的量綱以及量綱單位。
常見的映射範圍有 [0, 1] 和 [-1, 1] ,最常見的歸一化方法就是 Min-Max 歸一化:
舉個例子,判斷一個人的身體狀況是否健康,那麼我們會採集人體的很多指標,比如說:身高、體重、紅細胞數量、白細胞數量等。
一個人身高 180cm,體重 70kg,白細胞計數
衡量兩個人的狀況時,白細胞計數就會起到主導作用從而遮蓋住其他的特徵,歸一化後就不會有這樣的問題。
標準化 Normalization
英文翻譯的問題:
歸一化和標準化的英文是一致的,但是根據其用途(或公式)的不同去理解(或翻譯)
最常見的標準化方法: Z-Score 標準化
標準化的輸出範圍不受限制,對異常值有更好的處理
其中 是樣本數據的均值(mean), 是樣本數據的標準差(std)。
上圖則是一個散點序列的標準化過程:原圖->減去均值->除以標準差
歸一化和標準化的區別:
歸一化和標準化的本質都是縮放和平移,他們的區別直觀的說就是歸一化的縮放是 “拍扁” 統一到區間(0-1),而標準化的縮放是更加 “彈性” 和 “動態” 的,和整體樣本的分佈有很大的關係。
常見的歸一化方法:
常見的標準化方法:
從輸出範圍角度來看, 歸一化的輸出結果必須在 0-1 間。而標準化的輸出範圍不受限制,通常情況下比歸一化更廣
標準化與歸一化的應用場景:
-
一般情況下,如果對輸出結果範圍有要求,用歸一化
-
如果數據較爲穩定,不存在極端的最大最小值,用歸一化
-
如果數據存在異常值和較多噪音,用標準化,可以間接通過中心化避免異常值和極端值的影響
-
在機器學習中,標準化是更常用的手段,歸一化的應用場景是有限的,原因就在於二者的區別:
- 標準化更好保持了樣本間距。當樣本中有異常點時,歸一化有可能將正常的樣本“擠”到一起去,對異常值和極端值處理的並不好
- 標準化更符合統計學假。對一個數值特徵來說,很大可能它是服從正態分佈的。標準化其實是基於這個隱含假設,只不過是將這個正態分佈調整爲均值爲0,方差爲1的標準正態分佈而已