欢迎来到天天文库
浏览记录
ID:34721959
大小:79.68 KB
页数:12页
时间:2019-03-10
《bp神经网络源代码(basic)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
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.4
2、 Else alpha=0.3 beta=0.3 EndIfEndIf '开始神经网络计算'/*---Beginningofneuralcomputting---*/Forloopl=1ToLearnExampleNums '学习模式个数 '/*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 '计算每个学习模式中各个输出结点的误差平方和
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
此文档下载收益归作者所有