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

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

?? main.cpp

?? 神經(jīng)網(wǎng)絡(luò)BP算法,實現(xiàn)數(shù)字識別 VC++代碼實現(xiàn)
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
******************************************************************************/    
void InitializeApplication(NET* Net)     
{    
  INT  n, i,j;         
     
  for (n=0; n<NUM_DATA; n++) {    
      for (i=0; i<Y; i++) {    
          for (j=0; j<X; j++) {    
              if ( Pattern[n][i][j] == 'O' )    
                    Input[n][i*X+j]  = HI ;    
                else Input[n][i*X+j]  =LO ;     
              //NUM_DATA輸入模式,輸入層X*Y個神經(jīng)元    
          }    
      }    
  }    
  f = fopen("result.txt", "w");    
}    
/******************************************************************************   
                      訓(xùn)練網(wǎng)絡(luò)   
//將每個樣本投入網(wǎng)絡(luò)運作,Input是轉(zhuǎn)換后的輸入模式,Target為導(dǎo)師信號,通過布爾型   
//的Training和Ptotocoling值控制是否訓(xùn)練和打印輸入/輸出模式   
******************************************************************************/    
void SimulateNet(NET* Net, REAL* Input, REAL* Target, BOOL Training,BOOL Protocoling)    
{    
  REAL Output[M]; //用來記錄輸出層輸出    
  SetInput(Net, Input,Protocoling);//設(shè)置輸入層,獲得輸入層的輸出    
  PropagateNet(Net);//計算網(wǎng)絡(luò)各層的輸出             
  GetOutput(Net, Output,Protocoling);//獲得輸出層的輸出    
     
  ComputeOutputError(Net, Target);//計算輸出層誤差    
  if (Training) {    
    BackpropagateNet(Net);//誤差反向傳播    
    AdjustWeights(Net);//調(diào)整聯(lián)接權(quán)    
  }    
}    
/******************************************************************************   
    獲得輸入層的輸出            
******************************************************************************/    
void SetInput(NET* Net, REAL* Input,BOOL Protocoling)    
{    
  INT i;    
     
  for (i=1; i<=Net->InputLayer->Units; i++) {           
    Net->InputLayer->Output[i] = Input[i-1];      //輸入層輸入    
  }    
  if (Protocoling) {    
    WriteInput(Net, Input);//根據(jù)Protocoling值輸出輸入模式    
  }    
}    
/******************************************************************************   
//計算當(dāng)前層的網(wǎng)絡(luò)輸出,upper 為當(dāng)前層,LOWER為前一層                      
******************************************************************************/    
void PropagateLayer(NET* Net, LAYER* Lower, LAYER* Upper)     
{    
  INT  i,j;    
  REAL Sum;    
  
  for (i=1; i<=Upper->Units; i++) {    
    Sum = 0;    
    for (j=0; j<=Lower->Units; j++) {    
      Sum += Upper->Weight[i][j] * Lower->Output[j];  //計算本層的凈輸入    
    }     
  Upper->Activation[i] = Sum;//保留激活值    
  //計算本層的輸出,激活函數(shù)必須是S形函數(shù),這樣才可導(dǎo),這是BP網(wǎng)絡(luò)的理論前提    
  Upper->Output[i]=1/(1+exp(-Sum));    
  }    
}    
/******************************************************************************   
              //計算整個網(wǎng)絡(luò)各層的輸出   
******************************************************************************/    
void PropagateNet(NET* Net)    
{    
  INT l;    
     
  for (l=0; l<NUM_LAYERS-1; l++) {    
    PropagateLayer(Net, Net->Layer[l], Net->Layer[l+1]);    
  }    
}    
/******************************************************************************   
//獲得輸出層的輸出                
******************************************************************************/    
void GetOutput(NET* Net, REAL* Output,BOOL Protocoling)    
{    
  INT i;    
     
  for (i=1; i<=Net->OutputLayer->Units; i++) {     
    Output[i-1] = Net->OutputLayer->Output[i];//輸出層輸出    
  }    
  if (Protocoling) {    
    WriteOutput(Net, Output);//根據(jù)Protocoling值輸出輸出模式    
  }    
}    
/******************************************************************************   
                  //計算輸出層誤差,* Target是導(dǎo)師信號   
******************************************************************************/    
void ComputeOutputError(NET* Net, REAL* Target)     
{    
  INT  i;    
  REAL  Err,Out;    
     
  Net->Error = 0;    
  for (i=1; i<=Net->OutputLayer->Units; i++) {    
    Out = Net->OutputLayer->Output[i];//輸出層的輸出    
    Err = Target[i-1]-Out;//誤差計算    
    Net->OutputLayer->Error[i] = Out * (1-Out) * Err;    
        //用delta規(guī)則計算誤差,因為用了可導(dǎo)的s形函數(shù)    
    Net->Error += 0.5 * sqr(Err);//平方差公式    
  }    
}    
/******************************************************************************   
  //誤差反向傳播 Upper 為前層,Lower為后層 ,層數(shù)值大的為前層              
******************************************************************************/    
void BackpropagateLayer(NET* Net, LAYER* Upper, LAYER* Lower)     
{                                                                 
  INT  i,j;//循環(huán)變量    
  REAL Out, Err;    
     
  for (i=1; i<=Lower->Units; i++) {    
    Out = Lower->Output[i];//后層的輸出    
    Err = 0;//用來記錄隱含層輸出的誤差的估計值    
    for (j=1; j<=Upper->Units; j++) {    
      Err += Upper->Weight[j][i] * Upper->Error[j];    
    //誤差的反饋,通過已經(jīng)處理的前層的delta值和聯(lián)接權(quán)去估計,有理論基礎(chǔ)    
    }    
    Lower->Error[i] =Out * (1-Out) * Err;  //delta規(guī)則    
  }    
}    
/******************************************************************************   
              //整個網(wǎng)絡(luò)誤差的后傳   
******************************************************************************/    
void BackpropagateNet(NET* Net)    
{    
  INT l;//循環(huán)變量    
     
  for (l=NUM_LAYERS-1; l>1; l--) {    
    BackpropagateLayer(Net, Net->Layer[l], Net->Layer[l-1]);//對每層處理    
  }    
}    
/******************************************************************************   
              //調(diào)整網(wǎng)絡(luò)每一層的聯(lián)接權(quán)   
******************************************************************************/    
void AdjustWeights(NET* Net)       
{    
  INT  l,i,j;//循環(huán)變量    
  REAL Out, Err, dWeight;    
  //記錄后層的輸出、當(dāng)前層的輸出誤差、當(dāng)前神經(jīng)元聯(lián)接權(quán)上次的調(diào)整量    
     
  for (l=1; l<NUM_LAYERS; l++) {    
    for (i=1; i<=Net->Layer[l]->Units; i++) {    
      for (j=0; j<=Net->Layer[l-1]->Units; j++) {    
        Out = Net->Layer[l-1]->Output[j];//后層的輸出    
        Err = Net->Layer[l]->Error[i];//當(dāng)前層的輸出誤差    
        dWeight = Net->Layer[l]->dWeight[i][j];    
        //將本神經(jīng)元聯(lián)接權(quán)上次的調(diào)整量取出,初始值為0,初始化網(wǎng)絡(luò)時賦值的    
        Net->Layer[l]->Weight[i][j] += Net-> Eta * Err * Out + Net->Alpha * dWeight;    
        //Alpha為沖量參數(shù),加快網(wǎng)絡(luò)的收斂速度    
        Net->Layer[l]->dWeight[i][j] = Net->Eta * Err * Out;    
        //記錄本次神經(jīng)元聯(lián)接權(quán)的調(diào)整量    
      }    
    }    
  }    
}    
/******************************************************************************   
//顯示輸入模式                
******************************************************************************/    
void WriteInput(NET* Net, REAL* Input)     
{    
  INT i;    
     
  for (i=0; i<N; i++) {    
    if (i%X == 0) {    
      fprintf(f, "\n");    
    }    
    fprintf(f, "%c", (Input[i] == HI) ? 'O' : ' ');    
  }    
  fprintf(f, " -> ");     
}    
/******************************************************************************   
//顯示輸出模式                
******************************************************************************/    
void WriteOutput(NET* Net, REAL* Output)    
{    
  INT  i;//循環(huán)變量    
  INT  Index;//用來記錄最大輸出值的下標(biāo),也就是最后識別的結(jié)果    
  REAL  MaxOutput;//用來記錄最大的輸出值    
       
  MaxOutput=0;//初始化    
  for (i=0; i<M; i++)    
  {       
      if(MaxOutput<Output[i]){    
          MaxOutput=MAX(MaxOutput,Output[i]);//保存最大值    
          Index=i;    
      }    
  }    
         
  fprintf(f, "%i\n", Index);//寫進文件    
     
}    
/******************************************************************************   
              初始化測試樣本   
******************************************************************************/    
void Initializetest()    
{    
    INT n,i,j;//循環(huán)變量    
       
    for (n=0; n<NUM_DATA; n++) {    
        for (i=0; i<Y; i++) {    
            for (j=0; j<X; j++)                                   
                if (testPattern[n][i][j]=='O')    
                    Inputtest[n][i*X+j] = HI;    
                else Inputtest[n][i*X+j] =LO;  //NUM_DATA輸入模式,輸入層X*Y個神經(jīng)元                                       
        }    
    }    
}  

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费在线观看日韩欧美| 色综合久久久久久久久| 成人免费黄色在线| 欧美日韩1234| 国产精品毛片大码女人| 亚洲bt欧美bt精品| 成人动漫在线一区| 精品噜噜噜噜久久久久久久久试看 | 欧美日韩大陆在线| 国产欧美精品区一区二区三区| 亚洲国产日韩精品| 成人深夜福利app| 欧美成人video| 亚洲大片免费看| 91丝袜美腿高跟国产极品老师 | 亚洲第一精品在线| 成人深夜在线观看| 久久久精品黄色| 免费成人在线视频观看| 欧美三级资源在线| 一个色在线综合| 99riav一区二区三区| 中文字幕国产一区二区| 久久91精品久久久久久秒播| 555www色欧美视频| 亚洲一卡二卡三卡四卡| 欧美在线免费观看视频| 亚洲丝袜精品丝袜在线| 91同城在线观看| 亚洲视频 欧洲视频| 99re这里只有精品6| 亚洲欧洲性图库| 波多野洁衣一区| 综合久久国产九一剧情麻豆| 成人av先锋影音| 国产精品色呦呦| 97久久人人超碰| 一区二区免费在线播放| 一本大道久久a久久综合| 亚洲卡通动漫在线| 欧美在线观看你懂的| 亚洲国产精品天堂| 88在线观看91蜜桃国自产| 日韩成人午夜精品| 欧美一级在线观看| 国产精品一级黄| 国产精品久久久久影院亚瑟| 91在线视频网址| 亚洲综合视频网| 欧美精品欧美精品系列| 蜜臀精品一区二区三区在线观看| 日韩亚洲欧美高清| 国产精品主播直播| 亚洲三级理论片| 欧美日韩视频在线一区二区| 日日夜夜一区二区| 精品国产乱码久久久久久1区2区| 国产成人综合自拍| 亚洲日本va午夜在线电影| 欧美日韩在线电影| 激情小说亚洲一区| 亚洲天堂av老司机| 欧美一级片在线看| 成人免费视频caoporn| 亚洲一卡二卡三卡四卡 | 视频一区视频二区中文| 2020国产精品| 91国产视频在线观看| 免费高清视频精品| 国产精品国产自产拍高清av | 91视视频在线观看入口直接观看www | 日韩午夜在线观看视频| 国产精品99久久久久| 亚洲一区二区成人在线观看| 久久人人爽爽爽人久久久| 99久久精品费精品国产一区二区| 丝袜美腿成人在线| 最新高清无码专区| 欧美大肚乱孕交hd孕妇| 99国产精品国产精品毛片| 免费视频最近日韩| 亚洲日本免费电影| 久久久久国产精品人| 欧美日韩精品一区二区三区蜜桃 | 成人一级视频在线观看| 日韩高清不卡一区二区三区| 国产精品国产三级国产| 日韩一卡二卡三卡四卡| 日本韩国欧美国产| 国产99久久久精品| 久久精品国产亚洲高清剧情介绍 | 91精品国产综合久久福利软件| 成人短视频下载| 国产精品系列在线播放| 日韩成人av影视| 亚洲夂夂婷婷色拍ww47| 国产精品欧美久久久久一区二区| 91麻豆精品国产91久久久使用方法 | 麻豆一区二区在线| 亚洲高清一区二区三区| 中文字幕一区二区三区不卡 | 欧美精品aⅴ在线视频| 93久久精品日日躁夜夜躁欧美| 国内成+人亚洲+欧美+综合在线| 午夜精品久久久久| 亚洲区小说区图片区qvod| 中文字幕av在线一区二区三区| 欧美精品一区在线观看| 日韩欧美精品在线| 欧美一级欧美三级在线观看| 欧美一区二区三区爱爱| 欧美三级视频在线播放| 一本久久综合亚洲鲁鲁五月天| 成人黄色综合网站| 国产.欧美.日韩| 丁香六月综合激情| 成人永久aaa| 国产乱人伦偷精品视频免下载| 精品一区二区三区蜜桃| 久久精品国产99久久6| 毛片一区二区三区| 美女精品一区二区| 精品影视av免费| 免费的成人av| 国产一区二区三区免费播放| 久久精品国产亚洲高清剧情介绍| 久久精品国产第一区二区三区| 激情亚洲综合在线| 国产99久久久国产精品潘金网站| 国产精品一区二区三区99| 国产传媒日韩欧美成人| 99久久99精品久久久久久| 色88888久久久久久影院按摩| 色先锋aa成人| 欧美日本视频在线| 精品日韩在线观看| 国产日韩欧美亚洲| 亚洲欧洲av色图| 亚洲成人激情自拍| 精品亚洲porn| 国产精品一级二级三级| 成人毛片在线观看| 色综合咪咪久久| 在线成人av网站| 久久久影视传媒| 一个色综合av| 韩国毛片一区二区三区| 99久久er热在这里只有精品15 | 欧美日本韩国一区二区三区视频 | 91国产精品成人| 日韩丝袜情趣美女图片| 国产精品美女久久久久久久| 一区二区三区免费看视频| 全部av―极品视觉盛宴亚洲| 国产高清不卡一区| 欧美日韩在线三区| 国产欧美日韩综合| 亚洲国产成人av好男人在线观看| 国产一区二区精品在线观看| 色综合久久88色综合天天6| 91精品国产aⅴ一区二区| 国产亚洲精品资源在线26u| 亚洲综合色丁香婷婷六月图片| 久久电影网站中文字幕| 色老汉av一区二区三区| 久久久亚洲高清| 午夜av一区二区| 91亚洲精品久久久蜜桃网站| 欧美一级片在线看| 亚洲与欧洲av电影| 处破女av一区二区| 日韩欧美国产精品| 亚洲444eee在线观看| www.综合网.com| 久久综合久久99| 日韩激情av在线| 欧美色爱综合网| 亚洲人xxxx| 国产91精品在线观看| 欧美电视剧免费全集观看| 亚洲图片有声小说| 91视视频在线观看入口直接观看www | 美女性感视频久久| 欧美日韩在线播放三区四区| 中文字幕在线一区二区三区| 国产综合色精品一区二区三区| 69堂成人精品免费视频| 亚洲精选在线视频| 99久久夜色精品国产网站| 久久精品无码一区二区三区| 久久精品国产一区二区三区免费看 | 亚洲午夜一区二区| caoporn国产精品| 国产精品人成在线观看免费| 国产麻豆成人传媒免费观看| 精品乱人伦小说| 韩国精品久久久| ww久久中文字幕| 国产成a人无v码亚洲福利| 国产欧美精品日韩区二区麻豆天美|