📄 neuralnet.h
字号:
#ifndef _NEURALNET_H_
#define _NEURALNET_H_
#include "include.h"
#include "ga.h"
struct SNeuron//神经元,又名神经细胞,是神经系统的结构与功能单位。
{
int m_iNumInputs;//神经元的输入个数
vector<double> m_vecWeight;//每个输入的权值
SNeuron(int);//构造神经元,初始化权值
};
struct SNeuronLayer//神经元层
{
int m_iNumNeurons;//本层的神经元数目
vector<SNeuron> m_vecNeurons;//本层的神经元
SNeuronLayer(int, int);//构造神经元层,即构造该层每个神经元
};
class CNeuralNet
{
private:
int m_iNumInputs;//输入
int m_iNumOutputs;//输出
int m_iNumHiddenLayers;//隐藏层的数目
int m_iNeuronPerHiddenLayer;//每个隐藏层中神经元的数目
int m_iNumEpochs;
bool m_bTrained;//网络训练完为true
vector<SNeuronLayer> m_vecLayers;//m_vecLayers[0]为隐层 m_vecLayers[1]为输出层
public:
double m_dErrorSum;
double m_dFitness;//
CNeuralNet();
void CreateNet();//创建神经网络
int GetNumberOfWeights() const;//获得权值数目
vector<double> GetWeights() const;//获得权值
void PutWeights(vector<double> &weights);//置权值
inline double Sigmoid(double activation, double response);//S形响应曲线
vector<double> Update(vector<double> &inputs);//输入-〉输出
int GetNumOutputs()
{
return m_iNumOutputs;
}
void OutputWeight();
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -