// Creation structure reseau de neurones void Mlp::create(int neurones_caches, unsigned long data_size) { // Creation des couches for (unsigned int i = 0; i < data_size; i++) couche_entree.push_back(Neurone()); for (unsigned int i = 0; i < neurones_caches; i++) couche_cachee.push_back(Neurone()); for (unsigned int i = 0; i < 10; i++) couche_sortie.push_back(Neurone()); // Initialisation aléatoire des poids (entre -1 et 1) for (unsigned int i = 0; i < couche_entree.size(); i++) for (int j = 0; j < couche_cachee.size(); j++) couche_entree[i].add_poids(((double) rand() / (double)RAND_MAX) * (1 + 1) - 1); for (unsigned int i = 0; i < couche_cachee.size(); i++) for (int j = 0; j < couche_sortie.size(); j++) couche_cachee[i].add_poids(((double) rand() / (double)RAND_MAX) * (1 + 1) - 1); }
Layer::Layer(int numOfNeurones): hidden(true) { for (int i = 0; i < numOfNeurones; i++) neurones.push_back (Neurone()); }