⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 neuralnet.h

📁 用C#写的一个神经网络结合遗传算法优化的程序
💻 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 + -