我想在我的應用程序中使用NeuronDotNet。 請考慮這個類:在c中的NeuronDotNet的麻煩#
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);
百達答案從估算方法返回的是一個包含thow成員的值是1.0雙陣列或者像0.9999923之類的東西。 無論我傳遞給估計方法的數據如何,它都會返回與答案相同的內容。 我做錯了什麼,以便通過任何輸入返回相同的輸出?有沒有人有這個代碼相同的問題?
qiback - 我有完全相同的問題,因爲你現在 - 如果你解決了這個問題,你可以發佈你的解決方案 – Johnv2020
我無法找到解決這個問題... – qiback