




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include #include #include #include #define OUT_COUT 2 /输出向量维数#define IN_COUT 3 /输入向量维数#define COUT 6 /样本数量typedef struct /bp人工神经网络结构 int h; /实际使用隐层数量 double vIN_COUT50; /隐藏层权矩阵i,隐层节点最大数量为50 double w50OUT_COUT; /输出层权矩阵 double a; /学习率 double b; /精度控制参数 int LoopCout; /最大循环次数 bp_nn;double fnet(double net) /Sigmoid函数,神经网络激活函数 return 1/(1+exp(-net);int InitBp(bp_nn *bp) /初始化bp网络 printf(请输入隐层节点数,最大数为100:n); scanf(%d, &(*bp).h); printf(请输入学习率:n); scanf(%lf, &(*bp).a); /(*bp).a为double型数据,所以必须是lf printf(请输入精度控制参数:n); scanf(%lf, &(*bp).b); printf(请输入最大循环次数:n); scanf(%d, &(*bp).LoopCout); int i, j; srand(unsigned)time(NULL); for (i = 0; i IN_COUT; i+) for (j = 0; j (*bp).h; j+) (*bp).vij = rand() / (double)(RAND_MAX); for (i = 0; i (*bp).h; i+) for (j = 0; j OUT_COUT; j+) (*bp).wij = rand() / (double)(RAND_MAX); return 1;int TrainBp(bp_nn *bp, float xCOUTIN_COUT, int yCOUTOUT_COUT) /训练bp网络,样本为x,理想输出为y double f = (*bp).b; /精度控制参数 double a = (*bp).a; /学习率 int h = (*bp).h; /隐层节点数 double vIN_COUT50, w50OUT_COUT; /权矩阵 double ChgH50, ChgOOUT_COUT; /修改量矩阵 double O150, O2OUT_COUT; /隐层和输出层输出量 int LoopCout = (*bp).LoopCout; /最大循环次数 int i, j, k, n; double temp; for (i = 0; i IN_COUT; i+) / 复制结构体中的权矩阵 for (j = 0; j h; j+) vij = (*bp).vij; for (i = 0; i h; i+) for (j = 0; j f & n LoopCout; n+) /对每个样本训练网络 e = 0; for (i= 0; i COUT; i+) for (k= 0; k h; k+) /计算隐层输出向量 temp = 0; for (j = 0; j IN_COUT; j+) temp = temp + xij * vjk; O1k = fnet(temp); for (k = 0; k OUT_COUT; k+) /计算输出层输出向量 temp = 0; for (j = 0; j h; j+) temp = temp + O1j * wjk; O2k = fnet(temp); for (j = 0; j OUT_COUT; j+) /计算输出层的权修改量 ChgOj = O2j * (1 - O2j) * (yij - O2j); for (j = 0; j OUT_COUT ; j+) /计算输出误差 e = e + (yij - O2j) * (yij - O2j); for (j = 0; j h; j+) /计算隐层权修改量 temp = 0; for (k = 0; k OUT_COUT; k+) temp = temp + wjk * ChgOk; ChgHj = temp * O1j * (1 - O1j); for (j = 0; j h; j+) /修改输出层权矩阵 for (k = 0; k OUT_COUT; k+) wjk = wjk + a * O1j * ChgOk; for (j = 0; j IN_COUT; j+) for (k = 0; k h; k+) vjk = vjk + a * xij * ChgHk; if (n % 10 = 0) printf(误差 : %fn, e); printf(总共循环次数:%dn, n); printf(调整后的隐层权矩阵:n); for (i = 0; i IN_COUT; i+) for (j = 0; j h; j+) printf(%f , vij); printf(n); printf(调整后的输出层权矩阵:n); for (i = 0; i h; i+) for (j = 0; j OUT_COUT; j+) printf(%f , wij); printf(n); for (i = 0; i IN_COUT; i+) /把结果复制回结构体 for (j = 0; j h; j+) (*bp).vij = vij; for (i = 0; i h; i+) for (j = 0; j OUT_COUT; j+) (*bp).wij = wij; printf(bp网络训练结束!n); return 1;int UseBp(bp_nn *bp) /使用bp网络 float InputIN_COUT; double O150; double O2OUT_COUT; /O1为隐层输出,O2为输出层输出 while (1) /持续执行,除非中断程序 printf(请输入3个数:n); int i, j; for (i = 0; i IN_COUT; i+) scanf(%f, &Inputi); double temp; for (i = 0; i (*bp).h; i+) temp = 0; for (j = 0; j IN_COUT; j+) temp += Inputj * (*bp).vji; O1i = fnet(temp); for (i = 0; i OUT_COUT; i+) temp = 0; for (j = 0; j (*bp).h; j+) temp += O1j * (*bp).wji; O2i = fnet(temp); printf(结果: ); for (i = 0; i OUT_COUT; i+) printf(%.3f , O2i); printf(n); return 1;int main() float xCOUTIN_COUT = 0.8,0.5,0, 0.9,0.7,0.3, 1,0.8,0.5, 0,0.2,0.3, 0.2,0.1,1.3, 0.2,0.7,0.8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东茂名市供销集团有限公司招聘10人考前自测高频考点模拟试题附答案详解(模拟题)
- 2025年绥化市明水县人民医院招聘中医医生模拟试卷完整参考答案详解
- 2025辽宁抚顺新抚钢有限责任公司招聘拟聘用人员考前自测高频考点模拟试题及答案详解参考
- 2025江苏南通市通州区兴东街道招聘劳务派遣人员4人考前自测高频考点模拟试题及答案详解一套
- 2025年济宁嘉祥县事业单位公开招聘工作人员(教育类)(68人)考前自测高频考点模拟试题及答案详解(必刷)
- 2025贵州省卫生健康委员会“银龄计划”(引进退休高级医疗卫生人才)模拟试卷及答案详解(网校专用)
- 2025年安徽皖信人力宿州分公司业务外委用工招聘4人考前自测高频考点模拟试题及答案详解(有一套)
- 2025呼伦贝尔农垦集团有限公司校园招聘44人模拟试卷及答案详解(考点梳理)
- 2025年丽水遂昌县中医院医共体招聘临时药剂工勤人员2人模拟试卷附答案详解(突破训练)
- 2025春季北方华创招聘考前自测高频考点模拟试题及答案详解(各地真题)
- 跨境资金池管理办法
- 校企挂职锻炼协议书范本
- 驾照换证考试题库及答案
- 医药物流仓库管理流程标准
- 2025至2030鸡汁行业风险投资态势及投融资策略指引报告
- 光电成像原理与技术课件
- (高清版)DB31∕T 1578-2025 微型消防站建设与运行要求
- 儿童百日咳的诊治
- 40篇英语短文搞定高考3500个单词(全部含翻译,重点解析)
- 江苏艺考笔试题及答案
- 2025年中考语文作文中考12大主题作文模板!-分步详解+例文示范
评论
0/150
提交评论