// No usar con la Input Layer public void ProcessActivationValues() //Calculo valores de activacion usando los datos de la capa anterior. Como la Input Layer no tiene una capa que la preceda, no la uso con ella { for (int i = 0; i < neurons.Length; i++) //Tomo de a una neurona y le calculo su activacion { float weightedSum = 0; for (int j = 0; j < neurons[i].links.Length; j++) { weightedSum += neurons[i].links[j].from.activation * neurons[i].links[j].weight; //Hago la sumatoria de valores de activacion multiplicados por su peso } weightedSum -= neurons[i].bias * neurons[i].biasWeight; //al valor obtenido le sumo el bias multiplicado por su peso neurons[i].activation = MathS.Sigmoid(weightedSum) * 2; //al valor obtenido le aplico la funcion Sigmoide para obtener una valor de activacion entre 0 y 1 } }