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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 1.cpp

?? 簡單的神經網絡代碼,可以根據代碼進行擴展
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/************************************************************************************** 


                      ==================================================== 

                   Network:      Backpropagation Network with Bias Terms and Momentum 

                      ==================================================== 


        Application:    Time-Series Forecasting 

                      Prediction of the tendency of stock market 


        Author:        郭正琪 

        Date:          11.08.2005 


        Reference:     D.E. Rumelhart, G.E. Hinton, R.J. Williams 

                      Learning Internal Representations by Error Propagation 

                      in: 

                      D.E. Rumelhart, J.L. McClelland (Eds.) 

                      Parallel Distributed Processing, Volume 1 

                      MIT Press, Cambridge, MA, pp. 318-362, 1986 


 **************************************************************************************/ 





 /***************************************************************************************** 

                            D E C L A R A T I O N S //各參數量的聲明 

 ****************************************************************************************/ 



#include <stdlib.h> 

#include <stdio.h> 

#include <math.h> 


typedef int           BOOL; 

typedef int           INT; 

typedef double        REAL; 


#define FALSE         0 

#define TRUE          1 

#define NOT           ! 

#define AND           && 

#define OR            || 


#define MIN_REAL      -HUGE_VAL 

#define MAX_REAL      +HUGE_VAL 

#define MIN(x,y)      ((x)<(y) ? (x) : (y)) 

#define MAX(x,y)      ((x)>(y) ? (x) : (y)) 


#define LO            0.1 

#define HI            0.9 

#define BIAS          1 


#define sqr(x)        ((x)*(x)) 


typedef struct {                         /* A LAYER OF A NET:                        */ 

        INT           Units;          /* - number of units in this layer       //神經元    */ 

        REAL*         Output;        /* - output of ith unit       //第i個神經元的輸出  */ 

        REAL*         Error;          /* - error term of ith unit   //第i個神經元的誤差  */ 

        REAL**        Weight;        /* - connection weights to ith unit        //權值   */ 

        REAL**        WeightSave;    /* - saved weights for stopped training    //閾值    */ 

        REAL**        dWeight;       /* - last weight deltas for momentum //權值的增量  */ 

} LAYER; 


typedef struct {                         /* A NET:                                     */ 

        LAYER**       Layer;         /* - layers of this net       //網絡的所有層        */ 

        LAYER*        InputLayer;    /* - input layer              //輸入層             */ 

        LAYER*        OutputLayer;   /* - output layer             //輸出層             */ 

        REAL          Alpha;         /* - momentum factor          //動量因子         */ 

        REAL          Eta;           /* - learning rate            //學習率             */ 

        REAL          Gain;          /* - gain of sigmoid function //S型函數的權重       */ 

        REAL          Error;         /* - total net error          //輸出誤差             */ 

} NET; 



/***************************************************************************************** 

       R A N D O M S   D R A W N   F R O M   D I S T R I B U T I O N S //隨機函數部分 

 ****************************************************************************************/ 



void InitializeRandoms() 

{ 

         srand(4711); 

} 



INT RandomEqualINT(INT Low, INT High) 

{ 

         return rand() % (High-Low+1) + Low; 

}      



REAL RandomEqualREAL(REAL Low, REAL High) 

{ 

         return ((REAL) rand() / RAND_MAX) * (High-Low) + Low; 

}      
/**************************************************************************************** 

               A P P L I C A T I O N - S P E C I F I C   C O D E //特殊數據 

 ***************************************************************************************/ 



#define NUM_LAYERS    3 

#define N               10 

#define M               1 

INT                   Units[NUM_LAYERS] = {N, 20, M}; 


#define FIRST_YEAR    1700 

#define NUM_YEARS     136 


#define TRAIN_LWB     (N) 

#define TRAIN_UPB     (69) 

#define TRAIN_YEARS   (TRAIN_UPB - TRAIN_LWB + 1) 

#define TEST_LWB      (70) 

#define TEST_UPB      (119) 

#define TEST_YEARS    (TEST_UPB - TEST_LWB + 1) 

#define EVAL_LWB      (120) 

#define EVAL_UPB      (NUM_YEARS - 1) 

#define EVAL_YEARS    (EVAL_UPB - EVAL_LWB + 1) 


REAL                  Sunspots_[NUM_YEARS]; 

