Fashion-MNIST-classification-using-ML-and-DL

This repo shows a set of Jupyter Notebooks demonstrating predominent machine learning algoriths and Custom CNN based deep learning algorithms we built to classify images for the Fashion MNIST dataset. It is a dataset of Zalando's article images — consisting of a training set of 60,000 examples and a test set of 10,000 examples. Each example is a 28x28 grayscale image, associated with a label from 10 classes. The dataset serves as a direct drop-in replacement for the original MNIST dataset for benchmarking machine learning algorithms. It shares the same image size and structure of training and testing splits.

Objective

Analyse the performance of Fashion MNIST classification using classical machine learning algorithms and CNN based deep learning algorithms.

Classification using ML algorithms

In this part, we have experimented with the Fashion-MNIST dataset using various Machine Learning algorithms/models. The objective is to identify (predict) different fashion products from the given images using various best possible Machine Learning Models and compare their results (performance measures/scores) to arrive at the best ML model. We have also performed Feature extraction and Dimensionality reduction in these experiments.

  • Implemented classical ML algorithms like SVM,KNN,Random Forest classifier, Gradient Boosting classifier, and XGBoost classifier by finding optimum parameters.
  • Performance analysis of the above ML algorithms using Cross -validation technique.
  • Used Feature reduction technique: PCA to reduce the feature dimensionality.

Classification using CNN based DL algorithms

In this part, we have experimented with Fashion-MNIST dataset using various CNN models. The objective is to identify (predict) different fashion products from the given images using various best possible CNN Models and compare their results (performance measures/scores) to arrive at the best Deep learning model.

  • Designed 1 layer-CNN, 3 layer-CNN and 4 layer-CNN along with additional regularizations such as dropouts and max-pooling in Keras.
  • Performance analysis of the designed CNNs considering accuracy and overfitting cases.