亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? bp2.txt

?? 提供的是BP網(wǎng)絡(luò)C程序
?? TXT
字號(hào):
//***************************************************************//
//                     BP neural network                           //
//***************************************************************//

//訓(xùn)練樣本如下
//      1
//      1
//     -1
//      0
//      1
//      1
//     -1
//      1
//      0
//      1

//    每五行為一組 前三個(gè)是數(shù)據(jù)數(shù)據(jù) 后兩個(gè)是教師信號(hào)


#include "stdlib.h"
#include "math.h"
#include "stdio.h"
#define N 2 /*/學(xué)習(xí)樣本個(gè)數(shù)*/
#define IN 3 /*/輸入層神經(jīng)元數(shù)目*/
#define HN 3 /*/隱層神經(jīng)元數(shù)目*/
#define ON 2 /*/輸出層神經(jīng)元數(shù)目*/
#define Z 20 /*/舊權(quán)值保存-》每次study的權(quán)值都保存下來(lái)*/
double P[IN]; /*/單個(gè)樣本輸入數(shù)據(jù)*/
double T[ON]; /*/單個(gè)樣本教師數(shù)據(jù)*/
double W[HN][IN]; /*/輸入層至隱層權(quán)值*/
double V[ON][HN]; /*/隱層至輸出層權(quán)值*/
double X[HN]; /*/隱層的輸入*/
double Y[ON]; /*/輸出層的輸入*/
double H[HN]; /*/隱層的輸出*/
double O[ON]; /*/輸出層的輸出*/
double YU_HN[HN]; /*/隱層的閾值*/
double YU_ON[ON]; /*/輸出層的閾值*/
double err_m[N]; /*/第m個(gè)樣本的總誤差*/
double a; /*/輸出層至隱層的學(xué)習(xí)效率*/
double b; /*/隱層至輸入層學(xué)習(xí)效率*/
double alpha;    /*/動(dòng)量因子,改進(jìn)型bp算法使用*/
double d_err[ON];


FILE *fp;
/*定義一個(gè)放學(xué)習(xí)樣本的結(jié)構(gòu)*/
struct {
double input[IN];
double teach[ON];
}Study_Data[N];

/*改進(jìn)型bp算法用來(lái)保存每次計(jì)算的權(quán)值*/
struct {
double old_W[HN][IN];
double old_V[ON][HN];
}Old_WV[Z];


void   Start_Show()
{
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 starting,please read the follows carefully:\n\n");
printf("      1.Please ensure the Path of the '訓(xùn)練樣本.txt'(xunlianyangben.txt) is \ncorrect,like 'F:\\BP\\訓(xùn)練樣本.txt'!\n");
printf("      2.The calculating results will be saved in the Path of 'F:\\BP\\'!\n");
printf("      3.The program will load 10 datas when running from 'F:\\BP\\訓(xùn)練樣本.txt'!\n");
printf("      4.The program of BP can study itself for no more than 30000 times.\nAnd surpassing the number,the 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");

}

void 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");
exit(0);
}


GetTrainingData()        /*OK*/
{ 
int m,i,j;
int datr;

if((fp=fopen("e:\\BP_DATA.txt","r"))==NULL)           /*讀取訓(xùn)練樣本*/
{
   printf("Cannot open file strike any key exit!");
   exit(1);
}

m=0;
i=0;
j=0;
while(fscanf(fp,"%d",&datr)!=EOF)
{
   if (i<IN)
   {
    Study_Data[m].input[i]=datr;
    i++;
   }
   else 
   {
    Study_Data[m].teach[j]=datr;
    j++;
    if (j==ON)
    {
     m++;
     i=0;
     j=0;
    }
   }
  
}
fclose(fp);
printf("\nThere are [%d] datats that have been loaded successfully!\n",j);


/*show the data which has been loaded!*/
printf("\nShow the data which has been loaded as follows:\n");
for(m=0;m<N;m++) 
{
   for(i=0;i<IN;i++)  
   {
    printf("\nStudy_Data[%d].input[%d]=%f",m,i,Study_Data[m].input[i]);
   }
   for(j=0;j<ON;j++)   
   {
    printf("\nStudy_Data[%d].teach[%d]=%f",m,j,Study_Data[m].teach[j]);
   }
}
printf("\n\nPress any key to start calculating...\n\n");
return 1;
}



