我想让机器学习来检测各种简单的模式并给出准确的预测。 模式是,随着索引(从1开始)的增加,相应的值会从1到4反复:
index: 1, result: 1
index: 2, result: 2
index: 3, result: 3
index: 4, result: 4
index: 5, result: 1
index: 6, result: 2
index: 7, result: 3
index: 8, result: 4
index: 9, result: 1
index: 10, result: 2
index: 11, result: 3
index: 12, result: 4
etc.
我尝试使用brainjs并使用100个条目的训练数据集,但它并没有给出预期的结果。
const brain = require('brain.js');
const network = new brain.recurrent.LSTMTimeStep();
let trainingData = [];
for (let i = 1, j = [4, 1, 2, 3]; i <= 100; i++) {
trainingData.push({input: {index: i}, output: {result: j[i%4]}});
}
network.train(trainingData);
console.log(network.run({index: 101}));
console.log(network.run({index: 102}));
console.log(network.run({index: 103}));
console.log(network.run({index: 104}));
/*
{ result: 2.564828634262085 }
{ result: 2.564828634262085 }
{ result: 2.564828634262085 }
{ result: 2.564828634262085 }
*/
我刚刚开始学习机器学习,因此Brainjs似乎是一个不错的选择,因为它相对“简单”,但是显然我在这里缺少一些东西。