#ifndef CORE_H #define CORE_H #include "typedef.h" #include #include #include #include class NeuralNetwork { private: int numLayers; std::vector layerSizes; std::vector>> weights; // weights[layer][to_node][from_node] std::vector> biases; // biases[layer][node] std::vector> outputs; // Храним выходы слоев для backprop double sigmoid(double x) { return 1.0 / (1.0 + exp(-x)); } double sigmoidDerivative(double x) { return x * (1.0 - x); } public: NeuralNetwork(LayerStructure_t layers[], int count); std::vector feedForward(std::vector input); void train(std::vector input, std::vector target, double learningRate); }; #endif