欢迎来到天天文库
浏览记录
ID:55631008
大小:34.00 KB
页数:13页
时间:2020-05-21
《BP神经网络实现异或功能(C++).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include"iostream.h"#include"iomanip.h"#include"stdlib.h"#include"math.h"#include"stdio.h"#include"time.h"#include"fstream.h"#defineN4//学习样本个数#defineT_N4//检验样本的个数#defineIN2//输入层神经元数目#defineHN3//隐层神经元数目#defineON1//输出层神经元数目//一般化误差数组doubledelta_ON[N][ON];do
2、ubledelta_HN[N][HN];//doubledelta_IN[N][IN];//doubleP[IN];//单个样本输入数据doubleP[N][IN];//单个样本输入数据//doubleT[ON];//单个样本教师数据doubleT[N][ON];//单个样本教师数据doubleW[HN][IN];//输入层至隐层权值doubleV[ON][HN];//隐层至输出层权值doubleX[HN];//隐层的输入doubleY[ON];//输出层的输入//doubleH[HN];//隐层的输出
3、doubleH[N][HN];//隐层的输出doubleO[ON];//输出层的输出doubleYU_HN[HN];//隐层的阈值doubleYU_ON[ON];//输出层的阈值//doubleerr_m[N];//第m个样本的总误差doubleerr_m[N][ON];//第m个样本的总误差doublesum_err_m[N];doublea1;//输出层至隐层的学习效率doublea2;doubleb1;//隐层至输入层学习效率doubleb2;ofstreamout_test_result("te
4、st_result.txt",ios::out);//定义一个放学习样本的结构struct{doubleinput[IN];//输入在上面定义是一个doubleteach[ON];//输出在上面定义也是一个}Study_Data[N];//学习样本//定义一个放检测样本的结构struct{doubleinput[IN];//输入在上面定义是一个doubleteach[ON];//输出在上面定义也是一个}Test_Data[T_N];//检测样本/////////////////////////////初
5、始化权、阈值子程序////////////////////////////////initial(){//隐层权、阈值初始化//srand((unsigned)time(NULL));for(inti=0;i6、;k7、=Study_Data[m].input[i];//获得第m个样本的数据return1;}//子程序Train_input_P(m)结束Test_input_P(intm){for(inti=0;i8、//Train_input_T(intm){for(intk=0;k
6、;k7、=Study_Data[m].input[i];//获得第m个样本的数据return1;}//子程序Train_input_P(m)结束Test_input_P(intm){for(inti=0;i8、//Train_input_T(intm){for(intk=0;k
7、=Study_Data[m].input[i];//获得第m个样本的数据return1;}//子程序Train_input_P(m)结束Test_input_P(intm){for(inti=0;i8、//Train_input_T(intm){for(intk=0;k
8、//Train_input_T(intm){for(intk=0;k
此文档下载收益归作者所有