How to form the input values for the NS correctly. - page 10

 
TheXpert писал (а) >>

Never mind, sorry if I'm wrong.

I'll try to explain in more detail what this cross-check is, if that post isn't clear. Suppose we're training a network for minimal error. Suppose we tried it on 2007 and got intermediate result 0.5. We check it on 2008 and get 0.8. This network is memorized and we continue training. Then we got 0.4 for 2007 and checked it with 0.7 for 2008. Old nets are discarded, and we memorize this net and follow with training. Then we got 0.3 for 2007 and 0.6 for 2008. The previous net is discarded and remember this net and continue training. For 2007 - 0.2, for 2008 - 0.8. This network is not memorized, the previous one is kept. It will be kept in memory and trained further. If we have not managed to get it below 0.6 in 2008, we keep the network with 0.6 in 2008 and 0.3 in 2007, and not the one with 0.2 or less in 2007. In effect, further network training is over-training. This avoids over-training, although it does not always save it.

And as you can see, forward testing has nothing to do with it......)))))

 
TheXpert писал (а) >>

...

And about the code -- will Neurosolutions or Neuroshel 2 port the code to MQL4? I'll write a couple of functions, which I think will be useful for the inhabitants here, and maybe for me too. All the more reason to write a hundred lines of code - it'll take me an hour.

No. Through importing dll/def or rewriting from "c".

I'll write a couple of functions, which I think will be useful for the inhabitants here, and maybe for me too. All the more reason to write a hundred lines of code -- it's an hour of time.

Especially, if they will be dedicated to "1. Preparing input data. (mean shift, decorrelation, covariance equalization).", then very cool, and if ... another implementation of NS in MQL4, then ...

I, for example, have never been able to understand how to implement beautiful words "significance of inputs", "cross-correlation of inputs" in code (no Ezhov is at hand to insert more beautiful words). I.e. formulas/algorithms I know, but to OHLC, noise or vice versa DC filters, and just "discrete values" when minutes are funny and days are late. :)

 
SergNF писал (а) >>

No. Through importing dll/def or rewriting from "s".

Especially if they will be dedicated to "1. Preparation of input data. (Mean shifts, decorrelation, covariance equalisation).",

>> That's right.

I for one have never been able to figure out how to implement the pretty words "significance of inputs", "cross-correlation of inputs" in code (no Ezhov at hand to insert more pretty words). I.e. formulas/algorithms I know, but to OHLC, noise or vice versa DC filters, and just "discrete values" when minutes are funny and days are late. :)

What's the big deal? The formulas don't care whether they give them minute or weekly data.

 
LeoV писал (а) >>

I'll try to explain in more detail what this cross-checking is, if that post isn't clear. Suppose we are training a network for a minimum error. Suppose we tried it on 2007 and got intermediate result 0.5. We check it on 2008 and get 0.8. This network is memorized and we continue training. Then we got 0.4 for 2007 and checked it with 0.7 for 2008. Old nets are discarded, and we memorize this net and follow with training. Then we got 0.3 for 2007 and 0.6 for 2008. The previous net is discarded and remember this net and continue training. For 2007 - 0.2, for 2008 - 0.8. This network is not memorized, the previous one is kept. It will be kept in memory and trained further. If we have not managed to get it below 0.6 in 2008, we keep the network with 0.6 in 2008 and 0.3 in 2007, and not the one with 0.2 or less in 2007. In effect, further network training is over-training. This avoids over-training, although it does not always save it.

And as you can see, forward testing has nothing to do with it......)))))

In other words, training/optimisation ends not when the error is minimal on the training sample, but sooner when the error starts to increase on the test sample.

 
Erics писал (а) >>

In other words, the training/optimisation ends not when the error is minimal in the training sample, but before the error starts to increase in the test sample.

So basically yes. Because the theory says that the magnitude of error on the test sample, first decreases when the error on the training sample decreases, and then begins to increase, although the error on the training sample keeps decreasing. The trick is to catch this trough. This is the point of overtraining (for nets) or over-optimization (for TC).

 
LeoV писал (а) >>

Well, yes. Because the theory is that the error on the test sample first falls as the error on the training sample decreases, and then starts to increase, even though the error on the training sample keeps decreasing. The trick is to catch this trough. This is the point of overtraining (for nets) or over-optimization (for TC).

 
sergeev писал (а) >>

Absolutely right. There is just one small point to make. When the curve goes up, there may be minima, but they should be higher than the first minimum. Although sometimes it can be less (in practice), but it is rare.

 

And here's a picture on overtraining

 
LeoV писал (а) >>

Absolutely right. There is just one small point to make. When the curve is going up, there may be minima, but they should be higher than the first minimum (in theory). Although it may sometimes be less (in practice), but it is rare.

Good point.

In general, the theory in this thread has already said a lot (you can defend a thesis on our forum :).

And the mind is now thirsty for practical experiences and knowledge.

If possible, let the practitioners share their experience in analysis and preparation of input values. That is concrete examples.

>> Thank you.

 
sergeev писал (а) >> If possible, let the practitioners share their experience in the analysis and preparation of the inputs . That is, concrete examples.

Input values are not a simple question either. What to supply to the mains input depends on many factors -

1. What type of neural network is used.

2. What we want to get from the neural network - price or movement direction or reversal points or the next candle or something else.

So you have to decide about these questions first, and then decide about inputs.

Reason: