參數的標准化與歸一化
注:中文資料中從英文文獻中學習,提到normalization和standardization時候,往往將其翻譯為“標准化”和“歸一化”。但是很坑的一點是,由於翻譯軟件也沒有很好的區分兩者,所以幾乎所有人都將兩者混為一談,甚至A文章對於“標准化”和“歸一化”翻譯的對應和B文章是完全相反的。所以為了以后不發生雞同鴨講的問題,本文不再使用這兩個詞的中文翻譯。其實這兩個詞往往都是用來表示特征縮放(Feature scaling)的四種方法的,只不過這些方法都可以被稱為Normalization,而Standardization指的是其中的一種方法.
- 什么是Normalization和Standardization的區別?
Normalization typically means rescales the values into a range of [0,1]. Standardization typically means rescales data to have a mean of 0 and a standard deviation of 1 (unit variance).
就是說,Normalization只是做參數的映射,而不會改變原來的分布;而Standardization則是會在映射的同時改變原有分布為均值為0、標准差為1的,注意,Standardization之后參數不一定在[0,1]間
方法一:min-max normalization
這種方法的一個比較不好的地方是,每次有新的數據加入,都需要重新計算最大值和最小值.但是它不會改變參數原有分布
方法二and三:Z-score Normalization(Standardization)\Mean normalization
這是mean normalization類方法中比較常用的一種,另外一種方法是: 其實區別就是用誰除。
這是最常見的Normalization方法,適用於屬性的最大值和最小值未知的情況,或有超出取值范圍的離群數據的情況。該種標准化方式要求原始數據的分布可以近似為高斯分布,否則效果會變得很糟糕。[2](能理解吧?改變原有分布了嘛)
這里有一個樣例:
圖源:引用4 原圖->減去均值->除以標准差
上述兩種方法的不同使用場景[2]
1、在分類、聚類算法中,需要使用距離來度量相似性的時候、或者使用PCA技術進行降維的時候,第二種方法(Z-score standardization)表現更好。
2、在不涉及距離度量、協方差計算、數據不符合正太分布的時候,可以使用第一種方法或其他歸一化方法。比如圖像處理中,將RGB圖像轉換為灰度圖像后將其值限定在[0 255]的范圍。
原因是使用第一種方法(線性變換后),其協方差產生了倍數值的縮放,因此這種方式無法消除量綱對方差、協方差的影響,對PCA分析影響巨大;同時,由於量綱的存在,使用不同的量綱、距離的計算結果會不同。而在第二種歸一化方式中,新的數據由於對方差進行了歸一化,這時候每個維度的量綱其實已經等價了,每個維度都服從均值為0、方差1的正態分布,在計算距離的時候,每個維度都是去量綱化的,避免了不同量綱的選取對距離計算產生的巨大影響。
————————————————
版權聲明:本文為CSDN博主「-柚子皮-」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/pipisorry/article/details/52247379
方法四:Scaling to unit length
這也是常用的一種方法:
這里的向量的范數一般就用歐幾里得范數(Euclidean length),但有時也會切換為其他,例如Manhattan Distance, City-Block Length or Taxicab Geometry等
Normalized的效果
標准化后可以更加容易地得出最優參數
和
以及計算出
的最小值,從而達到加速收斂的效果