public static NeuralNetwork.NeuralNetwork CreateNeuralNetwork() { var neuralNetwork = new NeuralNetwork.NeuralNetwork { Bias = Settings.Default.Bias, MinWeight = Settings.Default.MinWeight, MaxWeight = Settings.Default.MaxWeight, ActivationFunction = ActivationFunctionExtension.GetFunction(Settings.Default.ActivationFunction) }; if (neuralNetwork.ActivationFunction is SigmoidFunction) { neuralNetwork.ActivationFunction = new SigmoidFunction(Settings.Default.T); } if (Settings.Default.HiddenLayers.Length > 0) { var prevSize = Settings.Default.InputLayerSize; foreach (var hiddenLayer in Settings.Default.HiddenLayers) { neuralNetwork.AddLayer(new Layer(hiddenLayer, prevSize)); prevSize = hiddenLayer; } neuralNetwork.AddLayer(new Layer(Settings.Default.OutputLayerSize, prevSize)); } else { neuralNetwork.AddLayer(new Layer(Settings.Default.OutputLayerSize, Settings.Default.InputLayerSize)); } return(neuralNetwork); }
private void ComboBoxActivationFunction_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { Function = ActivationFunctionExtension.GetFunction( (ActivationFunctionType)((ComboBox)sender).SelectedItem); if (UpDownBias.Value == null) { return; } var bias = UpDownBias.Value.Value; ActivationFunctionChartValues.ForEach(point => point.Y = Math.Round(Function.GetValue(point.X + bias), 3)); }