没有合适的资源?快使用搜索试试~ 我知道了~
权值用伪随机数函数随机产生(范围是(0,0.5)) 采用结构体及链表来实现神经网络的结构 分为实例结构体、层结构体和网络结构体 数据结构的设计参照了《人工神经网
资源详情
资源评论
资源推荐
http://wenku.baidu.com/link?url=lhTDjLUeibwAEC3c06hb5dEOk7qstXz0o8MPZjDaAda2n0bN3cP
2AyXKGMtzSXHFm-vb5ljZWg7YdZY5X8srP7XDDhQ-twPILFWwp-OBUHu
BP 神经网络 C 程序
在该题的程序设计中采用了文件相关的操作,记录了相关学习和测试信息数据。权值用伪随
机数函数随机产生(范围是(0,0.5)) 采用结构体及链表来实现神经网络的结构 分为实例
结构体、层结构体和网络结构体 数据结构的设计参照了《人工神经网络原理》(马锐编著,
北京:机械工业出版社,2010,7)一书
学习算法的优化也参照该书
采用学习效率自适应调整算法优化源程序的学习算法,以减少学习次数
由于能力和知识有限,该程序存在较大漏洞误差,在调整学习率时,不好掌握调节系数 初
始权值的限定范围适中,则程序的学习次数将明显减少
在随机赋初始权值(0,0.5)时,学习次数可调节至 135,但对测试数据的判别效果不理想,
没有采用
#include<stdio.h> #include<stdlib.h> #include<math.h> #include<malloc.h>
#define TRUE 1 #define FALSE 0
#define NUM_LAYERS 4
#define NUM 20 //训练实例个数 #define N 2 //输
入层单元数 #define M 2 //输出层单元数
int Units[NUM_LAYERS] = {N,3,3,M}; //每层单元数 FILE *fp,*fb;
typedef struct //训练实例 { float x[N]; float y[M]; }TRAIN;
typedef struct //网络层结构 { int Units; //该层中单元的
个数 float *Output; //第 i 个单元的输出 float *Error; //第 i 个
单元的校正误差 float **Weight; //第 i 个单元的连接权值
}LAYER;
typedef struct // 网 络 { LAYER **Layer;
// 隐 层 定 义 LAYER *Inputlayer; // 输 入 层 LAYER *Outputlayer;
// 输 出 层 float Error; // 允 许 误 差 float Eta;
//学习率 }NET;
//初始化伪随机数发生器 void InitializeRandoms() { srand(4711); return; }
//产生随机实数并规范化
float RandomReal() //产生(-0.5,0.5)之间的随机数 { return
(float)((rand()%100)/200.0); }
//初始化训练数据
void InitializeTrainingData(TRAIN *training) { int i,j; char filename[20]; printf(" 请输入训
练 实 例 的 数 据 文 件 名 : "); gets(filename); fb = fopen(filename,"r");
fprintf(fp,"--Saving initialization training datas ..."); for(i=0;i<NUM;i++)
{ for(j=0;j<N;j++) { fscanf(fb,"%f",&(training+i)->x[j]);
fprintf(fp,"%10.4f",(training+i)->x[j]); } for(j=0;j<M;j++)
{ fscanf(fb,"%f",&(training+i)->y[j]); fprintf(fp,"%10.4f",(training+i)->y[j]);
}LAYER;
一筐猪的头发丝
- 粉丝: 62
- 资源: 315
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 上市公司-人工智能的采纳程度面板数据(2003-2021年).xlsx
- 第5章spring-mvc请求映射处理
- 2023-04-06-项目笔记 - 第一百十六阶段 - 4.4.2.114全局变量的作用域-114 -2024.04.27
- app-release.apk.1
- soap json 等系列化方式
- c++的五子棋代码,在vs6.0上完美运行
- 基于Javaee的影视创作论坛的设计与实现.rar
- Python导出Mysql数据字典(部分表或全表)
- Java工具类实现输入一个路径,强创建路径、并且鉴权目标路径是否具备修改权限,用于增强程序的健壮性与稳定性,快速开发!
- 资源【STM32+HAL】三轴按键PS2摇杆
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0