#include"./Neurone.h" /** * Constructeur par defauts * @method Neurone::Neurone */ Neurone::Neurone(){ n = 0; } /** * Constructeur par nombre d'entrées * @method Neurone::Neurone * @param n Nombre d'entrées * @param n Fonction d'Activation */ Neurone::Neurone(int n,FonctionActivation::EnumFonctionActivation fct){ this->n = n; fonctionActivation.setFonctionActivation(fct); aleaWeights(); } /** * Constructeur par arguments * @method Neurone::Neurone * @param taille Nombre d'entrées * @param x Vecteur de poids */ Neurone::Neurone(int n, std::vector * x,FonctionActivation::EnumFonctionActivation fct){ w = x; fonctionActivation.setFonctionActivation(fct); this->n = n; } /** * Méthode de propagation en avant * @method Neurone::fire * @param in Vecteur d'entrées * @param k Coefficient de sigmoid k * @return Valeur d'activation */ double Neurone::fire(std::vector in, double k)const{ return fw_activate(fw_sum(in),k); } /** * Méthode de somme des valeurs du vecteur * @method Neurone::fw_sum * @param x Vecteur * @return Somme */ double Neurone::fw_sum(std::vector x)const{ double res=0; for(int i=0; i x,double o,double k, double mu){ double sum = fw_sum(x); double res = fw_activate(sum,k); double derive = derive_activate(sum,k); for(int i=0; i