Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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));
        }