1. 程式人生 > >機器學習中資料的歸一化處理

機器學習中資料的歸一化處理

資料的標準化(normalization)是將資料按比例縮放,使之落入一個小的特定區間。在某些比較和評價的指標處理中經常會用到,去除資料的單位限制,將其轉化為無量綱的純數值,便於不同單位或量級的指標能夠進行比較和加權。

  其中最典型的就是資料的歸一化處理,即將資料統一對映到[0,1]區間上,常見的資料歸一化的方法有:

min-max標準化(Min-max normalization)

  也叫離差標準化,是對原始資料的線性變換,使結果落到[0,1]區間,轉換函式如下:

  其中max為樣本資料的最大值,min為樣本資料的最小值。這種方法有一個缺陷就是當有新資料加入時,可能導致max和min的變化,需要重新定義。

log函式轉換

  通過以10為底的log函式轉換的方法同樣可以實現歸一下,具體方法如下:

  看了下網上很多介紹都是x*=log10(x),其實是有問題的,這個結果並非一定落到[0,1]區間上,應該還要除以log10(max),max為樣本資料最大值,並且所有的資料都要大於等於1。

atan函式轉換

  用反正切函式也可以實現資料的歸一化:

  使用這個方法需要注意的是如果想對映的區間為[0,1],則資料都應該大於等於0,小於0的資料將被對映到[-1,0]區間上。

  而並非所有資料標準化的結果都對映到[0,1]區間上,其中最常見的標準化方法就是Z標準化,也是SPSS中最為常用的標準化方法:

z-score 標準化(zero-mean normalization)

  也叫標準差標準化,經過處理的資料符合標準正態分佈,即均值為0,標準差為1,其轉化函式為:

  其中μ為所有樣本資料的均值,σ為所有樣本資料的標準差。