private void CalculateErrorOut(double[] outPattern) { BackpropagationLayer outLayer = layers[layers.Count - 1]; for (int x = 0; x < outPattern.Count(); x++) { BackpropagationNeuron neuronOut = outLayer.neurons[x]; //Formula: Erro_saída[j] = (valor_desejado – valor_obtido)* valor_obtido * (1 – (valor_obtido)) neuronOut.valueError = (outPattern[x] - neuronOut.GetValuePattern()) * neuronOut.GetValuePattern() * (1 - neuronOut.GetValuePattern()); } }
private double[] GetDoubleArrayOutput() { BackpropagationLayer outLayer = layers[layers.Count - 1]; double[] result = new double[outLayer.neurons.Count()]; for (int x = 0; x < outLayer.neurons.Count(); x++) { BackpropagationNeuron neuron = outLayer.neurons[x]; result[x] = neuron.GetValuePattern(); } return(result); }