public static void Main(string[] args)
        {
            Console.WriteLine("\nBegin Radial Basis Function (RBF) network input-output demo\n");

            int numInput  = 3;
            int numHidden = 4;
            int numOutput = 2;

            Console.WriteLine("\nCreating a 3-4-2 radial net");
            RadialNet rn = new RadialNet(numInput, numHidden, numOutput);

            double[][] centroids = new double[4][];
            centroids[0] = new double[] { -3.0, -3.5, -3.8 };
            centroids[1] = new double[] { -1.0, -1.5, -1.8 };
            centroids[2] = new double[] { 2.0, 2.5, 2.8 };
            centroids[3] = new double[] { 4.0, 4.5, 4.8 };
            Console.WriteLine("\nSetting centroids (means) to:");
            Helpers.ShowMatrix(centroids, -1, 2);
            Console.WriteLine("Loading centroids into radial net");
            rn.SetCentroids(centroids);

            double[] stdDevs = new double[4] {
                2.22, 3.33, 4.44, 5.55
            };
            Console.WriteLine("\nSetting standard deviations (widths) to:");
            Helpers.ShowVector(stdDevs, 2, 4, true);
            Console.WriteLine("Loading standard deviations into radial net");
            rn.SetStdDevs(stdDevs);

            double[][] hoWeights = new double[4][];
            hoWeights[0] = new double[2] {
                5.0, -5.1
            };
            hoWeights[1] = new double[2] {
                -5.2, 5.3
            };
            hoWeights[2] = new double[2] {
                -5.4, 5.5
            };
            hoWeights[3] = new double[2] {
                5.6, -5.7
            };
            Console.WriteLine("\nSetting hidden-output weights to:");
            Helpers.ShowMatrix(hoWeights, -1, 2);
            Console.WriteLine("Loading hidden-output weights into radial net");
            rn.SetWeights(hoWeights);

            double[] oBiases = new double[2] {
                7.0, 7.1
            };
            Console.WriteLine("\nSetting output biases to:");
            Helpers.ShowVector(oBiases, 1, 4, true);
            Console.WriteLine("Loading output biases into radial net");
            rn.SetBiases(oBiases);

            double[] xValues = new double[3] {
                1.0, -2.0, 3.0
            };
            Console.WriteLine("\nSetting x-input to:");
            Helpers.ShowVector(xValues, 1, 4, true);

            Console.WriteLine("\nComputing the output of the radial net\n");
            double[] yValues = rn.ComputeOutputs(xValues);

            Console.WriteLine("\nThe output of the RBF network is:");
            Helpers.ShowVector(yValues, 4, 4, true);

            Console.WriteLine("\nEnd RBF network demo\n");
            Console.ReadLine();
        } // Main
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            Console.WriteLine("\nBegin Radial Basis Function (RBF) network input-output demo\n");

              int numInput = 3;
              int numHidden = 4;
              int numOutput = 2;

              Console.WriteLine("\nCreating a 3-4-2 radial net");
              RadialNet rn = new RadialNet(numInput, numHidden, numOutput);

              double[][] centroids = new double[4][];
              centroids[0] = new double[] { -3.0, -3.5, -3.8 };
              centroids[1] = new double[] { -1.0, -1.5, -1.8 };
              centroids[2] = new double[] { 2.0, 2.5, 2.8 };
              centroids[3] = new double[] { 4.0, 4.5, 4.8 };
              Console.WriteLine("\nSetting centroids (means) to:");
              Helpers.ShowMatrix(centroids, -1, 2);
              Console.WriteLine("Loading centroids into radial net");
              rn.SetCentroids(centroids);

              double[] stdDevs = new double[4] { 2.22, 3.33, 4.44, 5.55 };
              Console.WriteLine("\nSetting standard deviations (widths) to:");
              Helpers.ShowVector(stdDevs, 2, 4, true);
              Console.WriteLine("Loading standard deviations into radial net");
              rn.SetStdDevs(stdDevs);

              double[][] hoWeights = new double[4][];
              hoWeights[0] = new double[2] { 5.0, -5.1 };
              hoWeights[1] = new double[2] { -5.2, 5.3 };
              hoWeights[2] = new double[2] { -5.4, 5.5 };
              hoWeights[3] = new double[2] { 5.6, -5.7 };
              Console.WriteLine("\nSetting hidden-output weights to:");
              Helpers.ShowMatrix(hoWeights, -1, 2);
              Console.WriteLine("Loading hidden-output weights into radial net");
              rn.SetWeights(hoWeights);

              double[] oBiases = new double[2] { 7.0, 7.1 };
              Console.WriteLine("\nSetting output biases to:");
              Helpers.ShowVector(oBiases, 1, 4, true);
              Console.WriteLine("Loading output biases into radial net");
              rn.SetBiases(oBiases);

              double[] xValues = new double[3] { 1.0, -2.0, 3.0 };
              Console.WriteLine("\nSetting x-input to:");
              Helpers.ShowVector(xValues, 1, 4, true);

              Console.WriteLine("\nComputing the output of the radial net\n");
              double[] yValues = rn.ComputeOutputs(xValues);

              Console.WriteLine("\nThe output of the RBF network is:");
              Helpers.ShowVector(yValues, 4, 4, true);

              Console.WriteLine("\nEnd RBF network demo\n");
              Console.ReadLine();
        }