Beispiel #1
0
        static void Main(string[] args)
        {
            int i = 0;

            while (i < 10)
            {
                nn = new NeuralNetwork(9, 3, activationFunction);
                // preparing neural network
                //dla 9 elementowej sieci
                nn.AppendLayer(9);
                nn.AppendLayer(7);
                nn.AppendLayer(5);

                // SOU - EVE
                double[] trainingInput  = new double[] { 2, 2, 1, 3, 4, 3, 4, 3, 3 };
                double[] trainingOutput = new double[] { .48, .27, .25 };
                Training(trainingInput, trainingOutput);

                // HUL - WBA
                trainingInput  = new double[] { 1, 2, 1, 1, 1, 9, 3, 3, 4 };
                trainingOutput = new double[] { .31, .29, .42 };
                Training(trainingInput, trainingOutput);

                //BUR -MCI
                trainingInput  = new double[] { 1, 0, 4, 3, 2, 5, 6, 3, 1 };
                trainingOutput = new double[] { .1, 0.15, 0.75 };
                Training(trainingInput, trainingOutput);

                ////LEI - MID
                //trainingInput = new double[] { 3, 2, 0, 3, 2, 5, 1, 4, 5 };
                //trainingOutput = new double[] { .52, 0.26, 0.22 };
                //Training(trainingInput, trainingOutput);


                ////BUR-MCI
                //double[] inputData = new double[] { 1, 0, 4, 3, 2, 5, 6, 3, 1 };

                //LEI - MID
                double[] inputData = new double[] { 3, 2, 0, 3, 2, 5, 1, 4, 5 };

                Predict(inputData, i + 1);
                i++;
            }
            Console.ReadKey();
        }
Beispiel #2
0
        /// <summary>
        /// Standardowa propagacja sieci neuronowej
        /// </summary>
        static void Task1(double[] trainingData)
        {
            Console.WriteLine("Propagation");
            NeuralNetwork nn = new NeuralNetwork(trainingData.Length, 1, activationFunction);

            nn.AppendLayer(5);
            var result = nn.Propagate(trainingData);

            Console.WriteLine("Result:");
            MatrixHelper.MatrixDisplay(result);
        }
Beispiel #3
0
 /// <summary>
 /// Propagacja sieci neuronowej z wykorzystaniem wstecznej propagacji
 /// </summary>
 static void Task2(double[] trainingData)
 {
     try
     {
         Console.WriteLine("Back propagation");
         NeuralNetwork nn = new NeuralNetwork(trainingData.Length, 3, activationFunction);
         nn.AppendLayer(5);
         for (int i = 0; i < 10000; i++)
         {
             nn.PropagateBack(trainingData, new double[] { 0.1, 0.2, 0.3 }, activationFunction);
         }
         var result = nn.Propagate(trainingData);
         Console.WriteLine("Result:");
         MatrixHelper.MatrixDisplay(result);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
     }
 }