Any chance of extending this service to support time series predictions?
Can you give me an example?
Weather forecasts, financial predictors, trends. It takes previous entries into consideration when calculating the output.
Do you have a dataset we could work with?
This is a very simple example: https://archive.ics.uci.edu/ml/datasets/Dow+Jones+Index
Awesome! The feed forward networks (the current brain.js neural net) won't be able to give a reliable prediction (arguably) because it is trained by what would be easily described as a sort of frozen state, for example: if I were to say "parchment", you'd be like: "that was odd to say, what did he mean by that?".
That being said, it is how a feed forward neural network... work, they don't really have a _memory_ of what is going on to give it a context.
However, a recurrent neural network can recall what is going on. If you are still reading this you will remember I said the word "parchment", and may be further intrigued at where I am going with it. I am not, other than to illustrate that memory is very powerful, especially in predictions.
However (and this brings me a lot of pleasure) the recurrent neural network that is being worked on here has a handy little method... interestingly called "predict", which I believe is what could be used in this scenario.
This code is actively being worked on, but would probably give you a pretty good prediction.
The code is being honed to not only be a "hey look what neural networks can do!" but also be enterprise ready. If we can get the pseudo csv data mentioned above fed into the neural net, certainly a predictive state could be had.
Wow this is excellent! I'm going to give this a try as soon as I can. Thank you for all that information. It really puts everything into perspective.
Edit: Is there a standalone rnn.js for the browser?
It will be runs 100% able to run in browser.
FYI: https://github.com/harthur-org/brain.js/blob/recurrent/browser.js#L1590
A unit test that predicts maths: https://github.com/harthur-org/brain.js/blob/recurrent/test/recurrent/lstm.js#L15
The whole library is available here:
https://github.com/harthur-org/brain.js/blob/master/browser.js
and https://github.com/harthur-org/brain.js/blob/master/browser.min.js
These are built frequently, usually when committing. I'm currently working to reduce the complexity of the recurrent neural net, but it is now running in browser, and is fairly stable.