壹、中心化(又叫零均值化)和標準化(又叫歸壹化)概念及目的?
1、在回歸問題和壹些機器學習算法中,以及訓練神經網絡的過程中,通常需要對原始數據進行中心化(Zero-centered或者Mean-subtraction(subtraction表示減去))處理和標準化(Standardization或Normalization)處理
數據標準化(歸壹化)處理是數據挖掘的壹項基礎工作,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到數據分析的結果,為了消除指標之間的量綱影響,需要進行數據標準化處理,以解決數據指標之間的可比性。原始數據經過數據標準化處理後,各指標處於同壹數量級,適合進行綜合對比評價。
意義:數據中心化和標準化在回歸分析中是取消由於量綱不同、自身變異或者數值相差較大所引起的誤差。原理:數據標準化:是指數值減去均值,再除以標準差;
數據中心化:是指變量減去它的均值。
目的:通過中心化和標準化處理,得到均值為0,標準差為1的服從標準正態分布的數據。
2、(1)中心化(零均值化)後的數據均值為零
(2)z-score 標準化後的數據均值為0,標準差為1(方差也為1)
三、下面解釋壹下為什麽需要使用這些數據預處理步驟。
在壹些實際問題中,我們得到的樣本數據都是多個維度的,即壹個樣本是用多個特征來表征的。比如在預測房價的問題中,影響房價的因素有房子面積、臥室數量等,我們得到的樣本數據就是這樣壹些樣本點,這裏的、又被稱為特征。很顯然,這些特征的量綱和數值得量級都是不壹樣的,在預測房價時,如果直接使用原始的數據值,那麽他們對房價的影響程度將是不壹樣的,而通過標準化處理,可以使得不同的特征具有相同的尺度(Scale)。簡言之,當原始數據不同維度上的特征的尺度(單位)不壹致時,需要標準化步驟對數據進行預處理。
下圖中以二維數據為例:左圖表示的是原始數據;中間的是中心化後的數據,數據被移動大原點周圍;右圖將中心化後的數據除以標準差,得到為標準化的數據,可以看出每個維度上的尺度是壹致的(紅色線段的長度表示尺度)。
其實,在不同的問題中,中心化和標準化有著不同的意義,
比如在訓練神經網絡的過程中,通過將數據標準化,能夠加速權重參數的收斂。
·對數據進行中心化預處理,這樣做的目的是要增加基向量的正交性。
四、歸壹化
兩個優點:
1)歸壹化後加快了梯度下降求最優解的速度;
2)歸壹化有可能提高精度。
1、 歸壹化為什麽能提高梯度下降法求解最優解的速度?
如下圖所示,藍色的圈圈圖代表的是兩個特征的等高線。其中左圖兩個特征X1和X2的區間相差非常大,X1區間是[0,2000],X2區間是 [1,5],其所形成的等高線非常尖。當使用梯度下降法尋求最優解時,很有可能走“之字型”路線(垂直等高線走),從而導致需要叠代很多次才能收斂;而右圖對兩個原始特征進行了歸壹化,其對應的等高線顯得很圓,在梯度下降進行求解時能較快的收斂。因此如果機器學習模型使用梯度下降法求最優解時,歸壹化往往非常有必要,否則很難收斂甚至不能收斂。
2、歸壹化有可能提高精度
壹些分類器需要計算樣本之間的距離(如歐氏距離),例如KNN。如果壹個特征值域範圍非常大,那麽距離計算就主要取決於這個特征,從而與實際情況相悖(比如這時實際情況是值域範圍小的特征更重要)。
3、以下是兩種常用的歸壹化方法:
1)min-max標準化(Min-MaxNormalization)
也稱為離差標準化,是對原始數據的線性變換,使結果值映射到[0 - 1]之間。轉換函數如下:
其中max為樣本數據的最大值,min為樣本數據的最小值。這種方法有個缺陷就是當有新數據加入時,可能導致max和min的變化,需要重新定義。
2)Z-score標準化(0-1標準化)方法
這種方法給予原始數據的均值(mean)和標準差(standard deviation)進行數據的標準化。經過處理的數據符合標準正態分布,即均值為0,標準差為1。
轉化函數為:
其中 為所有樣本數據的均值, 為所有樣本數據的標準差。
五、中心化(以PCA為例)
下面兩幅圖是數據做中心化(centering)前後的對比,可以看到其實就是壹個平移的過程,平移後所有數據的中心是(0,0).
在做PCA的時候,我們需要找出矩陣的特征向量,也就是主成分(PC)。比如說找到的第壹個特征向量是a = [1, 2],a在坐標平面上就是從原點出發到點 (1,2)的壹個向量。
如果沒有對數據做中心化,那算出來的第壹主成分的方向可能就不是壹個可以“描述”(或者說“概括”)數據的方向了。還是看圖比較清楚。
黑色線就是第壹主成分的方向。只有中心化數據之後,計算得到的方向才2能比較好的“概括”原來的數據。
參考:
1./goodshot/article/details/79488629
2./GoodShot/article/details/78241862