Inside EasyNN-plus

 

A neural network produced by EasyNN-plus has two components.  The components are the Node and the Connection.  The components are duplicated 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 C++ reusable classes to simplify future development.  The following information is a basic description of the classes.

 

The Neural Network 

Node

Positioning and connections 

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:

Desired 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:

The 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.

Normalized Values:

Array of normalized values in example row.

           

Input/Output column    

Name:

Optional Input/Output name.

Type:

Input, Output or Exclude.

Mode:

Real, Integer, Bool, Text or Image.

Lock:

True or False.

Lowest:

Lowest value in column.

Highest:

Highest value in column.