資料歸一化總結

2021-06-08 17:59:52 字數 2131 閱讀 7594

近來,在網上搜了很多關於資料歸一化的帖子,看了太多,很雜,這裡整理總結一下

歸一化是一種資料預處理方法,就是要把你需要處理的資料經過處理後(通過某種演算法)限制在你需要的一定範圍內,

為了後面資料處理的方便,其次是保正程式執行時

收斂加快

。比如說,對於奇異樣本資料(所謂奇異樣本資料資料指的是相對於其他輸入樣本特別大或特別小的樣本向量),奇異

樣本資料存在所引起的網路訓練時間增加,並可能引起網路無法收斂,所以對於訓練樣本存在奇異樣本資料的資料集在訓練之前,最好先進形歸一化,若不存在奇異樣本資料,則不需要事先歸一化。

在matlab裡面,用於歸一化的方法共有三種:

(1)premnmx、postmnmx、tramnmx

(2)prestd、poststd、trastd

(3)是用matlab語言自己程式設計。

premnmx一般在低版本的matlab中不能使用,可能會直接轉向

mapminmax

函式對於mapminmax函式的一般介面:

>>

[y,ps] = mapminmax(x)

>>[y,ps] = mapminmax(x,fp)

>>x = mapminmax('reverse',y,ps)

其中,y是對進行某種規範化後得到的資料,這種規範化的對映記錄在結構體ps中。那麼,ps的結構是什麼,可以通過程式測試一下:

>> x1 = [1 2 4]

>> [y,ps] = mapminmax(x1)

y =-1.0000   -0.3333    1.0000

ps =

name: 'mapminmax'

xrows: 1

xmax: 4

xmin: 1

xrange: 3

yrows: 1

ymax: 1

ymin: -1

yrange: 2

其中的對映演算法如下,其中ymin和ymax引數可以自定義,預設的ymax=1,ymin=-1

* y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin;

x = mapminmax('reverse',y,ps)的作用就是進行反歸一化,將歸一化的資料反歸一化再得到原來的資料

>> [y1,ps] = mapminmax(x1);

>> xtt = mapminmax('reverse',y1,ps)

xtt =

1     2     4

1、線性函式轉換,表示式如下:

y=(x-minvalue)/(maxvalue-minvalue)

說明:x、y分別為轉換前、後的值,maxvalue、minvalue分別為樣本的最大值和最小值。

2、對數函式轉換,表示式如下:

y=log10(x)

說明:以10為底的對數函式轉換。

3、反餘切函式轉換,表示式如下:

y=atan(x)*2/pi

歸一化的具體作用是歸納統一樣本的統計分布性。歸一化在0-1之間是統計的概率分布,歸一化在-1--+1之間是統計的座標分布。歸一化有同

一、統一和合一的意思。無論是為了建模還是為了計算,首先基本度量單位要同一,神經網路是以樣本在事件中的統計分別機率來進行訓練(概率計算)和**的,歸一化是同一在0-1之間的統計概率分布;

我們用的是經過歸一化的樣本資料,那麼以後使用網路時所用的新資料也應該和樣本資料接受相同的預處理,這就要用到tramnmx。

下面介紹tramnmx函式:

[pn]=tramnmx(p,minp,maxp)

其中p和pn分別為變換前、後的輸入資料,maxp和minp分別為premnmx函式找到的最大值和最小值。

比如說

>> x2 = [5 2 3]

y2 =

1.6667   -0.3333    0.3333

我們發現,歸一化的資料不在是(-1,1)範圍內了,因為max(x2)~=max(x1)...

當需要把歸一的資料還原時,可以用以下命令

x1_again = mapminmax('reverse',y,ps)

資料歸一化的方法總結

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

資料歸一化

近來,在網上搜了很多關於資料歸一化的帖子,看了太多,很雜,這裡整理總結一下 歸一化是一種資料預處理方法,就是要把你需要處理的資料經過處理後 通過某種演算法 限制在你需要的一定範圍內,為了後面資料處理的方便,其次是保正程式執行時 收斂加快。比如說,對於奇異樣本資料 所謂奇異樣本資料資料指的是相對於其他...

資料歸一化

如果對神經網路的 輸入和 輸出數 據進行 一定的 預處理 可以加快網路的訓練速 度 matlab 中 提供的預 處理方 法有歸一化處理 將每組資料都變為 1 至 1 之 間數 所涉及 的函式有 premnmx postmnmx tramnmx 標準化處理 將每組資料都為均 值為 0,方 差 為 1 ...