Esempio n. 1
0
        static void Main(string[] args)
        {
            //XOR function
            //0, 0 | 0
            //0, 1 | 1
            //1, 0 | 1
            //1, 1 | 0

            var dataset = new[]
            {
                new XORSample {
                    A = 0, B = 0, Label = 0
                },
                new XORSample {
                    A = 0, B = 1, Label = 1
                },
                new XORSample {
                    A = 1, B = 0, Label = 1
                },
                new XORSample {
                    A = 1, B = 1, Label = 0
                },
            };

            var net = new SimpleNeuralNetwork(ActivationFunctions.Sigmoid);

            net.AddLayer(2);
            net.AddLayer(3);
            net.AddLayer(1);
            net.Build();

            foreach (var sample in dataset)
            {
                var output = net.ForwardPass(new [] { (float)sample.A, (float)sample.B });
                Console.WriteLine($"Forward pass: {sample.A}, {sample.B}. Output: {output[0]}. Label: {sample.Label}");
            }

            Console.ReadKey();
        }