Activation neuron.

Activation neuron computes weighted sum of its inputs, adds threshold value and then applies activation function. The neuron isusually used in multi-layer neural networks.

Inheritance: Neuron
		/// <summary>
		/// Initializes a new instance of the <see cref="ActivationLayer"/> class.
		/// </summary>
		/// 
		/// <param name="neuronsCount">Layer's neurons count.</param>
		/// <param name="inputsCount">Layer's inputs count.</param>
		/// <param name="function">Activation function of neurons of the layer.</param>
		/// 
		/// <remarks>The new layer is randomized (see <see cref="ActivationNeuron.Randomize"/>
		/// method) after it is created.</remarks>
		/// 
		public ActivationLayer( int neuronsCount, int inputsCount, IActivationFunction function )
			: base( neuronsCount, inputsCount )
		{
			// create each neuron
			for ( int i = 0; i < neurons.Length; i++ )
				neurons[i] = new ActivationNeuron( inputsCount, function );
		}
 /// <summary>
 /// Initializes a new instance of the <see cref="ActivationLayer"/> class
 /// </summary>
 /// <param name="neuronsCount">Layer's neurons count</param>
 /// <param name="inputsCount">Layer's inputs count</param>
 /// <param name="function">Activation function of neurons of the layer</param>
 ///
 /// <remarks>The new layet will be randomized (see <see cref="ActivationNeuron.Randomize"/>
 /// method) after it is created.</remarks>
 ///
 public ActivationLayer(int neuronsCount, int inputsCount, IActivationFunction function)
     : base(neuronsCount, inputsCount)
 {
     // create each neuron
     for (int i = 0; i < neuronsCount; i++)
     {
         neurons[i] = new ActivationNeuron(inputsCount, function);
     }
 }
 /// <summary>
 ///   Initializes a new instance of the <see cref="ActivationMaximization"/> class.
 /// </summary>
 /// 
 /// <param name="neuron">The neuron to be visualized.</param>
 /// 
 public ActivationMaximization(ActivationNeuron neuron)
 {
     this.neuron = neuron;
 }