Example #1
0
        public NN()
        {
            InitializeComponent();
            funcDictionary = new Dictionary <int, Func <double, double> >
            {
                { 1, (x) => x },
                { 2, (x) => x * x },
                { 3, (x) => x > 0 ? 1 : 0 }
            };
            var linear  = GetData <LinearLayerModel>(@"D:\Projects\NeuralNetwork-master\NN.Interpolation\source1.json");
            var layers1 = LayerModelToBaseLayer.MapLinear(linear, funcDictionary);

            _neuralNetwork = new NeuralNetworkImplementation(layers1, 1);
            VisualiseNN();
        }
Example #2
0
        private void NNTrain_Click(object sender, EventArgs e)
        {
            var linear  = GetData <LinearLayerModel>(@"D:\Projects\NeuralNetwork-master\NN.Interpolation\source1.json");
            var layers1 = LayerModelToBaseLayer.MapLinear(linear, funcDictionary);

            _neuralNetwork = new NeuralNetworkImplementation(layers1, 1);

            List <double> inputs  = new List <double>();
            List <double> outputs = new List <double>();

            for (double i = 0; i < 1; i += 0.01)
            {
                inputs.Add(i);
                outputs.Add(_function(i));
            }
            _neuralNetwork.Train(inputs, outputs);
            VisualiseNN();
        }
Example #3
0
        static void Main(string[] args)
        {
            int inputsCount = 1;

            var dict = new Dictionary <int, Func <double, double> >
            {
                { 1, (x) => x },
                { 2, (x) => x * x },
                { 3, (x) => x > 0 ? 1 : 0 }
            };
            var linear        = GetData <LinearLayerModel>(@"D:\Projects\NeuralNetwork-master\NN.Interpolation\source1.json");
            var layers1       = LayerModelToBaseLayer.MapLinear(linear, dict);
            var neuralNetwork = new Implementation.NeuralNetworkImplementation(layers1, inputsCount);

            var input  = new List <double>();
            var output = new List <double>();

            for (double i = 0; i < 20; i += 1)
            {
                input.Add(i);
                output.Add(Func(i));
            }

            neuralNetwork.Train(input, output);


            for (double i = 0; i < 30; i += 1)
            {
                var result = neuralNetwork.Run(i);
                var exact  = Func(i);
                System.Console.WriteLine($"i={i} :==={result} //// {exact} //// {Math.Abs(result - exact)}");
            }

            System.Console.WriteLine(Func(1));


            System.Console.ReadKey();
        }