Skip to content

HarshaVardhanP/SimpleNeuralNetwork

Repository files navigation

SimpleNeuralNetwork

Simple Fully Connected Neural Network implemented in Matlab

Objective : To understand effect of hyper-parameters (Dropout, Learning Rate, Momentum, Weight Decay) on neural network convergence and generalization.

Dataset: MNIST Subset

Training Set : 3000 Samples [300 x 10]
Validation Set : 1000 Samples [100 x 10]
Testing Set : 3000 [300 x 10]

Model Architecture:
Inputs [784] -> FCN1[500] -> Sigmoid -> Dropout[0.5] -> FCN2[500] -> Sigmoid -> Dropout[0.5] -> Outputs[10]

Implementation:

  1. Forward Prop, Back Prop Algorithm with SGD with modularity.

Architecture Variations:

  1. Number of layers in the architecture can be changed by adjusting the params in 'run.m' file
  2. Activation Units can be changed by specifying the model architecture in 'define_model.m'
  3. Loss is Cross Entroy Error Function (Negative Log-Likelihood Function)
  4. Other params : Learning Rate, Momentum, Weight Decay, Dropout, Epochs

Results:

Alt text Alt text

Using all the hyper-parameters mentioned in above table gave best validation accuracy (94%). Testaccuracy with this model is 92.7%

Hyper - Parameter Effects:

  1. Error Rate w.r.t multiple Learning Rate values Alt text
  2. Error Rate w.r.t Hidden Units
    Alt text
  3. Error Rate w.r.t Dropout Values Alt text

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages