私のアプリケーションで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);
オールウェイズ答えが推定メソッドから返されると、これらの値は1.0ですThowさんのメンバーが含まれているdouble配列でありますまたは何か0.9999923のようなもの。 私はどのメソッドにデータを渡しても、それは常に答えと同じものを返します。 私は何か間違ったことをするので、どんな入力でも同じ出力が返されますか?誰もこのコードで同じ問題を抱えていますか?
qibackの作品BackPrpogationネットワークの1未満であることが必要ですあなたの解決策 – Johnv2020
私はこの問題のための解決策を見つけることができません... – qiback