在機器學習回歸問題,以及訓練神經網路過程中,通常需要對原始資料進行中心化(零均值化)與標準化(歸一化)預處理。
目的
通過中心化和標準化處理,最終得到均值為0,標準差為1的服從標準正態分佈的資料。
在多指標評價體系中,由於各評價指標的性質不同,通常具有不同的量綱和數量級。當各指標間的水平相差很大時,如果直接用原始指標值進行分析,就會突出數值較高的指標在綜合分析中的作用,相對削弱數值水平較低指標的作用。因此,為了保證結果的可靠性,需要對原始指標資料進行標準化處理。
原理
中心化(又叫零均值化):是指變數減去它的均值。其實就是乙個平移的過程,平移後所有資料的中心是(0,0)。
標準化(又叫歸一化): 是指數值減去均值,再除以標準差(可以把有量綱量變為無量綱量)。
下圖中以二維資料為例:左圖表示的是原始資料;中間的是中心化後的資料,資料被移動大原點周圍;右圖將中心化後的資料除以標準差,得到為標準化的資料,可以看出每個維度上的尺度是一致的(紅色線段的長度表示尺度)。
其實,在不同的問題中,中心化和標準化有著不同的意義,比如在訓練神經網路的過程中,通過將資料標準化,能夠加速權重引數的收斂。對資料進行中心化預處理,這樣做的目的是要增加基向量的正交性(不是很明白這裡)。
標準化(歸一化)優點及其方法
標準化(歸一化)三個優點:
1)歸一化後加快了梯度下降求最優解的速度;
如下圖,x1的取值為0-2000,而x2的取值為1-5,假如只有這兩個特徵,對其進行優化時,會得到乙個窄長的橢圓形,導致在梯度下降時,梯度的方向為垂直等高線的方向而走之字形路線,這樣會使迭代很慢,相比之下,右圖的迭代就會很快(理解:也就是步長走多走少方向總是對的,不會走偏)
2)歸一化有可能提高精度。
歸一化的另一好處是提高精度,這在涉及到一些距離計算的演算法時效果顯著,比如演算法要計算歐氏距離,上圖中x2的取值範圍比較小,涉及到距離計算時其對結果的影響遠比x1帶來的小,所以這就會造成精度的損失。所以歸一化很有必要,他可以讓各個特徵對結果做出的貢獻相同。
3) 深度學習中資料歸一化可以防止模型梯度**。
標準化(歸一化)兩種方法:
1)min-max標準化(min-max normalization)
也稱為離差標準化,是對原始資料的線性變換,使結果值對映到 [0 - 1] 之間。轉換函式如下:
其中max為樣本資料的最大值,min為樣本資料的最小值。這種方法有個缺陷就是當有新資料加入時,可能導致max和min的變化,需要重新定義。
2)z-score標準化(0-1標準化)方法
這種方法給予原始資料的均值(mean)和標準差(standard deviation)進行資料的標準化。經過處理的資料不一定符合標準正態分佈,要看你的原始資料分布,如果原始資料分布是正態的話,那標準化後一定是標準正態分佈,反之,則不是標準正態分佈,比如原始資料是均勻分布,所以z-score標準化不會改變原始資料的分布。
轉化函式為:
其中μ為所有樣本資料的均值,σ為所有樣本資料的標準差。
參考
中心化和標準化
x x x 原因 在一些實際問題中,我們得到的樣本資料都是多個維度的,即乙個樣本是用多個特徵來表徵的。很顯然,這些特徵的量綱和數值得量級都是不一樣的,而通過標準化處理,可以使得不同的特徵具有相同的尺度 scale 這樣,在學習引數的時候,不同特徵對引數的影響程度就一樣了。簡言之,當原始資料不同維度上...
樣本中心化 標準化
在回歸問題和一些機器學習演算法中,以及訓練神經網路的過程中,通常需要對原始資料進行中心化 zero centered或者mean subtraction 處理和標準化 standardization或normalization 處理。目的 通過中心化和標準化處理,得到均值為0,標準差為1的服從標準正...
歸一化 標準化 中心化
歸一化 把資料變成 0,1 或 1,1 之間的小數。主要是為了資料處理方便提出來的,把資料對映到0 1範圍之內處理,更加便捷快速。是一種簡化計算的方式,將有量綱的表示式,經過變換,化為無量綱的表示式,成為標量,便於不同單位或量級的指標能夠進行比較和加權。標準化 在機器學習中,我們可能要處理不同種類的...