## Building Networks

The fist step to build a network to determine its number of hidden layers.
This can be done by a slider positioned at the top of the window - 0 to 5 can
be adjusted. For up to 20 hidden layers select "Big Network".

The next step is do define the number of neurons in each layer and its output
functions as well as the networks input encoding method. Therefor editable fields are
marked light gray at the table.

Encoding Methods:

**no encoding**

No input encoding is performed
**polar encoding**

Encodes a real value to a complex number: the real value
of the input vector should therefore be between 0 and 1. It is multiplied
by pi (Math.PI) and set as the Polar for a new Complex number. The
Magnitude of this new number is set to 1.
**imaginary null encoding**

sets the imaginary part of each element to 0.

Output Functions:

**Linear**

Linear output function:

f(x) = x
**Sigmoid**

Sigmoid uses the logistic function in each the real and the
imaginary parts:

f(x) = 1 / (1 + exp (-x))
**Hybrid Magnitude**

Output function mapping a complex value to a real value.
The result is the magnitude of sigmoid real and imaginary parts of
the complex value:

f(x) = √[ s(x_{re})² + s(x_{im})² ] +*i*0

were s(x) is the logistic function.
**Hybrid Square Difference**

Output function mapping a complex value to a real value. The result is the
square of differences between sigmoided real and imaginary parts of the complex value:

f(x) = (s(x_{re})- s(x_{im}))² +*i*0

were s(x) is the logistic function.

The whole net can be saved and loaded into JACVANN.
All settings, weights and thresholds were saved into a cvn file.
It can be easily selected by a file chooser window.

Next:

Train Network