/// <summary> /// Set new activation function for all neurons of the layer. /// </summary> /// /// <param name="function">Activation function to set.</param> /// /// <remarks><para>The methods sets new activation function for each neuron by setting /// their <see cref="ActivationNeuron.ActivationFunction"/> property.</para></remarks> /// public void SetActivationFunction(IActivationEquation function) { Equation = function; for (int i = 0; i < Neurons.Length; i++) { Neurons[i].SetActivationEquation(ref function); } }
/// <summary> /// /// </summary> /// <param name="function"></param> public void SetActivationFunction(IActivationEquation function) { ActivationEquation = function; for (int i = 0; i < NbLayers; i++) { if (function is ReLuActivation) { if (i == NbLayers - 1) { Layers[i].SetActivationFunction(new SoftMaxActivation()); } } else { Layers[i].SetActivationFunction(function); } } }
public Neuron(IActivationEquation equation, int nConnection = 0) { Equation = equation; Weights = new double[nConnection]; Randomize(); }
public void SetActivationEquation(ref IActivationEquation a) { Equation = a; }
/// <summary> /// /// </summary> /// <param name="nbNeurons"></param> /// <param name="nConnections"></param> /// <param name="equation"></param> public Layer(int nbNeurons, int nConnections, IActivationEquation equation) { Equation = equation; Neurons = new Neuron[nbNeurons]; InitialiserNeurons(nConnections); }