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