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