public SinglelayerPerceptron(PerceptronParameters parameters,
                              Activation activation,
                              int lengthOfInput, int lengthOfOutput)
 {
     CheckInitializationParameters(parameters, activation, lengthOfInput, lengthOfOutput);
     Activation = activation;
     InitVectors(lengthOfInput, lengthOfOutput);
     InitMatrixes(lengthOfInput, lengthOfOutput);
 }
Esempio n. 2
0
 public MultilayerPerceptron(PerceptronParameters parameters,
                             Activation activation,
                             params int[] lengthsOfEachLayer)
 {
     CheckInitializationParameters(parameters, activation, lengthsOfEachLayer);
     InitializeNeurons(lengthsOfEachLayer);
     InitializeWeigthsAndDefference(lengthsOfEachLayer);
     Parameters = parameters;
     Activation = activation;
 }
Esempio n. 3
0
 protected void CheckInitializationParameters(PerceptronParameters parameters,
                                              Activation activation,
                                              params int[] lengthsOfEachLayer)
 {
     CheckConditionOnException(parameters is null, "Neural network parameters is null");
     CheckConditionOnException(activation is null, "Activation function is null");
     CheckConditionOnException(lengthsOfEachLayer.Length < 2, "The number of elements of lengths of vectors of neurons should be more than 1");
     for (var i = 0; i < lengthsOfEachLayer.Length; i++)
     {
         CheckConditionOnException(lengthsOfEachLayer[i] < 1, $"The number of neurons in layer {i} must be greater than 0");
     }
 }