In this file you can describe your network. ********************* * Network structure * ********************* Without this section your NeuralNetwork object will have NO neurons (unless you modify source code) and is therefore quite useless! Currently it is possible to create only a fully connected multilayer feedforward network. To do that, just answer some easy questions below. First layer in network is input layer. It consists of simple buffer nodes that do NOT compute anything, but only hold input values. How many input nodes your network must have? input_layer: 2 Other layers consist of computing neurons. How many nodes should be in computational layers starting from the input layer side of the network? For adding a layer just add a line with the keyword "comp_layer:". The last computational layer will also act as the output layer. Layers without any neurons will be ignored. comp_layer: 4 comp_layer: 4 comp_layer: 1 ********************** * Neuron parameters * ********************** Work of an artificial neural network depends on neuron parameters. If you have no idea what they should be, then you may set them to default values (which are given in help texts before each parameter). Or just leave them empty (delete the numbers after each parameter identifier), then they will be automatically set to default values. Actually it is even allowed to delete this section "Neuron parameters" completely from this file and leave only the "Network structure" section. Then everything will be set to default as well. But make a backup of this file first ;) Currently it is possible to use only one type of neuron. Its activation function is sigmoidal (logistic function 1 / (1 + exp(-av)) where "a" is slope parameter and "v" is internal activity level). - Parameter: treshold. Type: double. Default value: 0 - - Treshold (or bias) value is used for lowering or increasing the sum (internal activity level) before applying the activation function. treshold: 0 - Parameter: slope_parameter. Type: double. Default value: 0.5 - - It is the slope parameter of the sigmoid function. When slope parameter approaches infinity, sigmoid function becomes simply a treshold function (do not confuse with treshold parameter, which was described above). slope_parameter: 0.5 ******************** * Additional info * ******************** It is also possible in this file to set max_weight parameter (normally you should do it in training configuration file) and all weights of connections. However, in normal circumstances you shouldn't do it here. If you want to set all weights manually, then first generate a network with needed structure, then edit this generated file according to your needs. You can then use the generated and edited file as a config file for creating a new network object. Note: you will see that generated configuration file contains max_weight parameter. In most cases it is not used during the normal work of neural network, but some rare applications may use it (like my neural network visualizer). Therefore when you change the weights manually, consider if it is also necessary to change max_weight value.