Я запустил этот скрипт с мозгом. 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>
Почему это происходит здесь? Кто-то может ответить на этот вопрос? Спасибо за помощь в любом случае! ;)