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

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

?? bpn.c

?? 神經(jīng)網(wǎng)絡(luò)算法源程序
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):

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);
      }
    }
  }
}


void SetInput(NET* Net, REAL* Input)
{
  INT i;
   
  for (i=1; i<=Net->InputLayer->Units; i++) {
    Net->InputLayer->Output[i] = Input[i-1];
  }
}


void GetOutput(NET* Net, REAL* Output)
{
  INT i;
   
  for (i=1; i<=Net->OutputLayer->Units; i++) {
    Output[i-1] = Net->OutputLayer->Output[i];
  }
}


/******************************************************************************
            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
 ******************************************************************************/


void SaveWeights(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]->WeightSave[i][j] = Net->Layer[l]->Weight[i][j];
      }
    }
  }
}


void RestoreWeights(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] = Net->Layer[l]->WeightSave[i][j];
      }
    }
  }
}


/******************************************************************************
                     P R O P A G A T I N G   S I G N A L S
 ******************************************************************************/


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->Output[i] = 1 / (1 + exp(-Net->Gain * Sum));
  }
}


void PropagateNet(NET* Net)
{
  INT l;
   
  for (l=0; l<NUM_LAYERS-1; l++) {
    PropagateLayer(Net, Net->Layer[l], Net->Layer[l+1]);
  }
}


/******************************************************************************
                  B A C K P R O P A G A T I N G   E R R O R S
 ******************************************************************************/


void ComputeOutputError(NET* Net, REAL* Target)
{
  INT  i;
  REAL Out, Err;
   
  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] = Net->Gain * Out * (1-Out) * Err;
    Net->Error += 0.5 * sqr(Err);
  }
}


void BackpropagateLayer(NET* Net, LAYER* Upper, LAYER* Lower)
{
  INT  i,j;
  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];
    }
    Lower->Error[i] = Net->Gain * Out * (1-Out) * Err;
  }
}


void BackpropagateNet(NET* Net)
{
  INT l;
   
  for (l=NUM_LAYERS-1; l>1; l--) {
    BackpropagateLayer(Net, Net->Layer[l], Net->Layer[l-1]);
  }
}


void AdjustWeights(NET* Net)
{
  INT  l,i,j;
  REAL Out, Err, dWeight;
   
  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];
        dWeight = Net->Layer[l]->dWeight[i][j];
        Net->Layer[l]->Weight[i][j] += Net->Eta * Err * Out + Net->Alpha * dWeight;
        Net->Layer[l]->dWeight[i][j] = Net->Eta * Err * Out;
      }
    }
  }
}


/******************************************************************************
                      S I M U L A T I N G   T H E   N E T
 ******************************************************************************/


void SimulateNet(NET* Net, REAL* Input, REAL* Output, REAL* Target, BOOL Training)
{
  SetInput(Net, Input);
  PropagateNet(Net);
  GetOutput(Net, Output);
   
  ComputeOutputError(Net, Target);
  if (Training) {
    BackpropagateNet(Net);
    AdjustWeights(Net);
  }
}


void TrainNet(NET* Net, INT Epochs)
{
  INT  Year, n;
  REAL Output[M];

  for (n=0; n<Epochs*TRAIN_YEARS; n++) {
    Year = RandomEqualINT(TRAIN_LWB, TRAIN_UPB);
    SimulateNet(Net, &(Sunspots[Year-N]), Output, &(Sunspots[Year]), TRUE);
  }
}


void TestNet(NET* Net)
{
  INT  Year;
  REAL Output[M];

  TrainError = 0;
  for (Year=TRAIN_LWB; Year<=TRAIN_UPB; Year++) {
    SimulateNet(Net, &(Sunspots[Year-N]), Output, &(Sunspots[Year]), FALSE);
    TrainError += Net->Error;
  }
  TestError = 0;
  for (Year=TEST_LWB; Year<=TEST_UPB; Year++) {
    SimulateNet(Net, &(Sunspots[Year-N]), Output, &(Sunspots[Year]), FALSE);
    TestError += Net->Error;
  }
  fprintf(f, "\nNMSE is %0.3f on Training Set and %0.3f on Test Set",
             TrainError / TrainErrorPredictingMean,
             TestError / TestErrorPredictingMean);
}


