📄 bpnet.h
字号:
#ifndef _michael_BpNet_
#define _michael_BpNet_
#include "matrix.h"
class CBpNet
{
// Implementation
public:
CMatrix scope(CMatrix mData);
long lEpochs;
double dblMse;
double* dblError;
double randab(double a,double b);
void stop();
void learn();
CMatrix simulate(CMatrix mData);
void Create(CMatrix mInputData,CMatrix mTarget,int numSample=10,int iInput=3,int iHidden=10,int iOutput=3);
public:
int iHidden;//隐层神经元个数
int iInput;//输入个数
int iOutput;//输出个数
int numSample;//n组训练样本
int optimalIndex;//最优的组
protected:
CMatrix mInput;//单个样本输入数据
CMatrix mSampleInput;//全体样本输入数据
CMatrix mSampleTarget;//全体目标数据
CMatrix* mHidden;//计算得到的隐层数据
CMatrix* mOutput;//计算输出
CMatrix* mWeighti;//输入-隐层权重
CMatrix* mWeighto;//隐层-输出权重
CMatrix* mChangei;//输入-隐层权重变化
CMatrix* mChangeo;//隐层-输出权重变化
public:
CMatrix mInputNormFactor;//正规化因子,iInputx2
CMatrix mTargetNormFactor;//输出正规化因子,iOutputx2
protected:
CMatrix mThresholdi;//阙值
CMatrix mThresholdo;
CMatrix* mOutputDeltas;//误差
CMatrix* mHiddenDeltas;
protected:
int generation;
bool m_IsStop;
double dblMomentumFactor;
double* dblLearnRate1;
double* dblLearnRate2;
void backward(int iSample,int sample);
void forward(int iSample,int sample);
void normalize();//将输入输出样本数据正规化处理
private:
double* dblErr;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -