Multi-Classification on dataset of MNIST
BP-Network is an experimental project that uses BP neural network as the core model to multi-classify MNIST handwritten digit sets. And I realized the construction of BP neural network and the improvement based on the source code through python.
Finally, the improved BP model will be compared with common machine learning and deep learning models, such as random forest and convolutional neural network, to make a comprehensive comparison of model effects and training time.
Model | Test Acc | Train Time (s) |
---|---|---|
BP | 0.97540 | 35.71 |
Logistics | 0.92030 | 105.76 |
SVM | 0.94460 | 935.98 |
RF | 0.94910 | 5.30 |
CNN | 0.99200 | 245.98 |
In this experiment, the influence of parameter adjustment on the model effect and training time is discussed in detail
The following findings:
.
|-- CNN
| |-- config.py
| `-- mnist.py
|-- bpNet // BP-Network Source Code
| |-- Logit.py // a separate file for logit regression
| |-- RandomForest.py // a separate file for random forest
| |-- SVM.py // a separate file for SVM model
| |-- bp
| | |-- bpModel.py // BP layers integration
| | |-- checkFile.py // check MNIST data
| | |-- common
| | | |-- functions.py
| | | `-- layers.py
| | `-- mnist.py // MNIST data class
| `-- main.py // BP model run
`-- README.md
* 7 directories, 26 files