FashionMNIST ConvNets Deep Learning Project

Using two Deep learning models to Classify the image from Fashion-MNIST dataset

  • Basic Model (fully connected layer model)
  • Convolutional neural networks (ConvNets)

Two models will use the Keras framework with R implementation.

Data Set

  • 60000 images for training and 10000 images for testing
  • Each example is a 28x28 gray-scale image, associated with a label from
    • 0 T-shirt/top
    • 1 Trouser
    • 2 Pullover
    • 3 Dress
    • 4 Coat
    • 5 Sandal
    • 6 Shirt
    • 7 Sneaker
    • 8 Bag
    • 9 Ankle boot 
    • 10 classes
  • The dataset is CSV format. The detailed format is label, pixel1, pixel2, pixel3, … pixel784. Each image is 28 pixels in height and 28 pixels in width, for a total of 784 pixels in total

Problem Definition

  • Train the 60000 images and test 10000 images to classify the image’s label

    Problem Type

  • Multi-Class and single-label classification

    Model Configuration

  • The softmax as the last-layer’s activation and the loss function will use the categorical_crossentropy.

    Hyper-parameters setting

  • Use the dropout and L2 regularization to reduce over-fitting effects.

    Assembling Data Set

  • dataset_fashion_mnist() function from Keras to download the dataset (simple model)
  • Downloaded from the Kaggle.com, then use the read_csv() to manipulate the data (ConvNets Model)

Result

Simple Model Result

  • Simple deep learning model achieves an accuracy of 88.11% and loss of 34.15%.

sim0 sim1

ConvNets Model Result

  • ConvNets model achieves an accuracy of 91.85% and loss is 20%, up from the previous model’s accuracy of 88.11% and loss of 34.15%.

con con1

Summary

  • Our ConvNets model achieved an accuracy of 91.85%. It turns out our classifier does better than the Kaggle’s best baseline reported here , which is an SVM classifier with mean accuracy of 89.7%.
  • Comparing the simple model, ConvNets is the best model for the attacking the image classification problems.
  • Tuning the model and hyper-parameters is very important to improve the accuracy.