Neural networks and artificial intelligence is a fairly large topic. As such I will limit this article to a direct and simple example of creating a neural network with C#. Of course there are many other good examples, however I hope to provide simple code for those who are attempting to learn about neural networks. This example uses a standard hidden layer feedforward with backpropagation learning algorithm type of network.
A High Level UnderstandingThe type of neural network discussed in this article is one that has an input layer, one or more hidden layers, and an output layer. Below are two examples of potential neural networks.
The Math Basics of a Feedforward Network
- vj is the input values for the jth layer. wji is the axon connectors 0 thru m from the ith layer to the jth layer.
- y is the input values for the jth layer. This is calculated by passing the calculated value of node n coming from the ith layer to the activation function Φ(x).
- Φ(x) is the activation function using either a sigmoid function or a hyperbolic tangent function (I prefer tanh because it better handles negative values).
I highly recommend watching Prof. S. Sengupta lectures for deriving these equations.
See part 2 >>