Implémentation de l'algorithme de rétropagation sur un réseau neuronal
Reseau.h
1 #ifndef _RESEAU_H_
2 #define _RESEAU_H_
3 #include<vector>
4 #include"../Neurone/Neurone.h"
5 #include"../Common/fonctions.h"
6 #include"../Layer/InputLayer.h"
7 
8 class Reseau{
9 private:
10  std::vector<double>input;
11  std::vector<double>output;
12  std::vector<std::vector<std::vector<double> > > dsig;
13  std::vector<std::vector<std::vector<double> > > dact;
14  std::vector<std::vector<std::vector<double> > > derrdact;
15  std::vector<Layer*> reseau; //Vector containing all the layers (input/hide/output)
16  double eta;
17  double k;
18  int nbLayers; //indicating the number of layers you want;
19  public:
20  //Contructor
21  Reseau(int,std::vector<int>,double,double,FonctionActivation::EnumFonctionActivation fct); //A Network is a vector composed of Layers
22 
23 
24  //Methods
25  std::vector<double> fire_all(std::vector<double> input);
26  void learn(std::vector<std::vector<std::vector<double> > > jeuxTest, unsigned int nbPasDescenteGradient);
27  void backPropagation(std::vector<double> erreurs);
28  void printWeight();
29 };
30 #endif
void printWeight()
Definition: Reseau.cpp:64
std::vector< double > fire_all(std::vector< double > input)
Definition: Reseau.cpp:51
void backPropagation(std::vector< double > erreurs)
Definition: Reseau.cpp:105
void learn(std::vector< std::vector< std::vector< double > > > jeuxTest, unsigned int nbPasDescenteGradient)
Definition: Reseau.cpp:76
Definition: Reseau.h:8
Reseau(int, std::vector< int >, double, double, FonctionActivation::EnumFonctionActivation fct)
Definition: Reseau.cpp:13