【发布时间】:2016-10-10 17:45:05
【问题描述】:
我正在学习如何使用 Java 的 encog 库。我正在尝试为近似函数创建 RBF 网络。我正在使用 SVDTraining 方法,但网络错误并没有减少。它保持在与训练开始时相同的水平。我不知道为什么。
MLDataSet trainingSet = new BasicMLDataSet(trainData);
MLDataSet testingSet = new BasicMLDataSet(testData);
RadialBasisFunction fnc[] = {new GaussianFunction(1)};
RBFNetwork rbf= new RBFNetwork(1,1,fnc);
//Create the training set and train.
MLTrain train = new SVDTraining(rbf, trainingSet);
int epoch = 1;
File f = new File("Error.csv");
PrintWriter pw = new PrintWriter(f);
StringBuilder sb = new StringBuilder();
do {
train.iteration();
System.out.println(rbf.getRBF().length+";"+rbf.getInputCount()+";"+rbf.getOutputCount());
System.out.println("Epoch #" + epoch + " Error:" + train.getError());
epoch++;
String x = String.valueOf(epoch).replace(".", ",");
String y = String.valueOf(train.getError()).replace(".", ",");
sb.append(x);
sb.append(';');
sb.append(y);
sb.append('\n');
} while((train.getError() > MAX_ERROR)&&(epoch < ITERATIONS));
这是我的代码的 sn-p(创建和培训部分) 非常感谢您的每一个回答。
【问题讨论】:
标签: java neural-network encog