dynbp.h
来自「用于抑郁症状检测的人工神经网络程序」· C头文件 代码 · 共 65 行
H
65 行
float random(float max,float min); //浮点随机函数
float sigmoid(float val); //sigmoid函数
float sqr(float val); //平方函数
float normal(float val,float max,float min); //归一化函数
float anti_normal(float val,float max,float min); //反归一化函数
class CNote
{
public:
float fActivation; //激活值
float fErr; //反传误差
float fThreshold; //阈值
CNote();
~CNote();
};
class CLayer
{
public:
int nNote_num; //层节点数
CNote *pNote;
CLayer();
~CLayer();
};
class CNet
{
public:
int nLay_num; //网络层数
float fRate; //学习率
CLayer *pLayer; //层节点指针
float fSum_err; //输出层总误差
float fNorMax; //归一化最大值
float fNorMin; //归一化最小值
int nGroup_num; //样本组数
float **pGroup_in; //输入层样本矩阵
float **pGroup_out; //输出层样本矩阵
float **pNor_in; //归一化输入矩阵
float **pNor_out; //归一化输出矩阵
float ***pWeight; //权矩阵
CNet();
~CNet();
void create_net(); //初始化网络
void remove_net(); //消除网络
void create_weight(); //初始化权矩阵
void remove_weight(); //消除权矩阵
void propagation(float *pInput); //正向传播函数
void back_propagation(float *pTeach); //反向传播函数
float caculate_out_err(float *pTeach);//计算输出误差
void adjust_weight(); //调整权值
void save_weight(); //保存权值
void get_weight(); //读入已保存的权值
void save_threshold(); //保存阈值
void get_threshold(); //读入已保存的阈值
float train(float *NorIn,float *NorOut,float *In,float *Out); //训练
void group_train(float expect_err,int maxcircle); //组训练
void run(); //执行
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?