欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年BP神经网络源代码 .pdf

    • 资源ID:27261058       资源大小:44.54KB        全文页数:7页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年BP神经网络源代码 .pdf

    #pragma hdrstop #include #include const A=30.0; const B=10.0; const MAX=500;/最大训练次数const COEF=0.0035; / 网络的学习效率const BCOEF=0.001;/ 网络的阀值调整效率const ERROR=0.002; / 网络训练中的允许误差const ACCURACY=0.0005;/ 网络要求精度double sample414=0,0,0,0,5,1,4,19.020,5,3,3,14.150, 5,5,2,14.360,5,3,3,14.150,5,3,2,15.390, 5,3,2,15.390,5,5,1,19.680,5,1,2,21.060, 5,3,3,14.150,5,5,4,12.680,5,5,2,14.360, 5,1,3,19.610,5,3,4,13.650,5,5,5,12.430, 5,1,4,19.020,5,1,4,19.020,5,3,5,13.390, 5,5,4,12.680,5,1,3,19.610,5,3,2,15.390, 1,3,1,11.110,1,5,2,6.521,1,1,3,10.190, 1,3,4,6.043,1,5,5,5.242,1,5,3,5.724, 1,1,4,9.766,1,3,5,5.870,1,5,4,5.406, 1,1,3,10.190,1,1,5,9.545,1,3,4,6.043, 1,5,3,5.724,1,1,2,11.250,1,3,1,11.110, 1,3,3,6.380,1,5,2,6.521,1,1,1,16.000, 1,3,2,7.219,1,5,3,5.724; double w41010,wc41010,b410,bc410; double o410,netin410,d410,differ;/单个样本的误差double is; /全体样本均方差int count,a; void netout(int m, int n);/ 计算网络隐含层和输出层的输出void calculd(int m,int n); / 计算网络的反向传播误差void calcalwc(int m,int n);/计算网络权值的调整量void calcaulbc(int m,int n); / 计算网络阀值的调整量void changew(int m,int n); / 调整网络权值void changeb(int m,int n);/ 调整网络阀值void clearwc(int m,int n);/ 清除网络权值变化量wc void clearbc(int m,int n);/ 清除网络阀值变化量bc void initialw(void);/初始化 NN 网络权值W void initialb(void); /初始化 NN 网络阀值void calculdiffer(void);/计算 NN 网络单个样本误差void calculis(void);/ 计算 NN 网络全体样本误差void trainNN(void);/ 训练 NN 网络/*计算 NN 网络隐含层和输出层的输出*/ void netout(int m,int n) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - int i,j,k; /隐含层各节点的的输出for (j=1,i=2;j=m;j+) /m为隐含层节点个数 netinij=0.0; for(k=1;k=3;k+)/ 隐含层的每个节点均有三个输入变量netinij=netinij+oi-1k*wikj; netinij=netinij-bij; oij=A/(1+exp(-netinij/B); /输出层各节点的输出for (j=1,i=3;j=n;j+) netinij=0.0; for (k=1;k=m;k+) netinij=netinij+oi-1k*wikj; netinij=netinij-bij; oij=A/(1+exp(-netinij/B) ; /*计算 NN 网络的反向传播误差*/ void calculd(int m,int n) int i,j,k; double t; a=count-1; d31=(o31-samplea3)*(A/B)*exp(-netin31/B)/pow(1+exp(-netin31/B),2); /隐含层的误差for (j=1,i=2;j=m;j+) t=0.00; for (k=1;k=n;k+) t=t+wi+1jk*di+1k; dij=t*(A/B)*exp(-netinij/B)/pow(1+exp(-netinij/B),2); /*计算网络权值W 的调整量 */ void calculwc(int m,int n) int i,j,k; / 输出层(第三层)与隐含层(第二层)之间的连接权值的调整for (i=1,k=3;i=m;i+) for (j=1;j=n;j+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - wckij=-COEF*dkj*ok-1i+0.5*wckij; / printf(n); /隐含层与输入层之间的连接权值的调整for (i=1,k=2;i=m;i+) for (j=1;j=m;j+) wckij=-COEF*dkj*ok-1i+0.5*wckij; /printf(n); /*计算网络阀值的调整量*/ void calculbc(int m,int n) int j; for (j=1;j=m;j+) bc2j=BCOEF*d2j; for (j=1;j=n;j+) bc3j=BCOEF*d3j; /*调整网络权值*/ void changw(int m,int n) int i,j; for (i=1;i=3;i+) for (j=1;j=m;j+) w2ij=0.9*w2ij+wc2ij; /为了保证系统有较好的鲁棒性,计算权值时乘惯性系数0.9 printf(w2%d%d=%fn,i,j,w2ij); for (i=1;i=m;i+) for (j=1;j=n;j+) w3ij=0.9*w3ij+wc3ij; printf(w3%d%d=%fn,i,j,w3ij); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - /*调整网络阀值*/ void changb(int m,int n) int j; for (j=1;j=m;j+) b2j=b2j+bc2j; for (j=1;j=n;j+) b3j=b3j+bc3j; /*清除网络权值变化量wc*/ void clearwc(void) for (int i=0;i4;i+) for (int j=0;j10;j+) for (int k=0;k10;k+) wcijk=0.00; /*清除网络阀值变化量*/ void clearbc(void) for (int i=0;i4;i+) for (int j=0;j10;j+) bcij=0.00; /*初始化网络权值W*/ void initialw(void) int i,j,k,x; double weight; for (i=0;i4;i+) for (j=0;j10;j+) for (k=0;k10;k+) randomize(); x=100+random(400); weight=(double)x/5000.00; wijk=weight; /*初始化网络阀值*/ void initialb(void) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - int i,j,x; double fazhi; for (i=0;i4;i+) for (j=0;j10;j+) randomize(); for (int k=0;k12;k+) x=100+random(400); fazhi=(double)x/50000.00; bij=fazhi; /*计算网络单个样本误差*/ void calculdiffer(void) a=count-1; differ=0.5*(o31-samplea3)*(o31-samplea3); void calculis(void) int i; is=0.0; for (i=0;i=19;i+) o11=samplei0; o12=samplei1; o13=samplei2; netout(8,1); is=is+(o31-samplei3)*(o31-samplei3); is=is/20; /*训练网络 */ void trainNN(void) long int time; int i,x4; initialw(); initialb(); for (time=1;time=MAX;time+) count=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - while(countERROR) calculd(8,1); calculwc(8,1); calculbc(8,1); changw(8,1); changb(8,1); netout(8,1); calculdiffer(); printf(This is %d times training NN.n,time); calculis(); printf(is=%fn,is); if (isACCURACY) break; /- #pragma argsused int main(int argc, char* argv) double result; int m,test4; char ch=y; coutPlease wait for the train of NN:endl; trainNN(); coutNow,this modular network can work for you.endl; while(ch=y | ch=Y) coutPlease input data to be tested.endl; for (m=1;mtestm; ch=getchar(); o11=test1; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - o12=test2; o13=test3; netout(8,1); result=o31; printf(Final result is %f.n,result); printf(Still test?Yes or Non); ch=getchar(); return 0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -

    注意事项

    本文(2022年BP神经网络源代码 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开