bp神经网络详细步骤c实现.doc

bp神经网络详细步骤c实现.doc

ID:50529548

大小:23.26 KB

页数:12页

时间:2020-03-10

bp神经网络详细步骤c实现.doc_第1页
bp神经网络详细步骤c实现.doc_第2页
bp神经网络详细步骤c实现.doc_第3页
bp神经网络详细步骤c实现.doc_第4页
bp神经网络详细步骤c实现.doc_第5页
资源描述:

《bp神经网络详细步骤c实现.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem;usingSystem.IO;usingSystem.Text;namespaceBpANNet{///

///BpNet的摘要说明。///publicclassBpNet{publicintinNum;//输入节点数inthideNum;//隐层节点数publicintoutNum;//输出层节点数publicints

2、ampleNum;//样本总数RandomR;double[]x;//输入节点的输入数据double[]x1;//隐层节点的输出double[]x2;//输出节点的输出double[]o1;//隐层的输入double[]o2;//输出层的输入publicdouble[,]w;//权值矩阵w,这是输入层与隐藏层之间的权值矩阵publicdouble[,]v;//权值矩阵V,这是隐藏层与输出层之间的权值矩阵publicdouble[,]dw;//权值矩阵wpublicdouble[,]dv;//权值矩阵Vpublicdoublerate

3、;//学习率publicdouble[]b1;//隐层阈值矩阵publicdouble[]b2;//输出层阈值矩阵publicdouble[]db1;//隐层阈值矩阵publicdouble[]db2;//输出层阈值矩阵double[]pp;//隐藏层的误差double[]qq;//输出层的误差double[]yd;//输出层的教师数据,所谓教师数据就是实际数据而已!publicdoublee;//均方误差doublein_rate;//归一化比例系数//用于确定隐藏层的神经细胞数publicintcomputeHideNum(in

4、tm,intn){doubles=Math.Sqrt(0.43*m*n+0.12*n*n+2.54*m+0.77*n+0.35)+0.51;intss=Convert.ToInt32(s);return((s-(double)ss)>0.5)?ss+1:ss;}publicBpNet(double[,]p,double[,]t){//构造函数逻辑R=newRandom();this.inNum=p.GetLength(1);this.outNum=t.GetLength(1);this.hideNum=computeHideNum(

5、inNum,outNum);//this.hideNum=18;this.sampleNum=p.GetLength(0);Console.WriteLine("输入节点数目:"+inNum);Console.WriteLine("隐层节点数目:"+hideNum);Console.WriteLine("输出层节点数目:"+outNum);Console.ReadLine();//将这些矩阵规定好矩阵大小x=newdouble[inNum];x1=newdouble[hideNum];x2=newdouble[outNum];o1=

6、newdouble[hideNum];o2=newdouble[outNum];w=newdouble[inNum,hideNum];//权值矩阵w,这是输入层与隐藏层之间的权值矩阵v=newdouble[hideNum,outNum];dw=newdouble[inNum,hideNum];dv=newdouble[hideNum,outNum];//阈值b1=newdouble[hideNum];b2=newdouble[outNum];db1=newdouble[hideNum];db2=newdouble[outNum];/

7、/误差pp=newdouble[hideNum];//隐藏层的误差qq=newdouble[outNum];//输出层的误差yd=newdouble[outNum];//输出层的教师数据//初始化wfor(inti=0;i

8、+){v[i,j]=(R.NextDouble()*2-1.0)/2;}}rate=0.8;e=0.0;in_rate=1.0; }//训练函数publicvoidtrain(double[,]p,double[,]t){e=0.0;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。