Using C# to implement multiple layer perceptron simulator. Learning algorithm for more details can refer to this Wikipedia page.
The dataset consists of multi-dimensional input sample set and ground truth set, The sample set will be given to training function to predict the ground truth set.
The purpose of program is training to tune a number of groups of shifting biases and synaptic(scaling) weights, and display the results in the graphical interface.
- Clone this repo to your local
git clone https://github.com/simonyang0608/MultiLayer-Perceptron
cd MultiLayer-Perceptron
- Input random sample set
- Adjustable parameters
- Start training button
- Epochs
- Training loss(curve) visualization
- Learned hyperline visualization
- Weights and biases distribution
Large size sample set will tend to converge faster than the small size, with the same settings of hidden layer and learning rate.
- Small size sample set
- Large size sample set
Different size (below 100) of hidden layer with suitable learning rate will tend to get good result of convergence (no matter the size of sample set).
- Small size (below 20) hidden layer with the learning rate ranging from 0.08~0.007 will tend to get good result.
- Large size (from 20 to 100) hidden layer with the learning rate ranging from 0.03~0.006 will tend to get good result.
Larger size hidden layer (over 100) is not recommended since the simple linear regression and prediction task no need to use such complicated network, it may lead to over-fitting, results in low converge speed.
Please feel free to use it if you are interested in fixing issues and contributing directly to the code base.
Multilayer-Perceptron is released under the MIT license. See the LICENSE file for details.