All Projects → AnamorphicOptimus → BP-Network

AnamorphicOptimus / BP-Network

Licence: other
Multi-Classification on dataset of MNIST

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to BP-Network

tensorflow-mnist-AAE
Tensorflow implementation of adversarial auto-encoder for MNIST
Stars: ✭ 86 (+19.44%)
Mutual labels:  mnist
pytorch-siamese-triplet
One-Shot Learning with Triplet CNNs in Pytorch
Stars: ✭ 74 (+2.78%)
Mutual labels:  mnist
Spy-Quiz
Hacker Challenge 👾
Stars: ✭ 17 (-76.39%)
Mutual labels:  source-code
Hand-Digits-Recognition
Recognize your own handwritten digits with Tensorflow, embedded in a PyQT5 GUI. The Neural Network was trained on MNIST.
Stars: ✭ 11 (-84.72%)
Mutual labels:  mnist
digit recognizer
CNN digit recognizer implemented in Keras Notebook, Kaggle/MNIST (0.995).
Stars: ✭ 27 (-62.5%)
Mutual labels:  mnist
tensorflow-mnist-MLP-batch normalization-weight initializers
MNIST classification using Multi-Layer Perceptron (MLP) with 2 hidden layers. Some weight-initializers and batch-normalization are implemented.
Stars: ✭ 49 (-31.94%)
Mutual labels:  mnist
NeuralCodeTranslator
Neural Code Translator provides instructions, datasets, and a deep learning infrastructure (based on seq2seq) that aims at learning code transformations
Stars: ✭ 32 (-55.56%)
Mutual labels:  source-code
DCGAN-Pytorch
A Pytorch implementation of "Deep Convolutional Generative Adversarial Networks"
Stars: ✭ 23 (-68.06%)
Mutual labels:  mnist
AI-SOCO
Official FIRE 2020 Authorship Identification of SOurce COde (AI-SOCO) task repository containing dataset, evaluation tools and baselines
Stars: ✭ 16 (-77.78%)
Mutual labels:  source-code
Java-Interview-Programs
Core Java Projects with complete source code
Stars: ✭ 48 (-33.33%)
Mutual labels:  source-code
Freemium-Music-App-Src
⏩ Complete Source code of Freemium Music App
Stars: ✭ 31 (-56.94%)
Mutual labels:  source-code
winprint
winprint 2.0 - Advanced source code and text file printing. The perfect tool for printing source code, web pages, reports generated by legacy systems, documentation, or any text or HTML file. It works interactively or from the command line making it great for single users or whole enterprises. Works great with Powershell.
Stars: ✭ 52 (-27.78%)
Mutual labels:  source-code
CodeDepot
A search engine for programming source code and documentation
Stars: ✭ 18 (-75%)
Mutual labels:  source-code
tensorflow-example
Tensorflow-example:使用MNIST训练模型,并识别手写数字图片
Stars: ✭ 26 (-63.89%)
Mutual labels:  mnist
pysourcenote
Python源码学习笔记
Stars: ✭ 45 (-37.5%)
Mutual labels:  source-code
gans-2.0
Generative Adversarial Networks in TensorFlow 2.0
Stars: ✭ 76 (+5.56%)
Mutual labels:  mnist
Pytorch-PCGrad
Pytorch reimplementation for "Gradient Surgery for Multi-Task Learning"
Stars: ✭ 179 (+148.61%)
Mutual labels:  mnist
cDCGAN
PyTorch implementation of Conditional Deep Convolutional Generative Adversarial Networks (cDCGAN)
Stars: ✭ 49 (-31.94%)
Mutual labels:  mnist
L4D2-Plugins
L4D2 Competitive enhancement, bug/glitch fixes, general purpose and freaky-fun plugins.
Stars: ✭ 64 (-11.11%)
Mutual labels:  source-code
cluttered-mnist
Experiments on cluttered mnist dataset with Tensorflow.
Stars: ✭ 20 (-72.22%)
Mutual labels:  mnist

BP-Network

Introduction

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.

Improvement Details:

    1. Change the activation function from the commonly used sigmoid function to the Relu function
    1. Secondly, considering that the problem is actually a multi-classification problem, softmax is introduced as the output layer and cross entropy as the loss function
    1. Finally, batch processing is introduced, and the training set is divided into training batches for training, which improves the operating efficiency of the neural network.

Experimental Results

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

Experimental Conclusions

In this experiment, the influence of parameter adjustment on the model effect and training time is discussed in detail
The following findings:

    1. It is found that the training time of the model is more sensitive to the number of iterations and the number of neurons in the hidden layer
    1. The number of hidden layers, the learning rate and the number of iterations have a greater impact on the training effect
    1. Compare improved BP model with common machine learning and deep learning models, such as random forest and convolutional neural network, in term of model effects and training time. The result shows that the improved BP neural network has outstanding performance in both aspects.

Contents

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

Operating Instructions

    1. ./bpNet/main.py: run this file for BP-Network model operation
    1. ./bpNet/Logit.py, RandomForest.py. SVM.py is for Logit regression, random forest model and SVM respectively
    1. ./CNN/mnist.py is for CNN model running
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].