1. 程式人生 > >歸一化(normalization)/標準化(standardization) 方法彙總

歸一化(normalization)/標準化(standardization) 方法彙總

歸一化方法(normalization)

歸一化是為了加快訓練網路的收斂性,可以不進行歸一化處理
歸一化的具體作用是歸納統一樣本的統計分佈性。歸一化在0-1之間是統計的概率分佈,歸一化在-1–+1之間是統計的座標分佈。歸一化有同一、 統一和合一的意思。無論是為了建模還是為了計算,首先基本度量單位要同一,神經網路是以樣本在事件中的統計分別機率來進行訓練(概率計算)和預測的,歸一 化是同一在0-1之間的統計概率分佈;
當所有樣本的輸入訊號都為正值時,與第一隱含層神經元相連的權值只能同時增加或減小,從而導致學習速度很慢。為了避免出現這種情況,加快網路學習速度,可以對輸入訊號進行歸一化,使得所有樣本的輸入訊號其均值接近於0或與其均方差相比很小。
歸一化是因為sigmoid函式的取值是0到1之間的,網路最後一個節點的輸出也是如此,所以經常要對樣本的輸出歸一化處理。所以這樣做分類的問題時用[0.9 0.1 0.1]就要比用[1 0 0]要好。
但是歸一化處理並不總是合適的,根據輸出值的分佈情況,標準化等其它統計變換方法有時可能更好。

1、把數變為(0,1)之間的小數

主要是為了資料處理方便提出來的,把資料對映到0~1範圍之內處理,更加便捷快速,應該歸到數字訊號處理範疇之內。

2 、把有量綱表示式變為無量綱表示式

歸一化是一種簡化計算的方式,即將有量綱的表示式,經過變換,化為無量綱的表示式,成為純量。
比如,複數阻抗可以歸一化書寫:Z = R + jωL = R(1 + jωL/R) ,複數部分變成了純數量了,沒有量綱。
另外,微波之中也就是電路分析、訊號系統、電磁波傳輸等,有很多運算都可以如此處理,既保證了運算的便捷,又能凸現出物理量的本質含義。

神經網路中的歸一化

由於採集的各資料單位不一致,因而須對資料進行[-1,1]歸一化處理,歸一化方法主要有如下幾種,供大家參考:(by james)
1、線性函式轉換,表示式如下:
y=(x-MinValue)/(MaxValue-MinValue)
說明:x、y分別為轉換前、後的值,MaxValue、MinValue分別為樣本的最大值和最小值。
2、對數函式轉換,表示式如下:
y=log10(x)
說明:以10為底的對數函式轉換。
3、反餘切函式轉換,表示式如下:
y=atan(x)*2/PI 4、sigmoid歸一化到[0,1]區間 y=1.0/(1+exp(-x)) 在matlab裡面,用於歸一化的方法共有三種: 
(1)premnmx、postmnmx、tramnmx。premnmx指的是歸一到[-1 1],tramnmx是變化測試集輸入結果,postmnmx是轉化測試集輸出結果。 
(2)prestd、poststd、trastd。 prestd 歸一到單位方差和零均值。 
(3)自己程式設計。 關於自己程式設計一般是歸一到[0.1 0.9]

標準化方法(standardization)

資料的標準化是將資料按比例縮放,使之落入一個小的特定區間。由於信用指標體系的各個指標度量單位是不同的,為了能夠將指標參與評價計算,需要對指標進行規範化處理,通過函式變換將其數值對映到某個數值區間。一般常用的有以下幾種方法。
(1) 最小-最大規範化對原始資料進行線性變換。假定MaxA與MinA分別表示屬性A的最大與最小值。最小最大規範化通過計算將屬性A的值對映到區間[a, b]上的v。一般來說,將最小-最大規範化在用於信用指標資料上,常用的有以下兩種函式形式:
a) 效益型指標(越大越好型)的隸屬函式:
b) 成本型指標(越小越好型)的隸屬函式:
(2) z-score規範化也稱零-均值規範化。屬性A的值是基於A的平均值與標準差規範化。
(3) 小數定標規範化是通過移動屬性A的小數點位置來實現的。小數點的移動位數依賴於A的最大絕對值。