Nets Varying By Input Order is NOT a Bug

Our tech support frequently receives reports from people believing they have found a bug. They report that the Trader’s nets can vary depending upon which order the inputs are fed to the net. This is true but is a perfectly normal experience as we will explain.

In fact, the change in our Turboprop 2 nets is actually only very slight between actual and predicted values. If you are using training by error reduction, you would probably never notice this. If you are training by profit, though, a very slight difference in the prediction can cause a trade to start a day earlier or later. This could make a noticeable difference in profit for that trade, and a snowball effect can make the entire profit picture look even more different.

Should you worry about all this. Absolutely not! Should you maybe try to find the best order to use with your inputs? No, don’t try to turn the art of financial prediction into the precision of watch making.

The following explanation is offered for those familiar with neural network internals: All true neural nets (using real weights) will experience this phenomenon (we won’t characterize it as a problem). That is because the different order of inputs will cause different sets of weights to emerge, especially because different orders cause initial weights to be different. Turboprop 2 is actually FAR less susceptible to this inconvenience than older net types, like backprop.

This phenomenon is exactly why it is so hard to use a genetic algorithm to identify which inputs should go into a net in a binary fashion (the input is in or out). If performance is improved when an input is removed is it because the input was less useful, or because the change in initial weights changed the evolution of weights? Fortunately, this binary choosing (in the Professional Trader) will be much more accurate with Turboprop 2 than with the less reliable backprop and related algorithms.

Was this article helpful?

Related Articles