brain.js 反向训练(从输出预测输入)

我刚刚学会了如何训练一个 brain.js 网络,现在正在尝试使用它。我很好奇是否可以反过来操作——从输出预测输入?

这是我的代码

const brain = require('brain.js');const network = new brain.NeuralNetwork();    /* network.train([    { input: { doseA: 0 }, output: { indicatorA: 0 } },    { input: { doseA: 0.1 }, output: { indicatorA: 0.02 } },    { input: { doseA: 0.2 }, output: { indicatorA: 0.04 } },    { input: { doseA: 0.3 }, output: { indicatorA: 0.06 } },    { input: { doseA: 0.4 }, output: { indicatorA: 0.08 } },    { input: { doseA: 0.5 }, output: { indicatorA: 0.10 } },    { input: { doseA: 0.6 }, output: { indicatorA: 0.12 } },    { input: { doseA: 0.7 }, output: { indicatorA: 0.14 } },], {  iterations: 1e6,  errorThresh: 0.00001});*/    network.fromJSON({"sizes":[1,3,1],"layers":[{"doseA":{}},{"0":{"bias":-0.7720749378204346,"weights":{"doseA":-6.819720268249512}},"1":{"bias":0.2317514568567276,"weights":{"doseA":-1.4340121746063232}},"2":{"bias":-0.34450986981391907,"weights":{"doseA":-2.9449453353881836}}},{"indicatorA":{"bias":-1.0124520063400269,"weights":{"0":-5.02399206161499,"1":-1.69333016872406,"2":-3.1710503101348877}}}],"outputLookup":true,"inputLookup":true,"activation":"sigmoid","trainOpts":{"iterations":1000000,"errorThresh":0.00001,"log":false,"logPeriod":10,"learningRate":0.3,"momentum":0.1,"callbackPeriod":10}})const result = network.run({ doseA: 0.35 });   console.log(result);// { indicatorA: 0.06978786736726761 }

但是,如果我想通过 network.run({ indicatorA: 0.07 }) 得到 { doseA: 0.35 } 呢?

我是否必须重新训练 network,但这次交换 inputoutput 的位置?还是有其他方法可以反转它?


回答:

确实有一个工具可以实现这个功能:https://github.com/BrainJS/brain.retro.js

如果有更多兴趣,我也可以提供查询工具,它允许你进行一些非常有趣的类似 MongoDB 风格的查询:https://github.com/BrainJS/brain.retro.js/blob/master/query.js

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

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