You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
4) Initialisation parameters for weights - the form of distribution of values and their variance.
Found. It is possible to set the initialisation parameters for the weights.
It looks like I used the default values.
Artificial Neural Networks and Genetic Algorithms short advanced training course
and genetic algorithms"
Applications for short-term advanced training courses "Artificial Neural Networks and Genetic Algorithms" are closed
Artificial Neural Networks and Genetic Algorithms",
conducted by the Department of Continuing Education of the M.V. Lomonosov Moscow State University
V.V. Lomonosov Moscow State University on the basis of the Moscow State University Nuclear Research Institute
Moscow State University. Completers of the courses receive a state certificate of advanced professional training.
state certificate of advanced training.
Trainings will be held twice a week in the evening from 19:00.
Classes start February 25, 2011.
To learn more about the course programme, get more information and
Please click here to apply for the course:
http://www.neuroproject.ru/kpk.php
Found. It is possible to set the initialisation parameters for the scales.
I seem to have used the default values.
Well, it seems to be clear what the issue is here.
Starting from your problem (as I understand you have one-dimensional data which you want to split into two classes), the point is to find a point (just one!) on the set of input values, which optimally performs the specified splitting. Suppose you have a 1-7-1 network. This network has 21 weights (seven inputs for the hidden layer, seven offsets for it, and seven inputs for the output neuron). It turns out that we are trying to find one point, picking up 21 variables. At such a redundancy of twenty one to one there is nothing surprising that the network readings shift so much - any smallest difference in initial weights leads to a significant scatter of outputs after training. Roughly speaking, it turns out that the task is too simple for the network, but since it does not know about it, it looks for something that does not exist. Technically, this can probably be called retraining, but in essence it is shooting at sparrows with a cannon.
Strictly speaking, the task of splitting one-dimensional data into two classes is successfully performed by a single neuron with one input weight and one bias.
One more thing. I am alarmed by the "narrowness" of the range of current network outputs. To clarify:
-- the MLP network is 1-7-1
-- Inputs to the network are evenly distributed in the range [0;1], outputs in the training examples are 1 and -1.
If after training the whole range of input values is passed through the network, we see that the outputs of the network lie in a very narrow range. For example:
opt_max_act=-0.50401336 opt_min_act=-0.50973881 step=0.0000286272901034
or even so
opt_max_real=-0.99997914 opt_min_real=-0.99999908 step=0.00000010
.............................
Is this correct or not?
It's hard to say about correctness... depends on the situation
According to your example:
This case means that the first network on all inputs says "don't know" and the second one on the same inputs says "class -1". If the data is the same and the difference is only in initialization of weights, most likely, the case is a strong mixing of classes, due to which the grids can not intelligently understand the learning pattern and as a result act "at random". Speaking about how this can happen, I assume that if the network (probably so) uses biased neurons, the grid simply zeroes out the weights of all information inputs and leaves only bias for analysis. "Analysis", of course, is only nominal; the network operates according to the ostrich principle - it simply does not see the inputs. In order to confirm or deny this, we need to see the matrices of the trained network.
Here is the MLP NS code generated by "Statistics":
It's hard to say about correctness... depends on the situation.
According to your example:
This case means that the first net on all inputs says "don't know" and the second one on the same inputs says "class -1". If the data is the same and the difference is only in initialization of weights, most likely, the case is a strong mixing of classes, due to which the grids can not intelligently understand the learning pattern and as a result act "at random". Speaking about how this can happen, I assume that if the network (probably so) uses biased neurons, the grid simply zeroes out the weights of all information inputs and leaves only bias for analysis. "Analysis", of course, is only nominal; the network operates according to the ostrich principle - it simply does not see the inputs. In order to confirm or deny this, we need to see the matrices of the trained network.
One more thing: FANN does apply bias-shift in every layer except the incoming one...
But I didn't find anything similar to bias in the description of the NN package of Statistics 6.
For a beginner in NS, all these biases are really mind boggling...
Yes, very similar to what I said, only in reverse. The network just gets lost in the data. Note - from the network architecture it follows that all weights of the first layer are equal with respect to input data and should, in theory, be evenly distributed around zero - but as you can see in the picture, they were driven up, which caused the hidden layer neurons to go into saturation (you have a logistic activation function). The activation thresholds did not help, because they remained around zero, as did the output neuron, which, as expected, did not understand anything that the first neuron told it - but we have already figured out what happened to it.
Great!!!
The values of the weights and thresholds in the form of a diagram.
And a very different perspective. Thank you.
Here is the MLP NS code generated by "Statistics":
Good afternoon!
Could you suggest in a nutshell, is it possible to learn how to compile a dll file from a C file with a neural network generated by Statistica with the help of a programmer? I mean to have the procedure explained once, so that you can do it yourself afterwards according to the scheme. Just the level of programming in Basic at school, and NS model to work with Foreh, but I need to update the network regularly - read a new dll to generate it. In MQL code, correcting it every time is a bit complicated.
Good afternoon!
Is it possible to learn how to compile a dll file from a C file with a neural network generated by Statistica with the help of a programmer?
Goodnight!
I think not, the only exception is if that programmer doesn't work for Statistica itself ))
In MQL code, correcting it every time is a bit complicated.
What kind of NS do you use in Statistics?
If you correct something manually, it means there is an algorithm, so it needs to be automated....
...............................
Above I was recommended to use GA, and just today with the help of joo library(UGALib) I managed to get a desirable and stable result.
Now I will drag and drop this case to 4...
My deepest gratitude to Andrei (the author). Very promising and flexible direction.
.....................
May be it is worth digging in this direction?