?? neuronet_bp.h
字號:
#pragma once
//#include "NeuroLayer.h"
/////////////////////////////////////////////////////////
typedef struct NeuroLayer
{
INT nNode; //節點數目
INT nInput; //層的輸入
DOUBLE *pInput; //層的輸入
DOUBLE *pOutput; //層的輸出
DOUBLE *pError; //層的誤差
DOUBLE **ppWeight; //權值
DOUBLE **ppDWeight;
} NeuroLayer;
//////////////////////////////////////////////////////////
class CNeuroNet_BP
{
public:
CNeuroNet_BP();
CNeuroNet_BP(INT NumLayer, INT* pNumNodeInEachLayer, CString MyFileName);
~CNeuroNet_BP(void);
INT nInput; //一個輸入樣本的數據數目
DOUBLE *pInput; //系統的輸入
DOUBLE *pOutput; //系統的輸出
INT nLayer; //網絡的層數
NeuroLayer *pLayer; //指向各層的指針
DOUBLE Eta; //學習效率
DOUBLE Alpha; //沖量因子
DOUBLE Error; //系統總體誤差
DOUBLE Gain; //S形函數的增益
DWORD TrainTimes; //訓練次數
CString fileName;
private:
public:
BOOL ReadNetFromFile(void); // 從文件中讀取神經網絡
BOOL SaveNetToFile(void); // 把神經網絡保存到文件
public:
// 處理輸入數據,產生輸出
BOOL Propagate( DOUBLE* pInput);
// 節點函數
DOUBLE func(INT i, INT j);
void Train(DOUBLE* pInput, DOUBLE* pTarget);
// 隨機賦權值
void RandomWeight(void);
void BackPropagate(void);
// 計算輸出誤差
void ComputeOutputError(DOUBLE* pTarget);
// 構建網絡,分配變量空間
void GenerateNet(void);
// 顯示網絡信息
};
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -