91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-23
  • 語言: C/C++
  • 標(biāo)簽: C++??

資源簡介

使用C++編寫的多層前向NN的BP算法,各層節(jié)點數(shù)、隱藏層數(shù)均為任意整數(shù)。訓(xùn)練數(shù)據(jù)為3個數(shù)字的奇偶檢驗運(yùn)算程序。程序使用VS2015編寫,有cpp源代碼及頭文件,代碼中配有注釋。

資源截圖

代碼片段和文件信息

#include?“BPlayer.h“
#include?
#include?“BPNetwork.h“


BPlayer::BPlayer()
{
}


BPlayer::~BPlayer()
{
free(Input);
free(Output);
free(NextInput);
free(DeltaOutput);
for?(int?i?=?0;?i? free(Weight[i]);
free(Weight);
}

BPlayer::BPlayer(int?inputSize?int?outputSize?BPNetwork*?net)
{
InputSize?=?inputSize;
OutputSize?=?outputSize;
Net?=?net;

Input?=?static_cast(malloc(inputSize*sizeof(double)));

Output?=?static_cast(malloc(outputSize*sizeof(double)));

NextInput?=?static_cast(malloc(outputSize*sizeof(double)));

DeltaOutput?=?static_cast(malloc(outputSize*sizeof(double)));

//Weight[j][last]為常數(shù)項,即閾值
Weight?=?static_cast(malloc((outputSize)*sizeof(double*)));
DeltaWeight?=?static_cast(malloc((outputSize)*sizeof(double*)));

for?(int?j?=?0;?j? {
//輸入項應(yīng)該多一個常數(shù)項
Weight[j]?=?static_cast(malloc((inputSize?+?1)*sizeof(double)));
DeltaWeight[j]?=?static_cast(malloc((inputSize?+?1)*sizeof(double)));

for?(int?i?=?0;?i?<=?inputSize;?i++)
{
Weight[j][i]?=?1.0*rand()?/?RAND_MAX?-?0.5; //產(chǎn)生-0.5到0.5的隨機(jī)數(shù)
DeltaWeight[j][i]?=?0;
}
}
}

double*?BPlayer::Process()
{
for?(int?j?=?0;?j? {
Output[j]?=?Weight[j][InputSize];
for?(int?i?=?0;?i? {
Output[j]?+=?Input[i]?*?Weight[j][i];
}
}
return?Output;
}

double*?BPlayer::ActiveOutput()
{
for?(int?j?=?0;?j? {
NextInput[j]?=?1.0?/?(1?+?exp(-Output[j]));
}
return?NextInput;
}

void?BPlayer::SetInput(double?*?input)
{
for?(int?i?=?0;?i? {
Input[i]?=?input[i];
}
}

void?BPlayer::UpdateWeight()
{
double?lastDelta;
double?delta;
for?(int?j?=?0;?j? {
for?(int?i?=?0;?i? {
lastDelta?=?DeltaWeight[j][i];
delta?=?DeltaOutput[j]?*?Input[i];
DeltaWeight[j][i]?=?Net->Alpha?*delta?+?Net->Eta*?lastDelta;
Weight[j][i]?-=?DeltaWeight[j][i];
}
DeltaWeight[j][InputSize]?=?Net->Alpha?*DeltaOutput[j]?+?Net->Alpha*?DeltaWeight[j][InputSize];
Weight[j][InputSize]?-=?DeltaWeight[j][InputSize];
}
}


?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????1050??2015-11-09?00:42??BPlayer.h

?????文件???????3488??2015-11-09?00:46??BPNetwork.cpp

?????文件????????955??2015-11-09?00:46??BPNetwork.h

?????文件?????????80??2015-11-08?22:16??data.txt

?????文件????????868??2015-11-09?00:49??main.cpp

?????文件???????1131??2015-11-09?00:01??SampleLoader.cpp

?????文件????????233??2015-11-08?22:16??SampleLoader.h

?????文件???????7743??2015-11-08?22:16??YML.BPN.vcxproj

?????文件???????2274??2015-11-09?00:42??BPlayer.cpp

-----------?---------??----------?-----??----

????????????????17822????????????????????9


評論

共有 條評論