下载此文档

BP算法C++实现.doc


文档分类:IT计算机 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
BP算法C++实现.doc#include "" #include "" #define N 20 // 学习样本个数 #define IN 1 // 输入层神经元数目 #define HN 8 // 隐层神经元数目 #define ON 1 // 输出层神经元数目 double P[IN]; // 单个样本输入数据 double T[ON]; // 单个样本教师数据 double W[HN][IN]; // 输入层至隐层权值 double V[ON][HN]; // 隐层至输出层权值 double X[HN]; // 隐层的输入 double Y[ON]; // 输出层的输入 double H[HN]; // 隐层的输出 double O[ON]; // 输出层的输出 double sita[HN]; // 隐层的阈值 double gama[ON]; //输出层的阈值 double err_m[N]; //第m个样本的总误差 double alpha; // 输出层至隐层的学习效率 double beta; // 隐层至输入层学习效率 // 定义一个放学习样本的结构 struct {
double input[IN]; double teach[ON];
}Study_Data[N][IN];
///////////////////////////
// 初始化权、阈值子程序 /////
///////////////////////////
initial() { float sgn; float rnd; int i,j;
// 隐层权、阈值初始化//
{ //sgn=pow((-1),random(100)); sgn=rand();
rnd=sgn*(rand()%100);
W[j][i]= rnd/100;// 隐层权值初始化。
}
//randomize();
{ //sgn=pow((-1),random(1000)); sgn=rand();
rnd=sgn*(rand()%1000); sita[j]= rnd/1000;// 中间层阈值初始化 cout<<"sita"<<sita[j]<<endl;
}
// 输出层权、阈值初始化//
//randomize();
for (int k=0;k<ON;k++) for (int j=0;j<HN;j++) {
//sgn=pow((-1),random(1000)); sgn=rand();
rnd=sgn*(rand()%1000);
V[k][j]=rnd/1OOO;〃 第m个样本输出层权值初始化
} //randomize();
{ //sgn=pow((-1),random(1O)); sgn=rand();
rnd=sgn*(rand()%1O); gama[k]=rnd/1O;// 输出层阈值初始化 cout<<"gama[k]"<<endl;
}
return 1;
}// 子程序 initial() 结束
////////////////////////////////
////第m个学习样本输入子程序///
///////////////////////////////
input

BP算法C++实现 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小辰GG1
  • 文件大小93 KB
  • 时间2021-11-18