public NeuronManager(string Input, Fce fce) { function = fce; NeuronLayers = new List <double[]>(); int[] values = Input.Split('-').Select(x => Convert.ToInt32(x)).ToArray(); for (int i = 0; i < values.Count(); i++) { double[] Layer = new double[values[i]]; NeuronLayers.Add(Layer); } #region tested //Weight = new List<double>(); //Weight.Add(0.15); //Weight.Add(0.20); //Weight.Add(0.35); //Weight.Add(0.25); //Weight.Add(0.30); //Weight.Add(0.35); //Weight.Add(0.4); //Weight.Add(0.45); //Weight.Add(0.6); //Weight.Add(0.50); //Weight.Add(0.55); //Weight.Add(0.6); #endregion }
public double[] GetValues(double[] In) { function = Fce.Logistic; List <double> result = new List <double>(); NeuronLayers[0] = In; GetError(); foreach (var item in NeuronLayers.Last()) { result.Add(item); } return(result.ToArray()); }
public static double Binary(this double value, Fce function) { switch (function) { case Fce.Binary: { return(value > 0 ? 1 : 0); } case Fce.Logistic: { return(1 / (1 + Math.Pow(Math.E, -value))); } default: return(value); } }
public void TestData(List <double[]> I) { function = Fce.Binary; for (int x = 0; x < I.Count; x++) { NeuronLayers[0] = I[x]; GetError(); string result = "InPut:\t"; foreach (var item in I[x]) { result += item + " "; } string result2 = "Calculate:"; foreach (var item in NeuronLayers.Last()) { result2 += item + " "; } Console.WriteLine("{0} {1}", result, result2); } function = Fce.Logistic; }