#include #include #include #include "Xenith/core.h" #include "Xenith/typedef.h" int main() { srand(time(NULL)); LayerStructure_t layers[] = { {2, SIGMOID}, // Вход: 2 числа {3, SIGMOID}, // Скрытый слой {1, SIGMOID} // Выход: 1 число }; NeuralNetwork nn(layers, 3); // Данные для обучения std::vector> inputs = {{1, 1}, {1, 0}, {0, 0}, {0, 1}}; std::vector> targets = {{0}, {1}, {1}, {0}}; // Цикл обучения std::cout << "Training..." << std::endl; for (int epoch = 0; epoch < 20000; epoch++) { for (int i = 0; i < inputs.size(); i++) { nn.train(inputs[i], targets[i], 0.5); } } // Проверка результатов std::cout << "Results:" << std::endl; for (int i = 0; i < inputs.size(); i++) { std::vector res = nn.feedForward(inputs[i]); std::cout << inputs[i][0] << " " << inputs[i][1] << " -> " << (res[0] > 0.5 ? 1 : 0) << " (raw: " << res[0] << ")" << std::endl; } return 0; }