機器學習的資料歸一化方法

2021-07-11 23:00:39 字數 1374 閱讀 7382

作用:對於不同的特徵向量,比如年齡、購買量、購買額,在數值的量綱上相差十倍或者百千倍。如果不歸一化處理,就不容易進行比較、求距離,模型引數和正確度精確度就會受影響,甚至得不出正確的結果。

舉個例子:用梯度下降法求解最優解時,下圖展示沒有歸一化和歸一化處理兩種情況下的求解過程。

左圖表示沒有歸一化的求解過程;右圖表示有歸一化的處理過程。

x1、x2表示特徵向量,數值區間分別為[0,2000],[1,5].

圖中藍線為等高線,紅色為梯度下降求解線,中心紅點為最優解。

左圖的z字形為未歸一化處理的梯度下降求解過程。

右圖的1字形為歸一化處理後的梯度下降求解過程。

對比可知,歸一化處理後,等高線更圓,求解得到的梯度方向更能直指圓心,收斂速度更快,效率更高。

如果不歸一化,不但收斂速度慢,很可能找不到最優解。

歸一化除了能夠提高求解速度,還可能提高計算精度。

比如:計算樣本距離時,如果特徵向量取值範圍相差很大,如果不進行歸一化處理,則值範圍更大的特徵向量對距離的影響更大,實際情況是,取值範圍更小的特徵向量對距離影響更大,這樣的話,精度就會收到影響。

歸一化常用方法

1、線性歸一化函式(min-max scaling)

x』 = (x-min(x))/(max(x)-min(x))

把原始資料取值轉換到[0,1]之間。

實際使用時,不同樣本集得到的max/min可能不同,造成歸一化結果不穩定,從而使模型後續使用也不穩定。

可以經驗值來代替max/min,比如人的年齡,max=100,min=0。避免不同樣本集max/min的不同造成的模型偏差。

2、0均值標準化(z-score standardization)

x』 = (x-u)/theta.

u為樣本均值,theta為樣本方差。

轉換後的數值服從均值為0,方差為1的高斯正態分佈。

應用場景:原始資料(近似)高斯分布。否則歸一化後的效果會很差。

3、非線性歸一化(nonlinear scaling)

包括對數log,指數e,正切等。

應用場景:資料分化比較大,有些很大,有些很小,可能用此方法將數值對映到乙個比較小的範圍進行處理。log(v,2),log(v,10).

小結:

1、對於需要求距離的分類、聚類、相似度、協方差等,資料符合或者近似符合高斯正態分佈時,pca降維時,常用0均值標準化,可以得到較好的效果。

2、對於其他情況,如果資料分化不是很大,可以用線性歸一化處理。

3、如果資料分化很大,可以用非線性歸一化處理。

參考文章

1、2、

機器學習 資料歸一化方法

原文 本文主要介紹兩種基本的資料歸一化方法。歸一化方法有兩種形式,一種是把數變為 0,1 之間的小數,一種是把有量綱表示式變為無量綱表示式。資料標準化 歸一化 處理是資料探勘的一項基礎工作,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進...

機器學習 資料歸一化方法

本文主要介紹兩種基本的資料歸一化方法。歸一化方法有兩種形式,一種是把數變為 0,1 之間的小數,一種是把有量綱表示式變為無量綱表示式。資料標準化 歸一化 處理是資料探勘的一項基礎工作,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進行資料...

機器學習 資料歸一化

機器學習中,在資料預處理過程中,通過將資料歸一化可以加快梯度下降求最優解的速度,也有可能提高模型計算的精度。常用的歸一化方法主要有兩種 最值歸一化。比如把最大值歸一化成1,最小值歸一化成 1 或把最大值歸一化成1,最小值歸一化成0。適用於本來就分布在有限範圍內的資料。其中常用的方法有 線性比例變換法...