arao02/Desktop
0
1#pragma once2#include <algorithm>3#include <vector>4#include <iostream>5#include <random>6#include <numeric>7#include <cmath>8#include <time.h>9 10using namespace std;11 12class Perceptron {13 public:14 vector <double> weights;15 double bias;16 Perceptron(int inputs, double bias = 1.0);17 double run(vector<double> x);18 void set_weights(vector<double> w_init);19 double sigmoid(double x);20};21 22class MultiLayerPerceptron {23 public:24 MultiLayerPerceptron(vector<int> layers, double bias = 1.0, double eta = 0.5);25 void set_weights(vector<vector<vector<double>>>w_init);26 void print_weights();27 vector<double> run(vector<double> x);28 double bp(vector<double>x, vector<double>y);29 30 vector<int> layers;31 double bias;32 double eta;33 vector<vector<Perceptron>> network;34 vector<vector<double> > values;35 vector<vector<double>> d;36};