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