資料預處理 中心化和標準化

2021-08-21 10:20:35 字數 2663 閱讀 3711

一、中心化(又叫零均值化)和標準化(又叫歸一化)概念及目的?

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.

2.

資料預處理 中心化和標準化

中心化 所有資料之和為0 標準化 把資料的分布轉化為正態分佈 最後資料集變成均值為0,方差為1的分布。計算過程如下 處理前後的資料分布對比 當我們處理乙個問題的時候需要用到各種各樣的資料,然而他們的量級時常是不一樣的,比如說在房價分析的時候,我們會有面積 地域 地價等等等等,面積這些都是幾十幾百,而...

資料預處理 資料標準化

x train np.array 1,1,2 2,0,0 0,1,1 min max scaler preprocessing.minmaxscaler x train minmax min max scaler.fit transform x train print x train minmax ...

中心化和標準化

x x x 原因 在一些實際問題中,我們得到的樣本資料都是多個維度的,即乙個樣本是用多個特徵來表徵的。很顯然,這些特徵的量綱和數值得量級都是不一樣的,而通過標準化處理,可以使得不同的特徵具有相同的尺度 scale 這樣,在學習引數的時候,不同特徵對引數的影響程度就一樣了。簡言之,當原始資料不同維度上...