/*///////////////////////////////////*/
/*初始化權(quán)、閾值子程序*/
/*///////////////////////////////////*/
initial()
{
int i;
int ii;
int j;
int jj;
int k;
int kk;
/*隱層權(quán)、閾值初始化*/

for(i=0;i<HN;i++)
{
   for(j=0;j<IN;j++)
   {
    W[i][j]=(double)((rand()/32767.0)*2-1); /*初始化輸入層到隱層的權(quán)值,隨機(jī)模擬0 和 1 -1 */
    printf("w[%d][%d]=%f\n",i,j,W[i][j]);
   }
}
for(ii=0;ii<ON;ii++)
{
   for(jj=0;jj<HN;jj++)
   {
    V[ii][jj]= (double)((rand()/32767.0)*2-1); /*初始化隱層到輸出層的權(quán)值,隨機(jī)模擬0 和 1 -1*/
    printf("V[%d][%d]=%f\n",ii,jj,V[ii][jj]);
   }
}
for(k=0;k<HN;k++)
{
   YU_HN[k] = (double)((rand()/32767.0)*2-1);    /*隱層閾值初始化 ,-0.01 ~ 0.01 之間*/
   printf("YU_HN[%d]=%f\n",k,YU_HN[k]);
}
for(kk=0;kk<ON;kk++)
{
   YU_ON[kk] = (double)((rand()/32767.0)*2-1); /*輸出層閾值初始化 ,-0.01 ~ 0.01 之間*/
   printf("YU_ON[%d]=%f\n",kk,YU_ON[kk]);
}
return 1;
}/*子程序initial()結(jié)束*/


/*//////////////////////////////////////////*/
/*第m個(gè)學(xué)習(xí)樣本輸入子程序*/
/*/////////////////////////////////////////*/
input_P(int m)
{ 
int i;
for(i=0;i<IN;i++)  
{
   P[i]=Study_Data[m].input[i];
         printf("P[%d]=%f\n",i,P[i]);
}
/*獲得第m個(gè)樣本的數(shù)據(jù)*/
return 1;
}/*子程序input_P(m)結(jié)束*/


/*/////////////////////////////////////////*/
/*第m個(gè)樣本教師信號(hào)子程序*/
/*/////////////////////////////////////////*/
input_T(int m)
{
int k;
for(k=0;k<ON;k++)
{
   T[k]=Study_Data[m].teach[k];
}
return 1;
}/*子程序input_T(m)結(jié)束*/


//隱層輸出 H
H_I_O()
{
double sigma;
int i,j;
for(j=0;j<HN;j++)
{
   sigma=0;
   for(i=0;i<IN;i++)    
   {
    sigma+=W[j][i]*P[i];       /*求隱層內(nèi)積*/
   }
  
   X[j]=sigma-YU_HN[i];           /*求隱層凈輸入,為什么減隱層的閥值*/
   H[j]=1.0/(1.0+exp(-X[j]));      /*求隱層輸出 siglon算法*/
     }
return 1;
}/*子程序H_I_O()結(jié)束*/


//輸出層輸出
O_I_O()
{
int k;
int j;
double sigma;
for(k=0;k<ON;k++) 
{
   sigma=0.0;
   for(j=0;j<HN;j++)   
   {
    sigma+=V[k][j]*H[j];
   }
   Y[k]=sigma-YU_ON[k];
   O[k]=1.0/(1.0+exp(-Y[k]));
}
return 1;
}


//輸出層誤差計(jì)算
int Err_O_H(int m)
{
int k;
double abs_err[ON];
double sqr_err=0;
for (k=0;k<ON;k++)   
{
   abs_err[k]=T[k]-O[k];
   sqr_err+=(abs_err[k])*(abs_err[k]);
   d_err[k]=abs_err[k]*O[k]*(1.0-O[k]);
   err_m[m]=sqr_err/2;
}
return 1;
}

