Inside EasyNN-plus

A Neural Network produced by EasyNN-plus has two components.   The components 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.