Skip to content

Latest commit

 

History

History
40 lines (27 loc) · 1.84 KB

README.md

File metadata and controls

40 lines (27 loc) · 1.84 KB

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