我想了解的Brain.js在LSTM NN中产生了奇怪的意外输出
你好, 我是NN和ML的新手,我尝试过使用brain.js的字符串分类示例,如代码所示,我在训练数据中添加了一个对象,然后更改了“小”位迭代计数。 当我为“ Code”的测试值运行程序时,我期望至少得到我最初在数据集中给出的四个字母之一的输出,但是我得到的却不是“ alla”的奇怪输出。 ! 有人可以告诉我为什么吗:C?并且请注意,我是ML的新手,而我对所有新概念不知所措。
const brain = require('brain.js/dist/index').default;
const config = {
iterations: 15000,
log: true,
logPeriod: 1,
layers: [10]
};
// create data which will be used for training
const data = [
/*
10 training data of inputs starting by "a", "b" and "c"
and their corresponding output
none of them contains a sub string of "alla" in case you're wondering
*/
{ input: "Penguin", output: "p" },
];
// the thing we would test
const test = "Code";
const network = new brain.recurrent.LSTM();
network.train(data, config);
const output = network.run(test);
console.log(`It starts with: ${output}`); // It starts with: c
答案 0 :(得分:0)
您实际上只有一项作为训练数据;这还不足以让网络学习。我猜这可能导致奇怪的输出。
此外,您的日志记录应该更像state
我不确定console.log("It starts with ", output);
jQuery选择器将选择并返回什么。这里似乎有些神圣:)