# Neural network

##### Handwritten digit recognition using a neural network with a single hidden layer.

In addition to using already trained networks, you can train your network by setting initial parameters, and evaluate the result on test data.

Networks are trained on pre-marked data (training with a teacher).

# Handwritten digit recognition

Draw a number on the area below and click "Recognize". A selected neural network will try to determine the drawn value.

# Neural network training

Neural networks are trained using an error back propagation algorithm.

Several tens of thousands of handwritten digits are used as training data.
At each iteration, the data is shuffled and passed through the network.
The weights of the neuronal connections are adjusted based on the result error (stochastic gradient descent is implemented).

# Neural network testing

The network efficiency is checked using test data (thousands handwritten digits), which is different from the training set.

The test result is the percentage of correctly defined digits.