//隱層誤差計(jì)算
double e_err[HN];
int Err_H_I()
{
int j,k;
double sigma;
for(j=0;j<HN;j++) 
{
   sigma=0.0;
   for(k=0;k<ON;k++)   
   {
    sigma=d_err[k]*V[k][j];
   }
   e_err[j]=sigma*H[j]*(1-H[j]);
}
return 1;
}


saveWV(int m)
{
int i;
int ii;
int j;
int jj;
for(i=0;i<HN;i++)  
{
   for(j=0;j<IN;j++)     
   {
    Old_WV[m].old_W[i][j] = W[i][j];
   }
}
for(ii=0;ii<ON;ii++) 
{
   for(jj=0;jj<HN;jj++)     
   {
    Old_WV[m].old_V[ii][jj] = V[ii][jj];
   }
}
return 1;
}


//--------------------------------------------
//   隱層到輸出層權(quán)值調(diào)整
//--------------------------------------------
int Delta_O_H(int n)                   /*(int m,int n)*/
{
int k,j;
if(n<1)    /*n<=1*/
{
   for (k=0;k<ON;k++)    
   {
    for (j=0;j<HN;j++)       
    {
     V[k][j]=V[k][j]+a*d_err[k]*H[j];
    }
    YU_ON[k]+=a*d_err[k];
   }
}
else if(n>1)   //在權(quán)值調(diào)整中假如姿態(tài)項(xiàng)
{
   for (k=0;k<ON;k++)      
   {
    for (j=0;j<HN;j++)   
    {
     V[k][j]=V[k][j]+a*d_err[k]*H[j]+alpha*(V[k][j]-Old_WV[(n-1)].old_V[k][j]);
    }
    YU_ON[k]+=a*d_err[k];
   }
}
return 1;
}


Delta_H_I(int n)                 /*(int m,int n)*/
{ 
int i,j;

if(n<=1)     /*n<=1*/
{
   for (j=0;j<HN;j++) 
   {
    for (i=0;i<IN;i++)     
    {
     W[j][i]=W[j][i]+b*e_err[j]*P[i];
    }
    YU_HN[j]+=b*e_err[j];
   }
}
else if(n>1)   //在權(quán)值調(diào)整中假如姿態(tài)項(xiàng)
{
   for(j=0;j<HN;j++)    
   {
    for(i=0;i<IN;i++)    
    {
     W[j][i]=W[j][i]+b*e_err[j]*P[i]+alpha*(W[j][i]-Old_WV[(n-1)].old_W[j][i]);
    }
    YU_HN[j]+=b*e_err[j];
   }
}
return 1;
}



double Err_Sum()
{
int m;
double total_err=0;
for(m=0;m<N;m++) 
{
   total_err+=err_m[m];
}
return total_err;
}


void savequan()
{
int i,j,k;
int ii,jj,kk;

if((fp=fopen("e:\\BP_WEIGHT.txt","a"))==NULL)           /*save the result at f:\hsz\bpc\*.txt*/
{
   printf("Cannot open file strike any key exit!");
   exit(1);
}

fprintf(fp,"Save the result of “權(quán)值”(quanzhi) as follows:\n");
for(i=0;i<HN;i++) 
{
   for(j=0;j<IN;j++)   
    fprintf(fp,"W[%d][%d]=%f\n",i,j,W[i][j]);
}

fprintf(fp,"\n");
for(ii=0;ii<ON;ii++) 
{
   for(jj=0;jj<HN;jj++) 
    fprintf(fp,"V[%d][%d]=%f\n",ii,jj,V[ii][jj]);
}

fclose(fp);
printf("\nThe result of 'BP_WEIGHT.txt'(quanzhi) has been saved successfully!\nPress any key to continue...");


if((fp=fopen("e:\\BP_YUZHI.txt","a"))==NULL)           /*save the result at f:\hsz\bpc\*/
{
   printf("Cannot open file strike any key exit!");
   exit(1);
}

fprintf(fp,"Save the result of “輸出層的閾值”(huozhi) as follows:\n");
for(k=0;k<ON;k++) 
   fprintf(fp,"YU_ON[%d]=%f\n",k,YU_ON[k]);

fprintf(fp,"\nSave the result of “隱層的閾值為”(huozhi) as follows:\n");
for(kk=0;kk<HN;kk++)  
   fprintf(fp,"YU_HN[%d]=%f\n",kk,YU_HN[kk]);

fclose(fp);
printf("\nThe result of “閾值.txt”(huozhi) has been saved successfully!\nPress any key to continue...");
}


