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
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(); }