машинное обучение мозгов, выявляющих простой паттерн - PullRequest
0 голосов
/ 27 июня 2019

Я хочу, чтобы машинное обучение выявляло различные простые схемы и давало точные прогнозы.Паттерн состоит в том, что при увеличении индекса (начиная с 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 показался мне хорошим выбором, потому что он относительно прост, но, очевидно, я чего-то здесь упускаю.

...