public virtual double[] Perzertron_forward_softmax(double[] x) { double[] y = new double[x.Length]; double[] z; for (int i = 0; i < x.Length; i++) { for (int j = 0; j < x.Length; j++) { y[i] = y[i] + (x[i] * weight_2[j, i]); } } for (int i = 0; i < x.Length; i++) { y[i] = y[i] + bias1[i]; } z = Activation_Func.Softmax(y); /* for (int i = 0; i < x.Length; i++) * { * * y[i] = sigmoid(y[i]); * }*/ return(z); }
/// <summary> /// Шаг вперен по второму слою /// </summary> /// <param name="x"> массив внутреннего слоя</param> /// <returns></returns> public override double[] Perzertron_forward_softmax(double[] x) { double[] y = new double[x.Length]; for (int i = 0; i < x.Length; i++) { for (int j = 0; j < x.Length; j++) { y[i] = y[i] + (x[i] * weight_2[j, i]); } } for (int i = 0; i < x.Length; i++) { y[i] = y[i] + bias1[i]; } // z = activation_Func.Softmax(y); for (int i = 0; i < x.Length; i++) { y[i] = Activation_Func.Sigmoid(y[i]); } // return z; return(y); }
public virtual double[] Perzertron_forward(double[] x) { double[] y = new double[x.Length]; for (int i = 0; i < x.Length; i++) { for (int j = 0; j < x.Length; j++) { y[i] = y[i] + (x[i] * weight_1[j, i]); } } for (int i = 0; i < x.Length; i++) { y[i] = y[i] + bias0[i]; } for (int i = 0; i < x.Length; i++) { y[i] = Activation_Func.Sigmoid(y[i]); } return(y); }