示例#1
0
        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
        }
示例#2
0
        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());
        }
示例#3
0
        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);
            }
        }
示例#4
0
        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;
        }