REAL                  Sunspots [NUM_YEARS] = { 


                        0.421917808,     0.41369863 ,       0.476712329,      0.460273973, 

                                                        0.408219178,      0.378082192,      0.367123288,      0.356164384, 

                                                        0.326027397,      0.37260274 ,       0.350684932,      0.334246575, 

                                                        0.284931507,      0.309589041,      0.260273973,      0.150684932, 

                                                        0.139726027,      0.2        ,      0.145205479,      0.104109589, 

                                                        0.063013699,      0.093150685,      0.095890411,      0.043835616, 

                                                        0.032876712,      0.046575342,      0.01369863 ,      0          , 

                                                        0.060273973,      0.167123288,      0.115068493,      0.191780822, 

                                                        0.282191781,      0.257534247,      0.180821918,      0.197260274, 

                                                        0.257534247,      0.238356164,      0.232876712,      0.268493151, 

                                                        0.260273973,      0.224657534,      0.208219178,      0.260273973, 

                                                        0.309589041,      0.342465753,      0.309589041,      0.287671233, 

                                                        0.263013699,      0.210958904,      0.290410959,      0.306849315, 

                                                        0.347945205,      0.306849315,      0.301369863,      0.257534247, 

                                                        0.284931507,      0.232876712,      0.268493151,      0.345205479, 

                                                        0.457534247,      0.473972603,      0.479452055,      0.375342466, 

                                                        0.419178082,      0.416438356,      0.375342466,      0.394520548, 

                                                        0.443835616,      0.512328767,      0.443835616,      0.550684932, 

                                                        0.594520548,      0.643835616,      0.657534247,      0.780821918, 

                                                        0.802739726,      0.843835616,      0.810958904,      0.780821918, 

                                                        0.709589041,      0.805479452,      0.797260274,      0.78630137 , 

                                                        0.802739726,      0.947945205,      0.890410959,      0.808219178, 

                                                        0.723287671,      0.734246575,      0.739726027,      0.742465753, 

                                                        0.764383562,      0.808219178,      0.931506849,      0.824657534, 

                                                        0.753424658,      0.75890411 ,       0.82739726 ,       0.857534247, 

                                                        0.821917808,      0.906849315,      0.887671233,      0.978082192, 

                                                        0.915068493,      0.961643836,      1          ,   0.936986301, 

                                                        0.884931507,      0.882191781,      0.873972603,      0.789041096, 

                                                        0.810958904,      0.821917808,      0.830136986,      0.84109589 , 

                                                        0.802739726,      0.819178082,      0.780821918,      0.747945205, 

                                                        0.706849315,      0.717808219,      0.61369863 ,    0.536986301, 

                                                        0.583561644,      0.57260274 ,       0.463013699,      0.471232877, 

                                                        0.509589041,      0.531506849,      0.471232877,      0.465753425, 

                                                        0.416438356,      0.432876712,      0.432876712,      0.457534247, 


                                                        }; 


REAL                  Mean; 

REAL                  TrainError; 

REAL                  TrainErrorPredictingMean; 

REAL                  TestError; 

REAL                  TestErrorPredictingMean; 

 FILE*                 f;

void NormalizeSunspots() //規(guī)格化處理 

{ 

         INT  Year; 

         REAL Min, Max; 

         

         Min = MAX_REAL; 

         Max = MIN_REAL; 

         for (Year=0; Year<NUM_YEARS; Year++) 

         { 

                   Min = MIN(Min, Sunspots[Year]); //選出Sunspots[]中最小的數給Min 

                   Max = MAX(Max, Sunspots[Year]); //選出Sunspots[]中最大的數給Max 

         } 

         Mean = 0; 

         for (Year=0; Year<NUM_YEARS; Year++) 

         { 

                   Sunspots_[Year] = //規(guī)格化處理公式 

                   Sunspots [Year] = ((Sunspots[Year]-Min) / (Max-Min)) * (HI-LO) + LO; 

                   Mean += Sunspots[Year] / NUM_YEARS; //Mean的最后值為Sunspots[]的平均值,即期望輸出值 

         } 

} 



//神經網絡的初始化 

void InitializeApplication(NET* Net) 

{ 

         INT  Year, i; 

         REAL Out, Err; 


         Net->Alpha = 0.5; 

         Net->Eta   = 0.05; 

         Net->Gain  = 1; 


         NormalizeSunspots(); 

         TrainErrorPredictingMean = 0; 

         for (Year=TRAIN_LWB; Year<=TRAIN_UPB; Year++) 

         { 

                   for (i=0; i<M; i++) 

                   { 

                            Out = Sunspots[Year+i]; 

                            Err = Mean - Out; 

                            TrainErrorPredictingMean += 0.5 * sqr(Err); 

                            //TrainErrorPredictingMean反映了神經網絡期望輸出與計算輸出之間誤差大小 

                   } 

         } 

         TestErrorPredictingMean = 0; 

         for (Year=TEST_LWB; Year<=TEST_UPB; Year++) 

         { 

                   for (i=0; i<M; i++) 

                   { 

                            Out = Sunspots[Year+i]; 

                            Err = Mean - Out; 

                            TestErrorPredictingMean += 0.5 * sqr(Err); 

                            //TestErrorPredictingMean反映了神經網絡期望輸出與計算輸出之間誤差大小 

                   } 

         } 

         f = fopen("BPN1.txt", "w"); 

} 



