Neuro-Lab Question; When does the input & output script get executed?
Author: pfelix
Creation Date: 3/12/2011 10:45 PM
profile picture

pfelix

#1
I am working on a Neuro-Lab indicator based strategy that will dynamically pick the input series to train the Neuro-Lab indicator. Here's the process

1. Set a correlation threshold in the input script of Neuro-Lab
2. Evaluate each potential input dataseries against threshold value
3. Include dataseries that meet or exceed threshold value

I'm pretty sure that I have this process working, but have run into a snag that has me a little worried. The input/output scripts are executed when the traininig set is collected. I'm not so sure if they are executed again when evaluating the trained network. Can you please clarify this for me? Is the input/output script run at during evaluation? I would expect that training would result in the calculated weights being stored along with pointers to the appropriate dataseries.

This is a critical point for my strategy to have a chance at success because re-executing the input script could very possibly result in a different set of neurolab.input dataseries. If that is the case, then I need to go back to the drawing board.

A second, but related question... If I evaluate a trained network on a symbol other than the symbol used to train the network, what are the consequences? I'm pretty sure the network will not be retrained so the original weights are being reused. But, when I attempt this using my dynamic input script I get an error such as the following.
QUOTE:
(Inputs.Count != minInput.Count) || (Inputs.Count !=maxInput.Count)


Please help me understand when the input script is executed in relation to evaluating trained symbols & other symbols (not the same as trained set).

Thank you,
Paul


Below is a snapshot of the script I'm working on. I have many dataseries that are collected using the Database Provider.

CODE:
Please log in to see this code.
profile picture

Cone

#2
CODE:
Please log in to see this code.
Back to the drawing board. Neuro-Lab has to execute the input script during an evaluation just as it would if you were using the resulting NL Indicator in a script. For sure you can't have a conditional number of inputs because that would change and invalidate the network.

The Output script is used only for training to feed back the predictions to the network. An evaluation or the NL Indicator shows the actual output of the ANN.


QUOTE:
If I evaluate a trained network on a symbol other than the symbol used to train the network, what are the consequences?
There should be no consequences, another symbol is just another Bars object, i.e., different data. But again, your design of a "dynamic topology" isn't going to work.
profile picture

pfelix

#3
Thanks Cone. That makes sense. I will rethink how I'm implementing dynamic inputs.