现代c++手撸2309神经网络最简化版230901

用c++输入数据:vector> inputs = { {1, 1}, {1, 0} };数据targets={0,1}; 测试:vector> inputs22 = { {1, 0}, {1,1} }; 构建神经网络,例如:NeuralNetwork nn({ 2, 4, 1 }); 则网络有四层、输入层2个节点、输出层1个节点、隐藏层4个节点、网络有梯度下降、反向传播…等。

以下是一个使用C++构建的基本神经网络示例,包含前向传播和基于梯度下降的反向传播。

在这个例子中:

  1. 我们创建了一个神经网络,具有输入层2个节点,隐藏层4个节点和输出层1个节点。
  2. 我们使用了两个输入向量({1, 1}{1, 0})进行训练,目标输出分别是01
  3. 我们进行了10000次训练迭代。
  4. 训练完成后,我们使用另外两个输入向量({1, 0}{1, 1})来测试网络的性能。

你可以根据需要调整神经网络的参数,比如学习率和训练迭代次数,以获得更好的性能。


#include 
#include 

using namespace std;

bool  whetherOutputFlag = 0;
float sigmoid(float x) {
    return 1 / (1 + exp(-x));
}

fl

你可能感兴趣的:(算法)