資源描述:
《bp神經(jīng)網(wǎng)絡(luò)源代碼(basic)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
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.4
2、????Else??????????alpha=0.3??????????beta=0.3????EndIfEndIf?'開始神經(jīng)網(wǎng)絡(luò)計(jì)算'/*---Beginningofneuralcomputting---*/Forloopl=1ToLearnExampleNums?'學(xué)習(xí)模式個(gè)數(shù)?????'/*forwardcomputting*/?????'/*inputlayer*/?????Fori=1ToInputUnitNums??????????OutofInputLayer(i)=inDatas(
3、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)??????????OutofHideLay
4、er(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)???????????OutofOut
5、Layer(i)=Sigmf(inival)?????Nexti?????'/*---Backpropagation---*/?????'/*deltacaclculate*/?????Error=0#?????Fori=1ToOutUnitNums????????????????wk=OutofOutLayer(i)????????????????wkb=Teacher(loopl,i)-wk????????????????'計(jì)算每個(gè)學(xué)習(xí)模式中各個(gè)輸出結(jié)點(diǎn)的誤差平方和????????????????
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*DEL_Ou
8、t(i)*OutofHideLayer(j)???????????????Nextj?????????Nexti?????????'/*updatingforweightsfromInputLayer*/?????????Fori=1ToHideUnitNums???????????????DCw_Hide(i)=beta*DEL_Hide(i)???????????????Forj=1ToInputUnitNums???????????????????