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

2021-09-26 22:59:22 字數 2286 閱讀 3079

對每個特徵進行歸一化處理,使得每個特徵的取值縮放到0~1之間。這樣做有兩個好處:

模型訓練更高效。

特徵前的權重大小可代表該變數對**結果的貢獻度(因為每個特徵值本身的範圍相同)。

(一)歸一化的作用

在機器學習領域中,不同評價指標(即特徵向量中的不同特徵就是所述的不同評價指標)往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進行資料標準化處理,以解決資料指標之間的可比性。原始資料經過資料標準化處理後,各指標處於同一數量級,適合進行綜合對比評價。其中,最典型的就是資料的歸一化處理。(可以參考學習:資料標準化/歸一化)

簡而言之,歸一化的目的就是使得預處理的資料被限定在一定的範圍內(比如[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.

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

一 歸一化的作用 在機器學習領域中,不同 評價指標 即特徵向量中的不同特徵就是所述的不同評價指標 往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進行資料 標準化處理,以解決資料指標之間的可比性。原始資料經過資料標準化處理後,各指標處於同一數量級,適合...

標準化與歸一化 機器學習

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

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

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