1 Star 0 Fork 28

Qt(开源集合) / BPNNDemoQt

forked from ZzqiZQute / BPNNDemoQt 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
bpnetwork.h 1.99 KB
一键复制 编辑 原始数据 按行查看 历史
ZzqiZQute 提交于 2018-11-21 12:38 . 201811211238
#ifndef NETWORK_H
#define NETWORK_H
#include <iostream>
class BPNetwork
{
public:
enum TYPE{
REGRESSION,NORMAL
};
BPNetwork(int inputNodeCnt, int outputNodeCnt);
virtual ~BPNetwork();
int inputNodeCnt() const;
void setInputNodeCnt(int inputNodeCnt);
int outputNodeCnt() const;
void setOutputNodeCnt(int outputNodeCnt);
int hiddenLayerCnt() const;
void setHiddenLayer(int hiddenLayerCnt,...);
void setHiddenLayer(int hiddenLayerCnt,int value[]);
void setSampleDim(int sampleDim);
void setInput(int n,double* input);
void setOutput(int n,double* output);
void randWeight();
void bp();
void fp();
void reset();
double getLearnRate() const;
void setLearnRate(double learnRate);
int getTrainCnt() const;
void resetTrainCnt();
virtual void trainByTime(int);
virtual void trainByErr(double);
virtual void trainByErrM(int);
void test(double* input);
int getType() const;
void setType(TYPE type);
bool checkSample();
double train();
void copyWeightAndBias(BPNetwork* other);
void copyInit(BPNetwork* other);
double *getTestOutput() const;
double getTestOutput(int);
int *getHiddenNodeCnt() const;
private:
int mInputNodeCnt=0;
int mOutputNodeCnt=0;
int mHiddenLayerCnt=0;
int mSampleDim=0;
double mLearnRate=1;
double err=0.01;
int* mHiddenNodeCnt=nullptr; //隐层节点数
double ***mWeight;
double **mHiddenIn;
double **mHiddenOut;
double **mHiddenTmp;
double **mInput;
double *mInputTmp;
double *mOutputTmp;
double **mOutput;
double *mOutputIn;
double *mActualOutput;
double *mErr;
double *mTestOutput;
double **mBias;
TYPE mType=REGRESSION;
int mTrainCnt=0;
double mTotalError=0;
//double (*activeFunc)(int,double);
double activeFunc(double,int);
virtual void exception(std::string ex="Default Exception");
void calcErr();
double getError();
};
#endif // NETWORK_H
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/qt-open-source-collection/BPNNDemoQt.git
git@gitee.com:qt-open-source-collection/BPNNDemoQt.git
qt-open-source-collection
BPNNDemoQt
BPNNDemoQt
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891