• 大小: 276KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: 其他
  • 标签:

资源简介

神经网络反向传播算法的代码实现 可以直接运行

资源截图

代码片段和文件信息

#include “stdlib.h“
#include “math.h“
#include “conio.h“
#include “stdio.h“
#include “time.h“

#define N 1 /*学习样本个数(测试样本个数)*/
#define IN 4 /*输入层神经元数目*/
#define HN 3 /*隐层神经元数目*/
#define HN1 2/*隐层神经元数目*/
#define ON 1 /*输出层神经元数目*/
float P[IN]; /*单个样本输入数据*/
float T[ON]; /*单个样本教师数据*/
float W[HN][IN]; /*输入层至隐层权值*/
float W1[HN1][HN]; /*输入层至隐层权值*/
float V[ON][HN1]; /*隐层至输出层权值*/
float X[HN]; /*隐层的输入*/
float X1[HN1]; /*隐层的输入*/
float Y[ON]; /*输出层的输入*/
float H[HN]; /*隐层的输出*/
float H1[HN1]; /*隐层的输出*/
float O[ON]; /*输出层的输出*/
float YU_HN[HN]; /*隐层的阈值*/
float YU_HN1[HN1]; /*隐层的阈值*/
float YU_ON[ON]; /*输出层的阈值*/
float err_m[N]; /*第m个样本的总误差*/
float a1; /*输出层至隐层学习效率*/
float a; /*(输出)yi层至隐层学习效率*/
float b; /*隐层至输入层学习效率*/
float alpha;  /*/动量因子,改进型bp算法使用*/
float d_err[ON];/*δk*/
float e_err1[HN1];/*δj*/
float e_err[HN];/*δj*/
FILE *fp;
/*定义一个放学习样本的结构*/
struct {
float input[IN];
float teach[ON];
       }Study_Data[N];
/*定义一个放测试样本的结构*/
struct {
float input[IN];
float expect[ON];
       }Test_Data[N];
/*改进型bp算法用来保存每次计算的权值*/
float old_W[HN][IN];
float old_V[ON][HN];
float old_W1[ON][HN];

int Start_Show()
{
//clrscr();
system(“cls“); 
printf(“\n                       *********************** \n“);
printf(“                       *    Welcome to use   *\n“);
printf(“                       *  this program of    *\n“);
printf(“                       *  calculating the BP *\n“);
printf(“                       *      model!         *\n“);
printf(“                       *   Happy every day!  *\n“);
printf(“                       ***********************\n“);
printf(“\n\nBefore startingplease read the follows carefully:\n\n“);
printf(“    The program of BP can study itself for no more than 200000 times.\nAnd surpassing the numberthe program will be ended by itself in\npreventing running infinitely because of error!\n“);
printf(“\n\n\n“);
printf(“Now press any key to start...\n“);
getch();
//clrscr();
system(“cls“); 
return 1;
}
int End_Show()
{
printf(“\n\n---------------------------------------------------\n“);
printf(“The program has reached the end successfully!\n\nPress any key to exit!\n\n“);
printf(“\n                       ***********************\n“);
printf(“                       *    This is the end  *\n“);
printf(“                       * of the program which*\n“);
printf(“                       * can calculate the BP*\n“);
printf(“                       *      model!         *\n“);
printf(“                       ***********************\n“);
printf(“                       *  Thanks for using!  *\n“);
printf(“                       *   Happy every day!  *\n“);
printf(“                       ***********************\n“);
getch();
exit(0);
}


/*读取训练样本*/
GetTrainingData()
{int ijm;
 float datr;
 if((fp=fopen(“sample.txt““r“))==NULL)
     {
      printf(“Cannot open file strike any key exit!“);
      getch();
      exit(1);
     }
 for(i=0;i     {j=0;
      while(j!=(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        529  2009-05-06 15:34  bp.dsw

     文件      50176  2009-05-07 21:53  bp.ncb

     文件         88  2009-05-07 21:24  sample.txt

     文件        440  2009-05-07 21:50  weight.txt

     文件        867  2009-05-07 21:50  bp.plg

     文件        174  2009-05-07 21:50  limit.txt

     文件          9  2009-05-07 20:33  test.txt

     文件      48640  2009-05-07 21:53  bp.opt

     文件      41984  2009-05-07 21:50  Debug\vc60.idb

     文件      53248  2009-05-07 21:49  Debug\vc60.pdb

     文件     235464  2009-05-07 20:49  Debug\bp.pch

     文件     295408  2009-05-07 21:50  Debug\bp.ilk

     文件     258097  2009-05-07 21:50  Debug\bp.exe

     文件     615424  2009-05-07 21:50  Debug\bp.pdb

     文件      43773  2009-05-07 21:49  Debug\bp.obj

     文件          0  2009-05-06 15:34  bp.asp

     文件      15299  2009-05-07 21:52  bp.cpp

     文件       4230  2009-05-07 21:53  bp.dsp

     目录          0  2009-05-06 15:34  Debug

----------- ---------  ---------- -----  ----

              1663850                    19


评论

共有 条评论