Encog 神经网络验证/测试

我使用 encog 库实现了一个神经网络,如下所示,

MLDataSet trainingSet = new BasicMLDataSet(XOR_INPUT, XOR_IDEAL);    final Propagation  train =  new Backpropagation(network, trainingSet);    int epoch = 1;    do {        train.iteration();        System.out.println("Epoch #" + epoch +                 " Error:" + train.getError());                epoch++;    } while (train.getError() < 0.009);    double e = network.calculateError(trainingSet);    System.out.println("Network trained to error :" + e);    System.out.println("Saving Network");    EncogDirectoryPersistence.saveObject(new File(FILENAME), network);}public void loadAndEvaluate(){    System.out.println("Loading Network");    BasicNetwork network = (BasicNetwork) EncogDirectoryPersistence.loadObject(new File(FILENAME));    BasicMLDataSet trainingSet = new BasicMLDataSet(XOR_INPUT,XOR_IDEAL);    double e = network.calculateError(trainingSet);    System.out.println("Loaded network's error is (should be the same as above ):" + e);}

这会输出错误信息。但我想用自定义数据进行测试,并检查一组数据的输出是否正确


回答:

我看到你正在参考一个持久化示例。要获取某些输入的输出,请使用“compute”函数。例如:

    double[] output = new double[1];    network.compute(new double[]{1.0, 1.0}, output);    System.out.println("Network output: " + output[0] + " (should be close to 0.0)");

这里是 Java 用户指南。非常有帮助。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注