SI
SI
discoversearch

We've detected that you're using an ad content blocking browser plug-in or feature. Ads provide a critical source of revenue to the continued operation of Silicon Investor.  We ask that you disable ad blocking while on Silicon Investor in the best interests of our community.  If you are not using an ad blocker but are still receiving this message, make sure your browser's tracking protection is set to the 'standard' level.
Strategies & Market Trends : NeuroStock -- Ignore unavailable to you. Want to Upgrade?


To: Len Giammetta who wrote (252)10/16/1998 6:29:00 PM
From: Optim  Read Replies (1) | Respond to of 805
 
Ok Optim, just when I thought I was beginning to understand this stuff a little you go and say stuff like this.

That's what I asked myself after I learned about it. The trick is to balance the tradeoff between training size and number of inputs/neurons. The more neurons you use, the more data you need to present to the network (more cases = better generalization). The more data you use, the more longterm trends are emphasized, and the less profitable the net (short-term). The idea is keep the number of inputs/neurons to a minimum so that you can use a short training period, which means you are training on the most recent patterns which are likely to hold up in the near future and yield excellent profits.

Now because NS is a 'black-box' system, I can't say this with any degree of certainty. I would ask tech support, but they never bother to return my email. I am still using version 1.925 because I can't get anyone to tell me where I can download the latest version.

Are you saying that if you set NS to 15 neurons and during training it automatically increases to 50, then by retraining at less than 50 will give it more accurate predictions?

Yes, if you are using a short training set. A good general rule is at an absolute minimum you should have 5 cases (days) for each neuron. So a fifty neuron net would need 250 days of data as a start. The more neurons you add, the more data you need, the less profitable the net (longerterm patterns are emphasized).

Try this. Pick a net that you have trained previous and make a copy of it. Now press the forget button on the copy to erase its training. Now train that net using the maximum number of neurons you have available. Depending on your version, give it a good amount of time to train (say a weekend for 100 neurons). Make sure you leave a good 12 months or so of validation period after the training period.

Now train another copy of the net with just 10 or 12 neurons. Use the same period of training and validation. This should train much quicker, but I would still give it at least a good 12 hours.

Now compare the 2 nets, but not only in the training period. Look at the verification period to see how long the trained net stood up in the future. Notice where in the future it starts to breakdown (lose profitability).

What you will probably find, depending on the stock, but in most cases, is that the net with fewer neurons will yield less profit in the training period but more profit in the verification period. This is what I mean about forcing a net to generalize well. The less complex the pattern, the more likely it will stand up in the future.

Now I have tried this on a few issues and it has worked well. I may be way off here, but because NS is a blackbox, and the help file is so sketchy, I can't be sure. It might be that Andrew has implemented some sort of overfiting mechanism, but from my testing it doesn't seem so.

Too bad we can't get him to come onto the thread to answer some questions. I think this thread could be act as a great knowledge base for the product, and it would help him compile material for the help file in the next release.

Yes, thank you, I would appreciate a point to those FAQ's regarding GA.

The FAQ for GA's is available at:
cs.cmu.edu

A couple of examples for GA applications are available at the website for the GA product I own (excellent, BTW):
wardsystems.com

BTW, I also thought of a good idea for the next version of NS. The ability to load Metastock format data would be immensely useful. It would save me from having to export all those ASCII files everyday.

Optim