在這裡主要討論兩種歸一化方法:
線性函式將原始資料線性化的方法轉換到[0 1]的範圍,歸一化公式如下:
該方法實現對原始資料的等比例縮放,其中xnorm為歸一化後的資料,x為原始資料,xmax、xmin分別為原始資料集的最大值和最小值。
python實現:preprocessing.minmaxscaler
0均值歸一化方法將原始資料集歸一化為均值為0、方差1的資料集,歸一化公式如下:
其中,μ、σ分別為原始資料集的均值和方法。該種歸一化方式要求原始資料的分布可以近似為高斯分布,否則歸一化的效果會變得很糟糕。
python實現:preprocessing.standardscaler,preprocessing.robust_scale
兩種歸一化的應用場景:
1、在分類、聚類演算法中,需要使用距離來度量相似性的時候、或者使用pca技術進行降維的時候,第二種方法(z-score standardization)表現更好。
2、在不涉及距離度量、協方差計算、資料不符合正太分布的時候,可以使用第一種方法或其他歸一化方法。比如影象處理中,將rgb影象轉換為灰度影象後將其值限定在[0 255]的範圍。
為什麼在距離度量計算相似性、pca中使用第二種方法(z-score standardization)會更好呢?我們進行了以下的推導分析:
歸一化方法對方差、協方差的影響:假設資料為2個維度(x、y),首先看0均值對方差、協方差的影響:
先使用第二種方法進行計算,我們先不做方差歸一化,只做0均值化,變換後資料為
新資料的協方差為
由於 因此
而原始資料協方差為
因此
做方差歸一化後:
方差歸一化後的協方差為:
使用第一種方法進行計算,為方便分析,我們只對x維進行線性函式變換
計算協方差
可以看到,使用第一種方法(線性變換後),其協方差產生了倍數值的縮放,因此這種方式無法消除量綱對方差、協方差的影響,對pca分析影響巨大;同時,由於量綱的存在,使用不同的量綱、距離的計算結果會不同。
而在第二種歸一化方式中,新的資料由於對方差進行了歸一化,這時候每個維度的量綱其實已經等價了,每個維度都服從均值為0、方差1的正態分佈,在計算距離的時候,每個維度都是去量綱化的,避免了不同量綱的選取對距離計算產生的巨大影響。
總結來說,在演算法、後續計算中涉及距離度量(聚類分析)或者協方差分析(pca、lda等)的,同時資料分布可以近似為狀態分布,應當使用0均值的歸一化方法。其他應用中更具需要選用合適的歸一化方法。
機器學習中特徵歸一化的方法
資料標準化 歸一化 處理是資料探勘的一項基礎工作,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進行資料標準化處理,以解決資料指標之間的可比性。原始資料經過資料標準化處理後,各指標處於同一數量級,適合進行綜合對比評價。以下是兩種常用的歸一...
機器學習中的歸一化
歸一化常用的方法 歸一化與其中標準化的區別 使用標準化與歸一化的場景 哪些機器學習書演算法不需要歸一化 歸一化後加快了梯度下降求最優解的速度 歸一化有可能提高精度 如上圖所示,藍色圓圈代表兩個特徵的的等高線。左圖中兩個特徵區別相差特別大。其中乙個特徵x1的區間是 0,2000 乙個特徵x2 1,5 ...
機器學習 資料歸一化方法
原文 本文主要介紹兩種基本的資料歸一化方法。歸一化方法有兩種形式,一種是把數變為 0,1 之間的小數,一種是把有量綱表示式變為無量綱表示式。資料標準化 歸一化 處理是資料探勘的一項基礎工作,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進...