내 응용 프로그램에 NeuronDotNet을 사용하고 싶습니다. 이 코드와이 클래스를 사용하려고하면NeuronDotNet에 문제가있어서 C#
using NeuronDotNet.Core;
public class CostomNeuralNetwork
{
public static double[] SampleInput = new double[] {4, 2, 8, 6, 15, 49, 22};
public static double[] SampleOutput = new double[] {4, 2};
private BackpropagationNetwork network;
public CostomNeuralNetwork()
{
var inputLayer = new LinearLayer(7);
var hiddenLayer = new SigmoidLayer(20);
var outputLayer = new SigmoidLayer(2);
new BackpropagationConnector(inputLayer, hiddenLayer).Initializer = new RandomFunction(0d, 0.3d);
new BackpropagationConnector(hiddenLayer, outputLayer).Initializer = new RandomFunction(0d, 0.3d);
network = new BackpropagationNetwork(inputLayer, outputLayer);
network.SetLearningRate(0.3);
}
public void Train(double[] input,double []output)
{
var set = new TrainingSet(7, 2);
set.Add(new TrainingSample(input, output));
network.Learn(set, 10000);
}
public double[] Estimate(double[] input)
{
var res = network.Run(input);
return res;
}
}
: 이 클래스를 고려하시기 바랍니다
var costomNetwork = new CostomNeuralNetwork();
costomNetwork.Train(CostomNeuralNetwork.SampleInput, CostomNeuralNetwork.SampleOutput);
costomNetwork.Estimate(CostomNeuralNetwork.SampleInput);
에 allways 대답은 예상 메서드에서 반환하는 것은 그 값은 1.0입니다 thow 멤버를 포함하는 이중 배열입니다 또는 0.9999923과 같은 somehething. 메쏘드 T에 전달하는 데이터가 무엇이든 관계없이 항상 답과 같은 것을 반환합니다. 나는 어떤 잘못을해서 모든 입력이 같은 결과를 반환하도록합니까? 누구든지이 코드에 동일한 문제가 있습니까?
qiback를 작동 BackPrpogation 네트워크에 대한보다 1 할 필요가 귀하의 솔루션 – Johnv2020
나는이 문제에 대한 해결책을 찾을 수 없습니다 ... – qiback