У меня странный неожиданный вывод из LSTM NN с brain.js, который я хочу понять
привет, я новичок в NN и ML, и я попытался немного поиграть сПример строковой классификации brain.js, как вы можете видеть в коде, я добавил еще один объект к обучающим данным, а затем изменил «маленький» бит числа итераций.Когда я запустил программу для тестового значения «Код», я ожидал, что по крайней мере получу вывод одной из четырех букв того, что я изначально дал в своем наборе данных, но вместо этого я получил странный вывод «алла»!Может кто-нибудь, пожалуйста, скажите мне, почему это так: 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
вывод: