ANN 人工神經前饋網路BP實現

2021-06-20 01:45:24 字數 1511 閱讀 4371

ann 人工神經前饋網路

實現步驟

學習過程:

1)      設定網路引數

2)      以均勻隨機初始化加權值矩陣w,每個神經結點的偏權值向量 。

3)      輸入乙個訓練樣本的輸入向量x與目標輸出向量t

4)      計算每層網路的輸出值向量y

5)      從輸出層開始計算誤差並反傳

6)      計算加權值矩陣修正量  w

7)      更新加權值矩陣w,偏權值向量

8)      重複步驟3至步驟7,直至收斂或執行一定數目的學習迴圈

**步驟

1)      輸入測試樣本的輸入向量x,得出輸出向量y,得出類別向量y』

2)      比較類別向量y』,目標向量t,得出計算的準確率

matlab實現:

clc;

clear;

traininput=load('f:/dataset/synth.tr');

traintarget=traininput(:,3);

traininput=traininput(:,[1,2]);

traininput=traininput';

traintarget=traintarget';

testinput=load('f:/dataset/synth.te');

testtarget=testinput(:,3);

testinput=testinput(:,[1,2]);

testinput=testinput';

testtarget=testtarget';

net=newff([-1.5 1.5; -1.5 1.5],traintarget,[3,3],,'traingdm');

net.trainparam.goal=0.000001;%神經網路訓練的目標誤差

net.trainparam.epochs=10000; %最大迭代次數

net.trainparam.lr=0.01; %學習效率

net.trainparam.max_fail = 15;

net=train(net,traininput,traintarget);

rst=sim(net,testinput);

[m,n]=size(rst);

success=0;

for i=1:m

for j=1:n

if(rst(i,j)<0.5 && testtarget(i,j)==0)

success=success+1;

endif(rst(i,j)>=0.5 && testtarget(i,j)==1)

success=success+1;

endend

end 

accuracy=success/n

神經網路 前饋網路 BP網路 BP演算法

一種單向多層的網路結構,資訊從輸入層開始,逐層向乙個方向傳遞,一直到輸出層結束。前饋是指輸出入方向是前向,此過程不調整權值。神經元之間不存在跨層連線 同層連線,輸入層用於資料的輸入,隱含層與輸出層神經元對資料進行加工。英語 backpropagation,縮寫為bp 是 誤差反向傳播 的簡稱,是一種...

人工神經網路(ANN)

參考資料 從函式上來看,神經網路是回歸方程的級聯疊加,用來逼近目標函式的,本質是一種模擬特徵與目標之間的真實關係函式的模型 乙個有向拓撲,每層有若干節點,節點間有邊,邊上有權值。輸入層隱藏層 多層 後層是前層各節點值的線性組合的函式,即y f x0 w1x1 w2x2 wnxn 線性組合的係數就是邊...

人工神經網路ANN

一 基本概念 ann artificial neural network前饋神經網路的縮寫 二 模型構建 2.1 神經元 2.2 啟用函式 意義 啟用函式是用來讓給神經網路加入非線性因素的,因為線性模型的表達能力不夠。如果沒有啟用函式,那麼該網路僅能表達線性對映,此時即便有再多的隱藏層,其整個網路跟...