Почему это net .forecasting (мозг. js прогнозирование) не работает и как заставить этот сценарий работать наконец? - PullRequest
0 голосов
/ 15 апреля 2020

Я запустил этот скрипт с мозгом. js script:

const net = new brain.recurrent.LSTMTimeStep({
    inputSize: 3,
    hiddenLayers: [10],
    outputSize: 3
});

//Same test as previous, but combined on a single set
const trainingData = [
    [8,8,1],[8,8,3],[8,8,5],[8,2,8],[3,6,6],[8,4,5]
];

net.train(trainingData, { log: true, iterations:200 });

console.log( net.run([[8,2,3]]));

console.log( net.forecast([[8,8,2]], 7)) ;

Я знаю, что у net.forecast() есть два аргумента: один, который является массивом прошлого, который содержит переменные, и будущее, которое содержит переменные будущего, например:

xs=[]
//Past
xs.push(0)
xs.push(1)
xs.push(0)
xs.push(1)
//Future
console.log(net.forecast(xs,5))//0
console.log(net.forecast(xs,6))//1
console.log(net.forecast(xs,7))//0
console.log(net.forecast(xs,8))//1
//And so on (Like sinus function)...

Но в моем сценарии все по-другому. Я видел ответ в этом вопросе: мозг. js - предсказание следующих 10 значений И первый ответ, который является правильным, не работает на моем компьютере, который любой мозг. js скрипт. Вы можете проверить скрипт cdn самостоятельно:

const net = new brain.recurrent.LSTMTimeStep({
    inputSize: 3,
    hiddenLayers: [10],
    outputSize: 3
});

//Same test as previous, but combined on a single set
const trainingData = [
    [8,8,1],[8,8,3],[8,8,5],[8,2,8],[3,6,6],[8,4,5]
];

net.train(trainingData, { log: true, iterations:200 });

console.log( net.run([[8,2,3]]));

console.log( net.forecast([[8,8,2]], 7)) ;
<script src="https://cdnjs.cloudflare.com/ajax/libs/brain/0.6.3/brain.js"></script>

Почему это происходит здесь? Кто-то может ответить на этот вопрос? Спасибо за помощь в любом случае! ;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...