在MATLAB中的三種歸一化方法

2021-07-30 22:31:23 字數 1701 閱讀 9931

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

一、統一和合一的意思。無論是為了建模還是為了計算,首先基本度量單位要同一,神經網路是以樣本在事件中的統計分別機率來進行訓練(概率計算)和**的,且sigmoid函式的取值是0到1之間的,網路最後乙個節點的輸出也是如此,所以經常要對樣本的輸出歸一化處理。歸一化是統一在0-1之間的統計概率分布,當所有樣本的輸入訊號都為正值時,與第一隱含層神經元相連的權值只能同時增加或減小,從而導致學習速度很慢。另外在資料中常存在奇異樣本資料,奇異樣本資料存在所引起的網路訓練時間增加,並可能引起網路無法收斂。為了避免出現這種情況及後面資料處理的方便,加快網路學習速度,可以對輸入訊號進行歸一化,使得所有樣本的輸入訊號其均值接近於0或與其均方差相比很小。

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

一、用matlab語言自己程式設計,通常使用的函式有以下幾種:

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

y=(x-minvalue)/(maxvalue-minvalue) (歸一到0 1 之間)

y=0.1+(x-min)/(max-min)*(0.9-0.1)(歸一到0.1-0.9之間)

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

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

y=log10(x)

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

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

y=atan(x)*2/pi

二、premnmx、tramnmx、postmnmx、mapminmax

premnmx函式用於將網路的輸入資料或輸出資料進行歸一化,歸一化後的資料將分布在[-1,1]區間內。

premnmx語句的語法格式是:[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t),其中p,t分別為原始輸入和輸出資料。

在訓練網路時如果所用的是經過歸一化的樣本資料,那麼以後使用網路時所用的新資料也應該和樣本資料接受相同的預處理,這就要用到tramnmx函式:

tramnmx語句的語法格式是:[pn]=tramnmx(p,minp,maxp)

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

網路輸出結果需要進行反歸一化還原成原始的資料,常用的函式是:postmnmx。

postmnmx語句的語法格式是:[pn] = postmnmx(p,minp,maxp)

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

還有乙個函式是mapminmax,該函式可以把矩陣的每一行歸一到[-1 1].

mapminmax語句的語法格式是:[y1,ps] = mapminmax(x1)

其中x1 是需要歸一的矩陣 y1是結果。

當需要對另外一組資料做歸一時,就可以用下面的方法做相同的歸一了

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

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

三、prestd、poststd、trastd

prestd歸一到單位方差和零均值。

pminp和maxp分別為p中的最小值和最大值。mint和maxt分別為t的最小值和最大值。

Matlab中的資料歸一化

歸一化的具體作用是歸納統一樣本的統計分布性。歸一化在0 1之間是統計的概率分布,歸一化在 1 1之間是統計的座標分布。歸一化有同 一 統一和合一的意思。無論是為了建模還是為了計算,首先基本度量單位要同一,神經網路是以樣本在事件中的統計分別機率來進行訓練 概率計算 和 的,且sigmoid函式的取值是...

matlab中的歸一化方法

在資料處理的過程中,為了標準的統一,我們往往要對資料進行歸一化。大多數人覺得這比較簡單,不就是形如 x min max min 這樣麼。事實上,這樣想是沒錯的。事實上,我們使用matlab的內建函式,來進行資料的歸一化,在處理大量的資料時,會節省不少的時間。有內建函式用的,盡量用內建函式,可以減少不...

python資料歸一化及三種方法詳解

資料標準化 歸一化 處理是資料探勘的一項基礎工作,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進行資料標準化處理,以解決資料指標之間的可比性。原始資料經過資料標準化處理後,各指標處於同一數量級,適合進行綜合對比評價。以下是三種常用的歸一...