The component parts are the Node and the Connection. These components are replicated to make the neural network. A Node consists of a Neuron with positioning and connecting information. A Connection consists of a Weight with node addressing information.
The
Grid used by
EasyNN-plus also has two components. These are the Example row and the Input/Output column. These are replicated to make the grid.
All the component parts of EasyNN-plus are implemented as reusable classes to simplify future development. The following information is a very basic description of the classes. The true names of the variables and functions are not used.
The Neural Network
Node
Positioning and connection
Type:
Input, Output or Hidden.
Number:
Node reference number.
Layer Type:
Input, Output or Hidden.
First In:
Number of the first connection into this node.
Last In:
Number of the last connection into this node.
Neuron
Net Input:
Sum of all activation * weight inputs to the node + Bias.
Activation:
1.0 / (1.0 + e (-Net Input))
Output Node Error:
Target - Activation
Hidden Node Error:
Error + Delta * Weight
Delta:
Error * Activation * (1.0 - Activation)
Bias:
Bias + Delta Bias
Bias Derivative:
Bias derivative + Delta
Delta Bias:
Learning Rate * Bias Derivative + Momentum * Delta Bias
Connection
Node addressing
To:
The Node that the connection is going to.
From:
Node that the connection is coming from.
Number:
Connection reference number.
Weight
Type:
Variable or Fixed.
Weight:
Weight + Delta Weight.
Weight Derivative:
Weight Derivative + To: Delta * From: Activation.
Delta Weight:
Learning Rate * Weight Derivative + Momentum * Delta Weight.
The Grid
Example row
Name:
Optional Example name.
Type:
Training, Validating, Querying or Exclude.
Values:
Array of values in example row.
Scaled Values:
Array of scaled values in example row.
Forecasted Values:
Array of forecasted values in example row.
Input/Output column
Name:
Optional Input/Output name.
Type:
Input, Output, Serial or Exclude.
Mode:
Real, Integer, Bool, Text or Image.
Lock:
True or False.
Lowest:
Lowest value in column.
Highest:
Highest value in column.