void EvaluateNet(NET* Net)
{
  INT  Year;
  REAL Output [M];
  REAL Output_[M];

  fprintf(f, "\n\n\n");
  fprintf(f, "Year    Sunspots    Open-Loop Prediction    Closed-Loop Prediction\n");
  fprintf(f, "\n");
  for (Year=EVAL_LWB; Year<=EVAL_UPB; Year++) {
    SimulateNet(Net, &(Sunspots [Year-N]), Output,  &(Sunspots [Year]), FALSE);
    SimulateNet(Net, &(Sunspots_[Year-N]), Output_, &(Sunspots_[Year]), FALSE);
    Sunspots_[Year] = Output_[0];
    fprintf(f, "%d       %0.3f                   %0.3f                     %0.3f\n",
               FIRST_YEAR + Year,
               Sunspots[Year],
               Output [0],
               Output_[0]);
  }
}


/******************************************************************************
                                    M A I N
 ******************************************************************************/


void main()
{
  NET  Net;
  BOOL Stop;
  REAL MinTestError;

  InitializeRandoms();
  GenerateNetwork(&Net);
  RandomWeights(&Net);
  InitializeApplication(&Net);

  Stop = FALSE;
  MinTestError = MAX_REAL;
  do {
    TrainNet(&Net, 10);
    TestNet(&Net);
    if (TestError < MinTestError) {
      fprintf(f, " - saving Weights ...");
      MinTestError = TestError;
      SaveWeights(&Net);
    }
    else if (TestError > 1.2 * MinTestError) {
      fprintf(f, " - stopping Training and restoring Weights ...");
      Stop = TRUE;
      RestoreWeights(&Net);
    }
  } while (NOT Stop);

  TestNet(&Net);
  EvaluateNet(&Net);
   
  FinalizeApplication(&Net);
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美系列在线观看| 欧美成人一级视频| 狠狠色狠狠色综合系列| 亚洲图片激情小说| 久久久久久影视| 91 com成人网| 日本道在线观看一区二区| 国产精品自拍网站| 奇米影视在线99精品| 亚洲宅男天堂在线观看无病毒| 亚洲精品在线免费播放| 欧美女孩性生活视频| 成人国产电影网| 国产成人免费视频网站高清观看视频 | 国产精品欧美久久久久一区二区| 欧美精品日韩精品| 在线免费观看日本欧美| 成人免费高清在线| 国产一区二区三区蝌蚪| 美日韩一区二区| 丝袜美腿亚洲综合| 亚洲va国产va欧美va观看| 1区2区3区欧美| 国产精品私人影院| 亚洲国产精品精华液ab| 久久久美女毛片 | 亚洲另类一区二区| 国产精品久久久久桃色tv| 欧美精品一区二区三区四区| 7777精品伊人久久久大香线蕉的 | 亚洲成人av免费| 亚洲一卡二卡三卡四卡| 亚洲同性gay激情无套| 中文字幕亚洲一区二区va在线| 久久影视一区二区| 欧美一二三四区在线| 欧美一区二区黄色| 欧美一区午夜精品| 欧美一区二区二区| 日韩视频在线你懂得| 日韩免费性生活视频播放| 欧美一区二区成人| 欧美变态口味重另类| 久久免费午夜影院| 国产日韩欧美a| 国产精品午夜在线观看| 国产精品国产a级| 综合分类小说区另类春色亚洲小说欧美| 国产精品久久久久影院| 亚洲视频一二区| 樱花影视一区二区| 午夜成人在线视频| 蜜桃免费网站一区二区三区| 精品一区中文字幕| 国产精品一区二区91| 成人激情免费网站| 欧美综合久久久| 日韩欧美一级特黄在线播放| 精品成a人在线观看| 国产欧美综合色| 一区二区三区在线播| 亚洲一区二区偷拍精品| 免费人成精品欧美精品| 国产成人免费xxxxxxxx| 91丨porny丨户外露出| 欧美日韩情趣电影| 精品国一区二区三区| 中文字幕在线视频一区| 亚洲国产综合91精品麻豆| 日av在线不卡| av高清久久久| 在线播放91灌醉迷j高跟美女 | 一区二区三区精密机械公司| 亚洲成av人综合在线观看| 亚洲一二三四在线观看| 久久精品久久久精品美女| 成人黄页在线观看| 欧美日韩高清一区二区不卡 | 日韩精品资源二区在线| 亚洲国产精品传媒在线观看| 亚洲电影第三页| 国产精品99久久久久久久女警| 91猫先生在线| 精品免费99久久| 一区二区三区鲁丝不卡| 韩国在线一区二区| 欧美综合一区二区三区| 久久久综合激的五月天| 夜夜嗨av一区二区三区网页| 狠狠久久亚洲欧美| 欧美中文字幕一区二区三区亚洲 | 欧美tk—视频vk| 亚洲精品免费在线播放| 国产精品1区2区3区| 欧美人体做爰大胆视频| 国产精品电影一区二区三区| 免费日本视频一区| 欧美午夜片在线观看| 国产嫩草影院久久久久| 麻豆成人免费电影| 欧美亚洲国产一区二区三区| 久久久久久久电影| 免费高清视频精品| 精品婷婷伊人一区三区三| 中文无字幕一区二区三区| 日韩精品亚洲专区| 在线看一区二区| 中文字幕在线免费不卡| 国产成人精品亚洲777人妖| 在线播放一区二区三区| 亚洲香肠在线观看| av不卡在线观看| 久久久www成人免费毛片麻豆| 肉色丝袜一区二区| 欧美综合一区二区三区| 亚洲视频1区2区| 成人黄色小视频在线观看| 国产丝袜欧美中文另类| 国产精品自拍av| 久久夜色精品国产噜噜av| 精品一二三四区| 精品国产乱码久久久久久久 | 秋霞电影网一区二区| 欧美天堂一区二区三区| 樱花影视一区二区| 色88888久久久久久影院野外| 成人欧美一区二区三区小说 | 欧美一区二区三区系列电影| 亚洲成人精品影院| 欧美午夜影院一区| 无码av免费一区二区三区试看| 在线观看日产精品| 一区2区3区在线看| 欧美日韩中文字幕一区二区| 亚洲国产日韩a在线播放性色| 欧亚洲嫩模精品一区三区| 一区二区三区四区av| 欧美日韩综合在线| 石原莉奈一区二区三区在线观看| 欧美精品九九99久久| 美腿丝袜亚洲三区| 久久人人超碰精品| 日本欧美一区二区三区| 亚洲一区二区三区四区在线观看| 日本精品一级二级| 亚洲一区二区三区四区五区中文| 欧美三级蜜桃2在线观看| 亚洲成av人片一区二区三区| 欧美日本国产一区| 免费成人深夜小野草| 久久免费偷拍视频| 成人免费毛片高清视频| 一区二区三区丝袜| 欧美日韩在线观看一区二区| 视频一区二区中文字幕| 亚洲精品在线免费播放| 波多野结衣亚洲一区| 亚洲自拍偷拍图区| 日韩欧美国产小视频| 国产精品系列在线观看| 亚洲精品中文在线| 欧美电影一区二区| 国产精品自产自拍| 一个色综合av| 欧美精品一区二区久久婷婷| 国产成人av一区二区三区在线| 亚洲婷婷国产精品电影人久久| 欧美日韩国产色站一区二区三区| 久久国产精品第一页| 日韩美女视频一区| 欧美一区二区免费| proumb性欧美在线观看| 亚洲国产视频a| 久久精品一区蜜桃臀影院| 91福利社在线观看| 久久精品噜噜噜成人av农村| 国产精品传媒在线| 91精品国产综合久久久蜜臀粉嫩| 成人爽a毛片一区二区免费| 亚洲高清免费观看高清完整版在线观看| 日韩一区二区三区观看| 99久久久精品免费观看国产蜜| 日韩av一区二区在线影视| 中文字幕成人av| 日韩欧美一级片| 欧美在线影院一区二区| 国产精品一区专区| 午夜日韩在线观看| 国产精品麻豆欧美日韩ww| 777a∨成人精品桃花网| av成人老司机| 国内外成人在线| 午夜精品久久一牛影视| 国产精品毛片高清在线完整版| 欧美一区二区久久| 欧美熟乱第一页| 成人av在线看| 国产精品资源站在线| 五月天网站亚洲| 亚洲欧美日韩电影|