數據的預處理(標准化、歸一化)


在機器學習回歸問題,以及訓練神經網絡過程中,通常需要對原始數據進行中心化(零均值化)與標准化(歸一化)處理。

1背景

在數據挖掘數據處理過程中,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到數據分析的結果,為了消除指標之間的量綱影響,需要進行數據標准化處理,以解決數據指標之間的可比性。原始數據經過數據標准化處理后,各指標處於同一數量級,適合進行綜合對比評價。

2目的

通過中心化和標准化處理,最終得到均值為0,標准差為1的服從標准正態分布的數據。可以取消由於量綱不同、自身變異或者數值相差較大所引起的誤差。

3原理

中心化(又叫零均值化):是指變量減去它的均值。其實就是一個平移的過程,平移后所有數據的中心是(0,0)。

標准化(又叫歸一化): 是指數值減去均值,再除以標准差。

4意義 - 為何需要這些預處理

在一些實際問題中,我們得到的樣本數據都是多個維度的,即一個樣本是用多個特征來表征的。比如在預測房價的問題中,影響房價的因素(特征)有房子面積、卧室數量等,很顯然,這些特征的量綱和數值得量級都是不一樣的,在預測房價時,如果直接使用原始的數據值,那么他們對房價的影響程度將是不一樣的,而通過標准化處理,可以使得不同的特征具有相同的尺度(Scale)。簡言之,當原始數據不同維度上的特征的尺度(單位)不一致時,需要標准化步驟對數據進行預處理。

 下圖中以二維數據為例:左圖表示的是原始數據;中間的是中心化后的數據,數據被移動大原點周圍;右圖將中心化后的數據除以標准差,得到為標准化的數據,可以看出每個維度上的尺度是一致的(紅色線段的長度表示尺度)。

 其實,在不同的問題中,中心化和標准化有着不同的意義,比如在訓練神經網絡的過程中,通過將數據標准化,能夠加速權重參數的收斂。對數據進行中心化預處理,這樣做的目的是要增加基向量的正交性。

 5標准化(歸一化)優點及其方法

 標准化(歸一化)兩個優點:

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

  2)歸一化有可能提高精度。

 標准化(歸一化)兩種方法:

  1)min-max標准化(Min-MaxNormalization)

  也稱為離差標准化,是對原始數據的線性變換,使結果值映射到 [0 - 1] 之間。轉換函數如下:

  

 其中max為樣本數據的最大值,min為樣本數據的最小值。這種方法有個缺陷就是當有新數據加入時,可能導致max和min的變化,需要重新定義。

2)Z-score標准化(0-1標准化)方法

這種方法給予原始數據的均值(mean)和標准差(standard deviation)進行數據的標准化。經過處理的數據符合標准正態分布,即均值為0,標准差為1。

轉化函數為:

其中μ為所有樣本數據的均值,σ為所有樣本數據的標准差。

6中心化 -PCA示例

在做PCA的時候,我們需要找出矩陣的特征向量,也就是主成分(PC)。比如說找到的第一個特征向量是a = [1, 2],a在坐標平面上就是從原點出發到點 (1,2)的一個向量。

如果沒有對數據做中心化,那算出來的第一主成分的方向可能就不是一個可以“描述”(或者說“概括”)數據的方向(看圖)。

黑色線就是第一主成分的方向。只有中心化數據之后,計算得到的方向才能比較好的“概括”原來的數據(圖2)。

 

 

轉 王強


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM