簡體   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