//寫入文件結束,關閉文檔 

void FinalizeApplication(NET* Net) 

{ 

         fclose(f); 

}
//建立一張神經網絡 

void GenerateNetwork(NET* Net) 

{ 

         INT l,i; 


         Net->Layer = (LAYER**) calloc(NUM_LAYERS, sizeof(LAYER*)); 

   

         for (l=0; l<NUM_LAYERS; l++) 

         { 

                   Net->Layer[l] = (LAYER*) malloc(sizeof(LAYER)); 

      

                   Net->Layer[l]->Units      = Units[l]; 

                   Net->Layer[l]->Output     = (REAL*)  calloc(Units[l]+1, sizeof(REAL)); 

                   Net->Layer[l]->Error      = (REAL*)  calloc(Units[l]+1, sizeof(REAL)); 

                   Net->Layer[l]->Weight     = (REAL**) calloc(Units[l]+1, sizeof(REAL*)); 

                   Net->Layer[l]->WeightSave = (REAL**) calloc(Units[l]+1, sizeof(REAL*)); 

                   Net->Layer[l]->dWeight    = (REAL**) calloc(Units[l]+1, sizeof(REAL*)); 

                   Net->Layer[l]->Output[0]  = BIAS;  //初始化Output[0]為1 

      

                   if (l != 0) 

                   { 

                            for (i=1; i<=Units[l]; i++) 

                            { 

                                     Net->Layer[l]->Weight[i]     = (REAL*) calloc(Units[l-1]+1, sizeof(REAL)); 

                                     Net->Layer[l]->WeightSave[i] = (REAL*) calloc(Units[l-1]+1, sizeof(REAL)); 

                                     Net->Layer[l]->dWeight[i]    = (REAL*) calloc(Units[l-1]+1, sizeof(REAL)); 

                            } 

                   } 

         } 

         Net->InputLayer  = Net->Layer[0]; 

         Net->OutputLayer = Net->Layer[NUM_LAYERS - 1]; 

         Net->Alpha       = 0.9; 

         Net->Eta         = 0.25; 

         Net->Gain        = 1; 

} 



//隨機生成權重-0.5~0.5 

void RandomWeights(NET* Net) 

{ 

         INT l,i,j; 

   

         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++) 

                            { 

                                     Net->Layer[l]->Weight[i][j] = RandomEqualREAL(-0.5, 0.5); 

                            } 

                   } 

         } 

} 



