ChanServ changed the topic of #mlpack to: "mlpack: a fast, flexible machine learning library :: We don't always respond instantly, but we will respond; please be patient :: Logs at http://www.mlpack.org/irc/
vivekp has quit [Ping timeout: 250 seconds]
vivekp has joined #mlpack
cult- has left #mlpack []
vivekp has quit [Ping timeout: 250 seconds]
vivekp has joined #mlpack
shikhar has joined #mlpack
shikhar has quit [Client Quit]
ShikharJ_ has joined #mlpack
< ShikharJ_>
rcurtin: Is there a way of changing a previously set nick on Hexchat? I recently formatted my system, and can't seem to access the previously set nick.
< rcurtin>
ShikharJ_: I don't know about HexChat but I imagine you can message NickServ or something to handle it?
< rcurtin>
but honestly I am not completely sure :(
mlPackApprentice has joined #mlpack
< mlPackApprentice>
Hello.Recently I've started a project and we are using the mlpack RNN<> with a FastLSTM hidden layer (12 input nodes, 16 hidden layer nodes, 5 output nodes).
< mlPackApprentice>
I am trying to call RNN.Train(predictors, responses, optimizer) to train the network, where my predictors is a cube with 1 slice, 12 rows (inputs) and 1000 cols (the Datapoints). I set rho to 10 (recursioncount), and discovered I get IndexOutOfBound exceptions if the amount of Slices in my predictor and response matrices is lower than this Rho.
< mlPackApprentice>
so my question is, why should I make my predictors cube into 10 slices, and what should I put in all the other slices? I only have 1000 datapoints. Should I throw 100 datapoints in each slice? It says the slices are "Time Steps", but I don't really get what that means.
< mlPackApprentice>
Thanks in advance for reading :)
travis-ci has joined #mlpack
< travis-ci>
mlpack/mlpack#5654 (master - 91f6dd3 : Ryan Curtin): The build passed.
< davida>
mlPackApprentice: An RNN or LSTM takes a sequence as an input. In your example of 12 inputs, the cube must have 12 rows (1 row for each node input), 1000 columns for each of the 1000 samples that you have and ....
< davida>
... 'K' slices where each slice represents one step of the RNN/LSTM.
< davida>
If you only have 1 sequence step then you do not need an RNN.
< mlPackApprentice>
@davida Hm I see. Well my data is time related, namely the stockprices of a stock of the past 1000 hours. But I'm struggling to figure out what my "sequence" would be in this..
< davida>
You need to break your data into sequences of data that you feel are relevant and consider that to be 1 sample. I take it that your 12 inputs are price (O/H/L/C), some indicator values, etc.
< davida>
Each of your sequence needs to have an associated 'Y' result. Which could be 1, 0, -1 (buy, hold, sell) or 1,0 (buy/sell) etc.
< davida>
So your input 'X' cube will be 12 rows x M samples x T steps and your 'Y' cube will be 1 row x M samples x 1 or T steps depending on whether you want to have one prediction per sample or one prediction per timestep
< davida>
In your case I suspect Y will be 1 x M x 1
< mlPackApprentice>
@david Ooh so I need to create my own sequences then
< davida>
If you want your sequences to be of different lengths then this gets a little tricky and you have to run in a Stochastic Gradient Descent mode and train one sample at a time, changing the cube dimensions each time.
< davida>
Yes, you need to create your own sequences.
< davida>
One approach could be to simply take the last 10 bars/candles to predict the next. I doubt this would work and each sample would have a tone of overlapping data.
< davida>
The hard part of Machine Learning is structuring your data well. You need to figure out what input and output data to feed the neural network so it can learn.
cjlcarvalho has joined #mlpack
ShikharJ_ has quit [Remote host closed the connection]
< mlPackApprentice>
@davida Thanks a bunch, this taught me a lot :) I'll process your suggestions and see if I can figure it out/
< mlPackApprentice>
A helpful video indeed. And I've been reverse engineering python code the entire project so that's no biggie. Currently making a tsCV, we might attempt to extend the mlpack base_cv if we have time.
mlPackApprentice has quit [Ping timeout: 256 seconds]