當前位置:編程學習大全網 - 編程語言 - 神經網絡bp算法可以對樣本進行預測,具體是預測什麽?

神經網絡bp算法可以對樣本進行預測,具體是預測什麽?

關於神經網絡(matlab)歸壹化的整理

由於采集的各數據單位不壹致,因而須對數據進行[-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

歸壹化是為了加快訓練網絡的收斂性,可以不進行歸壹化處理

歸壹化的具體作用是歸納統壹樣本的統計分布性。歸壹化在0-1之間是統計的概率分布,歸壹化在-1--+1之間是統計的坐標分布。歸壹化有同壹、統壹和合壹的意思。無論是為了建模還是為了計算,首先基本度量單位要同壹,神經網絡是以樣本在事件中的統計分別幾率來進行訓練(概率計算)和預測的,歸壹化是同壹在0-1之間的統計概率分布;

當所有樣本的輸入信號都為正值時,與第壹隱含層神經元相連的權值只能同時增加或減小,從而導致學習速度很慢。為了避免出現這種情況,加快網絡學習速度,可以對輸入信號進行歸壹化,使得所有樣本的輸入信號其均值接近於0或與其均方差相比很小。

歸壹化是因為sigmoid函數的取值是0到1之間的,網絡最後壹個節點的輸出也是如此,所以經常要對樣本的輸出歸壹化處理。所以這樣做分類的問題時用[0.9 0.1 0.1]就要比用[1 0 0]要好。

但是歸壹化處理並不總是合適的,根據輸出值的分布情況,標準化等其它統計變換方法有時可能更好。

關於用premnmx語句進行歸壹化:

premnmx語句的語法格式是:[Pn,minp,maxp,Tn,mint,maxt]=premnmx(P,T)

其中P,T分別為原始輸入和輸出數據,minp和maxp分別為P中的最小值和最大值。mint和maxt分別為T的最小值和最大值。

premnmx函數用於將網絡的輸入數據或輸出數據進行歸壹化,歸壹化後的數據將分布在[-1,1]區間內。

我們在訓練網絡時如果所用的是經過歸壹化的樣本數據,那麽以後使用網絡時所用的新數據也應該和樣本數據接受相同的預處理,這就要用到tramnmx。

下面介紹tramnmx函數:

[Pn]=tramnmx(P,minp,maxp)

其中P和Pn分別為變換前、後的輸入數據,maxp和minp分別為premnmx函數找到的最大值和最小值。

(by terry2008)

matlab中的歸壹化處理有三種方法

1. premnmx、postmnmx、tramnmx

2. restd、poststd、trastd

3. 自己編程

具體用那種方法就和妳的具體問題有關了

(by happy)

pm=max(abs(p(i,:))); p(i,:)=p(i,:)/pm;

for i=1:27

p(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:)));

end 可以歸壹到0 1 之間

0.1+(x-min)/(max-min)*(0.9-0.1)其中max和min分別表示樣本最大值和最小值。

這個可以歸壹到0.1-0.9

  • 上一篇:IT易學網的html5 培訓課程中都學習哪些內容?
  • 下一篇:壹塊手表值壹輛法拉利?雅各布&;公司。
  • copyright 2024編程學習大全網