/**************************************************************************************** 

          S U P P O R T   F O R   S T O P P E D   T R A I N I N G //臨界值的修改 

*****************************************************************************************/ 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合成人网| 91香蕉视频在线| 成人网在线播放| 欧美精品aⅴ在线视频| 国产亲近乱来精品视频| 亚洲3atv精品一区二区三区| 国产精品一区三区| 欧美高清视频不卡网| 国产精品污www在线观看| 老司机午夜精品99久久| 91福利资源站| 国产精品国产精品国产专区不蜜| 裸体一区二区三区| 欧美系列日韩一区| 中文字幕av一区二区三区高| 久久精品国产第一区二区三区| 一本大道综合伊人精品热热| 国产日韩欧美激情| 激情综合色丁香一区二区| 欧美亚洲高清一区二区三区不卡| 国产精品全国免费观看高清| 六月丁香综合在线视频| 欧美精品18+| 天天综合色天天综合色h| 一本久久综合亚洲鲁鲁五月天| 国产精品色呦呦| 国产不卡视频一区| 久久久三级国产网站| 久久国产精品露脸对白| 欧美一区在线视频| 日韩二区三区在线观看| 欧美日韩和欧美的一区二区| 亚洲综合视频在线观看| 91麻豆精品一区二区三区| 国产精品久久影院| 成人短视频下载| 中文字幕中文字幕在线一区 | 中文字幕制服丝袜成人av| 国产一区视频网站| 国产欧美一区二区三区网站| 国产成人8x视频一区二区| 国产三级一区二区三区| 国产寡妇亲子伦一区二区| 中文幕一区二区三区久久蜜桃| 成人激情午夜影院| 亚洲精品乱码久久久久久| 91高清视频免费看| 日本在线观看不卡视频| 日韩精品一区二区三区视频播放 | 精品国产91亚洲一区二区三区婷婷 | 成人午夜碰碰视频| 国产精品视频线看| 91麻豆产精品久久久久久 | 麻豆成人综合网| 国产欧美精品一区二区三区四区| 成人精品gif动图一区| 亚洲免费观看高清| 91精品国产一区二区| 黄色日韩三级电影| 亚洲欧洲色图综合| 欧美精品久久久久久久多人混战| 九九九久久久精品| 国产精品美女久久久久aⅴ| 91久久精品一区二区| 肉丝袜脚交视频一区二区| 欧美精品一区二| 色综合久久中文综合久久97| 男女男精品网站| 国产精品色婷婷| 91精品国产欧美一区二区18| 成人不卡免费av| 日韩成人av影视| 国产精品久久久久久久久久免费看| 色综合久久中文字幕| 麻豆成人av在线| 亚洲免费观看高清完整版在线观看| 日韩一区二区三区电影在线观看 | 国产成人综合网站| 亚洲黄色尤物视频| 欧美xxxx老人做受| 在线日韩国产精品| 国产成人免费视频一区| 亚洲第一二三四区| 国产精品美女久久久久久久久 | 欧美日韩国产影片| 成人午夜电影小说| 久久精品久久99精品久久| 亚洲欧美激情小说另类| 久久久综合九色合综国产精品| 欧美综合在线视频| 国产成人av一区| 另类小说综合欧美亚洲| 亚洲国产你懂的| 亚洲视频每日更新| 久久久久久久久久久黄色| 51精品视频一区二区三区| 91麻豆精品秘密| 97精品国产露脸对白| 国产一区二区三区精品欧美日韩一区二区三区| 一区二区三区免费在线观看| 日本一区二区不卡视频| 久久久久久99久久久精品网站| 欧美一级日韩不卡播放免费| 欧美亚洲动漫另类| 在线中文字幕一区| av不卡免费电影| 成人福利视频在线| 黄网站免费久久| 国产美女视频91| 精品一区二区日韩| 久久成人久久爱| 免费成人性网站| 免费成人你懂的| 久久精品国产99久久6| 日本午夜一区二区| 免费欧美高清视频| 免费观看在线色综合| 久久国产福利国产秒拍| 五月天久久比比资源色| 亚洲欧美偷拍三级| 综合久久综合久久| 亚洲免费av观看| 亚洲激情第一区| 亚洲va天堂va国产va久| 亚洲国产精品一区二区尤物区| 亚洲妇熟xx妇色黄| 奇米777欧美一区二区| 精品一区二区三区欧美| 国产一区二区精品久久| 高清国产一区二区| 91影院在线观看| 91国产精品成人| 日韩美女视频在线| 日本一区二区动态图| 樱花影视一区二区| 午夜精品成人在线视频| 蜜芽一区二区三区| 国产精品一区二区久激情瑜伽| 99久久精品国产毛片| 欧美三级电影网| 精品国产精品网麻豆系列| 国产精品久久久久久亚洲毛片 | 在线精品视频免费播放| 欧美伦理视频网站| 久久一夜天堂av一区二区三区| 国产视频一区在线播放| 亚洲精品一二三四区| 舔着乳尖日韩一区| 国产精品影视网| 在线日韩国产精品| 精品三级av在线| 亚洲人亚洲人成电影网站色| 视频一区视频二区中文| 国产成人精品一区二区三区四区 | 国产精品18久久久久久久网站| voyeur盗摄精品| 欧美一区二视频| 国产精品久久久一区麻豆最新章节| 亚洲一区二区在线视频| 激情小说欧美图片| 欧美在线|欧美| 国产喂奶挤奶一区二区三区| 亚洲午夜国产一区99re久久| 精品一区二区av| 欧美色成人综合| 国产精品污www在线观看| 日本成人在线电影网| 97久久超碰国产精品电影| 日韩精品一区二区三区在线 | 日韩一区二区三区视频在线 | 成人久久18免费网站麻豆 | 欧美午夜精品一区二区三区| 精品国产一区二区国模嫣然| 夜夜精品视频一区二区| 国产乱对白刺激视频不卡| 欧美另类z0zxhd电影| 国产精品成人一区二区三区夜夜夜| 久久99精品久久久久婷婷| 欧美亚洲国产一区二区三区| 中文字幕一区在线| 粉嫩嫩av羞羞动漫久久久| 日韩女优毛片在线| 亚洲成a人片在线不卡一二三区| 成人aaaa免费全部观看| 日本一区二区三区在线观看| 久久精品国产精品亚洲精品| 欧美性三三影院| 亚洲一区二区三区爽爽爽爽爽 | 欧美一区二区三区精品| 亚洲夂夂婷婷色拍ww47 | 成人免费观看男女羞羞视频| 精品久久免费看| 日韩成人一区二区三区在线观看| 欧美日韩极品在线观看一区| 亚洲一二三四在线| 欧美性高清videossexo| 亚洲一区二区三区小说| 欧美日韩激情一区| 婷婷成人激情在线网| 欧美二区三区的天堂|