機器學習 標準化 歸一化的目的和作用

2021-08-09 21:42:07 字數 3281 閱讀 1179

(一)歸一化的作用

在機器學習領域中,不同

評價指標

(即特徵向量中的不同特徵就是所述的不同評價指標)

往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進行資料

標準化處理,以解決資料指標之間的可比性。原始資料經過資料標準化處理後,各指標處於同一數量級,適合進行綜合對比評價。

其中,最典型的就是資料的歸一化處理。(可以參考學習:資料標準化/歸一化

)簡而言之,歸一化的目的就是使得預處理的資料被限定在一定的範圍內(比如[0,1]或者[-1,1]),從而消除奇異樣本資料

導致的不良影響。

1)在統計學中,歸一化的具體作用是歸納統一樣本的統計分布性。歸一化在0~1之間是統計的概率分布,歸一化在-1~+1之間是統計的座標分布。

2)奇異樣本資料是指相對於其他輸入樣本特別大或特別小的樣本向量(即特徵向量),譬如,下面為具有兩個特徵的樣本資料x1、x2、x3、x4、x5、x6(特徵向量—>列向量),其中x6這個樣本的兩個特徵相對其他樣本而言相差比較大,因此,x6認為是奇異樣本資料。

奇異樣本資料的存在會引起訓練時間增大,同時也可能導致無法收斂,因此,當存在奇異樣本資料時,在進行訓練之前需要對預處理資料進行歸一化;反之,不存在奇異樣本資料時,則可以不進行歸一化。

解釋範例

--如果不進行歸一化,那麼由於特徵向量中不同特徵的取值相差較大,會導致目標函式變「扁」。這樣在進行梯度下降的時候,梯度的方向就會偏離最小值的方向,走很多彎路,即訓練時間過長。

--如果進行歸一化以後,目標函式會呈現比較「圓」,這樣訓練速度大大加快,少走很多彎路。

綜上可知,歸一化有如下好處,即

1)歸一化後加快了梯度下降求最優解的速度;

2)歸一化有可能提高精度(如knn)

注:沒有一種資料標準化的方法,放在每乙個問題,放在每乙個模型,都能提高演算法精度和加速演算法的收斂速度。

1)最大最小標準化(

min-max normalization)

a).本歸一化方法又稱為離差標準化,使結果值對映到[0 ,1]之間,轉換函式如下:

b).本歸一化方法比較適用在數值比較集中的情況;

c).缺陷:如果max和min不穩定,很容易使得歸一化結果不穩定,使得後續使用效果也不穩定。實際使用中可以用經驗常量來替代max和min。

d).  應用場景:

在不涉及距離度量、協方差計算、資料不符合正太分布的時候,可以使用第一種方法或其他歸一化方法(不包括z-score方法)。比如影象處理中,將rgb影象轉換為灰度影象後將其值限定在[0 255]的範圍

2)z-score標準化方法

a).資料處理後符合標準正態分佈,即均值為0,標準差為1,其轉化函式為:

其中μ為所有樣本資料的均值,σ為所有樣本資料的標準差。

b).本方法要求原始資料的分布可以近似為高斯分布,否則歸一化的效果會變得很糟糕;

c). 應用場景:

分類、聚類

演算法中,需要使用距離來度量相似性的時候、或者使用pca技術進行降維的時候,

z-score standardization

表現更好。

3)非線性歸一化

a).本歸一化方法經常用在資料分化比較大的場景,有些數值很大,有些很小。通過一些數學函式,將原始值進行對映。

b).該方法包括 log,正切等,需要根據資料分布的情況,決定非線性函式的曲線:

---log對數函式轉換方法

y = log10(x),即以10為底的對數轉換函式,對應的歸一化方法為:x' = log10(x) /log10(max),其中max表示樣本資料的最大

值,並且所有樣本資料均要大於等於1.

---atan反正切函式轉換方法

利用反正切函式可以實現資料的歸一化,即

x' = atan(x)*(2/pi)

使用這個方法需要注意的是如果想對映的區間為[0,

1],則資料都應該大於等於

0,小於

0的資料將被對映到[-

1,0]區間上.

---l2範數歸一化方法

l2範數歸一化就是特徵向量中每個元素均除以向量的l2範數:

1)概率模型不需要歸一化,因為這種模型不關心變數的取值,而是關心變數的分布和變數之間的條件概率;

2)svm、線性回歸之類的最優化問題需要歸一化,是否歸一化主要在於是否關心變數取值;

3)神經網路需要標準化處理,一般變數的取值在-1到1之間,這樣做是為了弱化某些變數的值較大而對模型產生影響。一般神經網路中的隱藏層採用tanh啟用函式比sigmod啟用函式要好些,因為tanh雙曲正切函式的取值[-1,1]之間,均值為0.

4)在k近鄰演算法中,如果不對解釋變數進行標準化,那麼具有小數量級的解釋變數的影響就會微乎其微。

[1]

[2]

[3]

[4]

[5]

[6]

[7]

[8]

機器學習 標準化 歸一化的目的 作用和場景

對每個特徵進行歸一化處理,使得每個特徵的取值縮放到0 1之間。這樣做有兩個好處 模型訓練更高效。特徵前的權重大小可代表該變數對 結果的貢獻度 因為每個特徵值本身的範圍相同 一 歸一化的作用 在機器學習領域中,不同評價指標 即特徵向量中的不同特徵就是所述的不同評價指標 往往具有不同的量綱和量綱單位,這...

機器學習的歸一化和標準化

一般做機器學習應用的時候大部分時間是花費在特徵處理上,其中很關鍵的一步就是對特徵資料進行歸一化,為什麼要歸一化呢?很多同學並未搞清楚,維基百科給出的解釋 1 歸一化後加快了梯度下降求最優解的速度,主要是加快梯度下降法收斂速度。2 歸一化有可能提高精度。下面我簡單擴充套件解釋下這兩點。有兩種實現方法 ...

標準化與歸一化 機器學習

歸一化和標準化經常被搞混,程度還比較嚴重,非常干擾大家的理解。為了方便後續的討論,必須先明確二者的定義。如果要把輸入資料轉換到 0,1 的範圍,可以用如下公式進行計算 按以上方式進行歸一化以後,輸入資料轉換到 0,1 的範圍。有時候我們希望將輸入轉換到 1,1 的範圍,可以使用以下的公式 以上兩種方...