/**********************/
/**程序入口,即主程序**/
/**********************/

void main()
{
double Pre_error;
double sum_err;
int study;
int flag;
flag=30000;
a=0.7;
b=0.7;
alpha=0.9;
study=0;
Pre_error=0.0001;/*實(shí)際值為Pre_error=0.0001;*/

Start_Show();
GetTrainingData();
initial();

do
{
   int m;
   ++study;
   for(m=0;m<N;m++)
   {
    input_P(m);
    input_T(m);
    H_I_O();
    O_I_O();
    Err_O_H(m);
    Err_H_I();
    saveWV(m);             /****************/
    Delta_O_H(2);                               /*(m,study)*/
    Delta_H_I(2);                                /*(m,study)*/
   }
   sum_err=Err_Sum();
   printf("sum_err=%f\n",sum_err);
   printf("Pre_error=%f\n\n",Pre_error);
  
   if(study>flag)
   {
    printf("\n*******************************\n");
    printf("The program is ended by itself because of error!\nThe learning times is surpassed!\n");
    printf("*****************************\n");
    break;
   }

}while (sum_err>Pre_error);

printf("\n****************\n");
printf("\nThe program have studyed for [%d] times!\n",study);
printf("\n****************\n");
savequan();          /*save the results*/
End_Show();
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久97超碰国产精品超碰| 国产拍欧美日韩视频二区 | 久久精品国产在热久久| 欧美在线不卡视频| 亚洲美女电影在线| 国产精品1024| 久久精品视频免费| 韩国女主播一区| 日本一区二区三区视频视频| 视频在线在亚洲| 欧洲av在线精品| 亚洲激情网站免费观看| 91小宝寻花一区二区三区| 国产精品成人午夜| 成人h动漫精品一区二| 日本一区二区视频在线| 三级欧美韩日大片在线看| 在线影视一区二区三区| 亚洲九九爱视频| 欧美成人一区二区三区| 日韩激情av在线| 精品噜噜噜噜久久久久久久久试看| 免费精品99久久国产综合精品| 欧美成人性战久久| 国产一区二区网址| 国产精品不卡在线观看| 在线播放亚洲一区| 国产成人在线观看免费网站| 亚洲女同一区二区| 国产女同性恋一区二区| 欧美高清你懂得| 99久久婷婷国产综合精品| 三级久久三级久久| ...av二区三区久久精品| 日韩三级视频在线观看| 91麻豆文化传媒在线观看| 视频一区在线视频| 中文字幕精品综合| 久久综合色鬼综合色| 91精品午夜视频| 欧美精品日韩精品| 欧美在线观看禁18| 色婷婷国产精品| jizz一区二区| 成人深夜在线观看| 国产在线精品一区二区夜色 | 99精品久久久久久| 福利电影一区二区| 国产91丝袜在线观看| 国产精品一品二品| 国产一区二区三区综合| 狠狠色狠狠色综合| 成人午夜av影视| 国产成人超碰人人澡人人澡| 亚洲女女做受ⅹxx高潮| 中文字幕一区在线观看视频| 26uuu欧美日本| 国产日产欧产精品推荐色| 欧美岛国在线观看| 国产日韩在线不卡| 中文字幕在线不卡一区| 日韩 欧美一区二区三区| 日本午夜精品一区二区三区电影| 日韩精品一二三四| 国产精品18久久久久久久久久久久| 国内外成人在线视频| 91久久香蕉国产日韩欧美9色| 成人a区在线观看| 色综合天天综合网天天看片| 欧美性猛交xxxx乱大交退制版| 7777精品伊人久久久大香线蕉完整版 | 国产成人综合亚洲91猫咪| 成人精品高清在线| av激情亚洲男人天堂| 欧美中文字幕不卡| 久久99精品一区二区三区三区| 欧美日韩国产另类一区| 久久精品人人做人人综合| 中文字幕一区免费在线观看| 亚洲国产日韩一区二区| 国产精品资源网| 欧美三级电影精品| 亚洲国产精品传媒在线观看| 喷白浆一区二区| 欧美亚洲动漫精品| 国产日韩精品视频一区| 日产欧产美韩系列久久99| 成人黄色网址在线观看| 91麻豆精品国产91久久久使用方法| 国产亚洲短视频| 欧美三区在线视频| 久久精品一区二区三区不卡| 亚洲综合久久av| 99re成人精品视频| 久久久久久久国产精品影院| 免费成人美女在线观看.| 色婷婷国产精品| 亚洲黄色录像片| 成人黄色av电影| 久久久美女艺术照精彩视频福利播放| 香蕉加勒比综合久久| 在线精品观看国产| 亚洲少妇30p| 成人免费电影视频| 亚洲日本va午夜在线影院| 懂色av一区二区三区蜜臀| 欧美国产97人人爽人人喊| aa级大片欧美| 天堂午夜影视日韩欧美一区二区| 91精品啪在线观看国产60岁| 久久99国产精品久久99果冻传媒| 久久久精品人体av艺术| 一本色道综合亚洲| 日韩电影一二三区| 国产精品国产自产拍高清av王其| 欧美亚洲国产bt| 国产成人精品免费网站| 亚洲成人你懂的| 欧美国产日韩精品免费观看| 在线亚洲免费视频| 国产在线不卡视频| 色综合久久精品| 亚洲午夜国产一区99re久久| 欧美丰满少妇xxxbbb| 麻豆国产欧美日韩综合精品二区| 精品日韩99亚洲| 91麻豆成人久久精品二区三区| 同产精品九九九| 国产三级欧美三级日产三级99| 日本道精品一区二区三区| 日本在线播放一区二区三区| 亚洲国产精品av| 欧美精品乱人伦久久久久久| 国产不卡一区视频| 偷拍日韩校园综合在线| 国产精品三级av| 精品欧美一区二区三区精品久久| 99视频在线精品| 国产电影一区在线| 狠狠色丁香婷综合久久| 日韩黄色片在线观看| 亚洲精品高清在线观看| 中文乱码免费一区二区| 日韩欧美国产电影| 欧美电影在线免费观看| 欧美日韩成人综合在线一区二区| 国产成人h网站| 麻豆高清免费国产一区| 天堂久久久久va久久久久| 国产精品欧美久久久久无广告| 久久先锋影音av| 欧美v亚洲v综合ⅴ国产v| 91精品国产aⅴ一区二区| 欧美性视频一区二区三区| 色综合一个色综合亚洲| 成人午夜短视频| 不卡视频免费播放| 99精品视频在线观看免费| 白白色亚洲国产精品| 91网上在线视频| 51精品久久久久久久蜜臀| 日韩区在线观看| 欧美不卡在线视频| 国产亚洲欧美一区在线观看| 亚洲欧洲av另类| 日韩影院在线观看| 日韩国产精品91| 免费成人性网站| 91精品91久久久中77777| 日韩欧美不卡在线观看视频| 国产精品毛片无遮挡高清| 亚洲va欧美va人人爽午夜| 国产成人在线视频网站| 欧美精品tushy高清| 欧美国产欧美综合| 亚洲成a人片在线观看中文| 国产一区二区三区美女| 欧美日韩免费一区二区三区| 国产精品第一页第二页第三页| 婷婷成人综合网| 在线免费亚洲电影| √…a在线天堂一区| 国产精品白丝jk黑袜喷水| 欧美精品亚洲二区| 成人免费视频在线观看| 麻豆国产91在线播放| 91丨九色porny丨蝌蚪| 2021国产精品久久精品| 亚洲精品菠萝久久久久久久| 国产尤物一区二区| 欧美放荡的少妇| 亚洲精选视频免费看| 成人午夜视频免费看| 日韩欧美国产精品| 亚洲一线二线三线久久久| 99精品视频在线观看免费| 国产精品福利电影一区二区三区四区| 麻豆国产精品视频| 欧美老年两性高潮| 中文字幕中文字幕一区二区|