欢迎来到天天文库
浏览记录
ID:51686414
大小:49.95 KB
页数:12页
时间:2020-03-15
《BP神经网络源代码(basic).doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、PrivateSubCommand5_Click() DimtempNumAsDoubleFactTimes=0Forloopt=0Totimes-1'学习次数 FactTimes=FactTimes+1tempNum=0IfFactTimes<2000Then'学习率的变化前大后小 alpha=0.5 beta=0.5Else IfFactTimes>2000AndFactTimes<5000Then alpha=0.4 beta=0.
2、4 Else alpha=0.3 beta=0.3 EndIfEndIf '开始神经网络计算'/*---Beginningofneuralcomputting---*/Forloopl=1ToLearnExampleNums '学习模式个数 '/*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 '计算每个学习模式中各个输出结点的误差平方和
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
此文档下载收益归作者所有