BP神经网络源代码basic文档格式.docx
- 文档编号:16505220
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:8
- 大小:15.78KB
BP神经网络源代码basic文档格式.docx
《BP神经网络源代码basic文档格式.docx》由会员分享,可在线阅读,更多相关《BP神经网络源代码basic文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
Else
alpha=0.3
beta=0.3
EndIf
EndIf
'
开始神经网络计算
/*---Beginningofneuralcomputting---*/
Forloopl=1ToLearnExampleNums
'
学习模式个数
/*forwardcomputting*/
/*inputlayer*/
Fori=1ToInputUnitNums
OutofInputLayer(i)=inDatas(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)
OutofHideLayer(i)=Sigmf(inival)
/*outputlayer*/
Fori=1ToOutUnitNums
inival=0#
Forj=1ToHideUnitNums
inival=inival+w_HideOut(i,j)*OutofHideLayer(j)
inival=inival+Cw_Out(i)
OutofOutLayer(i)=Sigmf(inival)
/*---Backpropagation---*/
/*deltacaclculate*/
Error=0#
wk=OutofOutLayer(i)
wkb=Teacher(loopl,i)-wk
计算每个学习模式中各个输出结点的误差平方和
Error=Error+wkb*wkb
DEL_Out(i)=wkb*wk*(1#-wk)
Forj=1ToOutUnitNums
inival=inival+(DEL_Out(j)*w_HideOut(j,i))
wk=OutofHideLayer(i)
DEL_Hide(i)=inival*wk*(1#-wk)
/*updatingforweightsfromHideLayer*/
DCw_Out(i)=alpha*DEL_Out(i)
Forj=1ToHideUnitNums
Dw_HideOut(i,j)=alpha*DEL_Out(i)*OutofHideLayer(j)
Nextj
/*updatingforweightsfromInputLayer*/
Fori=1ToHideUnitNums
DCw_Hide(i)=beta*DEL_Hide(i)
Forj=1ToInputUnitNums
Dw_InputHide(i,j)=beta*DEL_Hide(i)*OutofInputLayer(j)
*inputlayertohidelayer
wk=moment*OCw_Hide(i)+DCw_Hide(i)
Cw_Hide(i)=Cw_Hide(i)+wk
OCw_Hide(i)=wk
wk=moment*Ow_InputHide(i,j)+Dw_InputHide(i,j)
w_InputHide(i,j)=w_InputHide(i,j)+wk
Ow_InputHide(i,j)=wk
*hidelayertooutputlayer
Fori=1ToOutUnitNums
wk=moment*OCw_Out(i)+DCw_Out(i)
Cw_Out(i)=Cw_Out(i)+wk
OCw_Out(i)=wk
Forj=1ToHideUnitNums
wk=moment*Ow_HideOut(i,j)+Dw_HideOut(i,j)
w_HideOut(i,j)=w_HideOut(i,j)+wk
Ow_HideOut(i,j)=wk
Nexti
所有学习模式的误差总和
tempNum=tempNum+Error
Nextloopl
如果达到了要求的误差范围,就可以退出循环
If((tempNum/2)<
=ErLimit)Then
ExitFor
Nextloopt
List1.Clear
Fori=1ToOutUnitNums
Forj=iToHideUnitNums
List1.AddItem"
w_HideOut("
&
i&
"
"
j&
)="
w_HideOut(i,j)
Nextj
OutofOutLayer("
)"
&
OutofOutLayer(i)
Nexti
Fori=1ToHideUnitNums
Forj=1ToInputUnitNums
w_InputHide("
"
j&
w_InputHide(i,j)
OutofHideLayer("
OutofHideLayer(i)
全局误差="
Format$(tempNum/2,"
##.###,#"
)
预测误差="
Format$(Sqr(tcmpNum/2),"
##.###"
循环次数="
FactTimes
cmdSave.Enabled=True
cmdNetCal.Enabled=False
Beep
vsFlexArray3.Rows=HideUnitNums+1
vsFlexArray3.Cols=InputUnitNums+1
vsFlexArray5.Rows=HideUnitNums+1
vsFlexArray5.TextMatrix(i,1)=Cw_Hide(i)
vsFlexArray3.TextMatrix(i,j)=w_InputHide(i,j)
vsFlexArray3.SaveGridApp.Path&
"
WeightlN_HD.dat"
flexFileAll
vsFlexArray5.SaveGridApp.Path&
OffsetHIDE.dat"
vsFlexArray4.Rows=OutUnitNums+1
vsFlexArray4.Cols=HideUnitNums+1
vsFlexArray6.Rows=OutUnitNums+1
vsFlexArray6.TextMatrix(i,1)=Cw_Out(i)
Forj=1ToHideUnitNums
vsFlexArray4.TextMatrix(i,j)=w_HideOut(i,j)
vsFlexArray4.SaveGridApp.Path&
WeightHD_OT.dat"
vsFlexArray6.SaveGridApp.Path&
OffsetOUT.dat"
EndSub
PrivateSubCommand6_Click()
vsFlexArray1.Rows=2
vsFlexArray1.Cols=Text1.Text+1
vsFlexArray2.Rows=2
vsFlexArray2.Cols=Text3.Text+1
vsFlexArray3.Rows=Text2.Text+1
vsFlexArray3.Cols=Text1.Text+1
vsFlexArray4.Rows=Text3.Text+1
vsFlexArray4.Cols=Text2.Text+1
vsFlexArray5.Rows=Text2.Text+1
vsFlexArray5.Cols=2
vsFlexArray6.Rows=Text3.Text+1
vsFlexArray6.Cols=2
LearnExampleNums=1'
每次只验证一个数据
vsFlexArray1.Clear
vsFlexArray2.Clear
vsFlexArray2.Enabled=False
vsFlexArray2.Editable=False
vsFlexArray1.SetFocus
MsgBox"
请在学习样本网格中输入数据!
PrivateSubCommand7_Click()
DimNums()AsDouble
ReDimNums(vsFlexArray1.Cols-1)
Fori=1ToText1.Text
Nums(i)=vsFlexArray1.TextMatrix(1,i)
读入INPUTTOHIDE权值文件
vsFlexArray3.LoadGridApp.Path&
WeightlN_ttD.dat"
读入HIDETOOUTPUT权值文件
vsFlexArray4.LoadGridApp.Path&
读入HIDE层偏置文件
vsFlexArray5.LoadGridApp.Path&
读入OUTPUT层偏置值文件
vsFlexArray6.LoadGridApp.Path&
/*hidelayer*/
inival=0#
inival=inival+vsFlexArray3.TextMatrix(i,j)*Nums(j)
inival=inival+vsFlexArray5.TextMatrix(i,1)
/*outputlayer*/
inival=inival+vsFlexArray4.TextMatrix(i,j)*OutofHideLayer(j)
inival=inival+vsFlexArray6.TextMatrix(i,1)
Label2.Caption="
验证结果:
vsFlexArray2.TextMatrix(1,i)=Format(OutofOutLayer(i),"
#,###.###,#"
Command9.Enabled=True
PrivateSubCommand8_Click()
End
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BP 神经网络 源代码 basic