繁体   English   中英

如何修复 Brain.js 中的 NaN 训练错误?

[英]How do I fix the NaN training error in Brain.js?

我的神经网络有问题,我真的需要你的帮助。

当网络训练时,它给我这个 output:

iterations: 10, training error: NaN

iterations: 20, training error: NaN

等等...

到目前为止我已经尝试过:

  • 仅用于训练具有 output 0 或 1 的数据
  • 规范化数据
  • 使输入变平

这是我的训练数据

这是我的代码

const Brain = require('brain.js'),
fs = require('fs'),
config = {
    logPeriod: 10,
    log: true,
    iterations: 100
};

let trainingData = JSON.parse(fs.readFileSync('./data/trainingData.normalized.json', 'utf8'));

const net = new Brain.NeuralNetwork({
    hiddenLayers: [72, 72]
});

net.train(trainingData, config);

console.log(net.run(trainingData[0].input));

任何帮助将不胜感激!

此答案已被编辑。

看起来您正在使用嵌套的 arrays。 340 个输入,其中输入为 72 arrays 的 72 arrays。 我不确定你之前是如何展平你的输入的,但是使用你的训练数据和你的代码,我可以通过这样做得到一个 0.18139151128039302 的训练错误:

for (let datum of trainingData) {
     datum.input = datum.input.flat()
}
const train = net.train(trainingData, config);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM