資源描述:
《BP神經(jīng)網(wǎng)絡(luò)源代碼(basic).doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、PrivateSubCommand5_Click()?DimtempNumAsDoubleFactTimes=0Forloopt=0Totimes-1'學(xué)習(xí)次數(shù)?????FactTimes=FactTimes+1tempNum=0IfFactTimes<2000Then'學(xué)習(xí)率的變化前大后小????alpha=0.5????beta=0.5Else????IfFactTimes>2000AndFactTimes<5000Then??????????alpha=0.4??????????beta=0.
2、4????Else??????????alpha=0.3??????????beta=0.3????EndIfEndIf?'開始神經(jīng)網(wǎng)絡(luò)計算'/*---Beginningofneuralcomputting---*/Forloopl=1ToLearnExampleNums?'學(xué)習(xí)模式個數(shù)?????'/*forwardcomputting*/?????'/*inputlayer*/?????Fori=1ToInputUnitNums??????????OutofInputLayer(i)=inData
3、s(loopl,i)?????Nexti?????'/*hidelayer*/?????Fori=1ToHideUnitNums??????????inival=CDbl(0)??????????Forj=1ToInputUnitNums????????????????inival=inival+w_InputHide(i,j)*OutofInputLayer(j)??????????Nextj??????????inival=inival+Cw_Hide(i)??????????OutofHide
4、Layer(i)=Sigmf(inival)?????Nexti?????'/*outputlayer*/?????Fori=1ToOutUnitNums??????????inival=0#??????????Forj=1ToHideUnitNums????????????????inival=inival+w_HideOut(i,j)*OutofHideLayer(j)??????????Nextj???????????inival=inival+Cw_Out(i)???????????Outo
5、fOutLayer(i)=Sigmf(inival)?????Nexti?????'/*---Backpropagation---*/?????'/*deltacaclculate*/?????Error=0#?????Fori=1ToOutUnitNums????????????????wk=OutofOutLayer(i)????????????????wkb=Teacher(loopl,i)-wk????????????????'計算每個學(xué)習(xí)模式中各個輸出結(jié)點的誤差平方和???????????
6、?????Error=Error+wkb*wkb?????????????????DEL_Out(i)=wkb*wk*(1#-wk)?????Nexti?????'/*deltacaclculate*/?????Fori=1ToHideUnitNums???????????inival=0#???????????Forj=1ToOutUnitNums?????????????????inival=inival+(DEL_Out(j)*w_HideOut(j,i))???????????Nextj??
7、?????????wk=OutofHideLayer(i)???????????DEL_Hide(i)=inival*wk*(1#-wk)?????Nexti??????'/*updatingforweightsfromHideLayer*/?????Fori=1ToOutUnitNums???????????DCw_Out(i)=alpha*DEL_Out(i)???????????Forj=1ToHideUnitNums?????????????????Dw_HideOut(i,j)=alpha
8、*DEL_Out(i)*OutofHideLayer(j)???????????????Nextj?????????Nexti?????????'/*updatingforweightsfromInputLayer*/?????????Fori=1ToHideUnitNums???????????????DCw_Hide(i)=beta*DEL_Hide(i)???????????????Forj=1ToInputUnitNums???????????????????