Template Credit: Adapted from a template made available by Dr. Jason Brownlee of Machine Learning Mastery.
SUMMARY: The purpose of this project is to construct a predictive model using various machine learning algorithms and to document the end-to-end steps using a template. The Rock Paper Scissors dataset is a multi-class classification situation where we are trying to predict one of several (more than two) possible outcomes.
INTRODUCTION: When learning Computer Vision, especially the training of DNNs and CNNs to recognize and classify images, there is a shortage of suitable datasets. Laurence Moroney wanted to fix that problem by creating a dataset that could be used for teaching multi-class classifiers that were unique and distinct from existing datasets. Laurence also wished to see if he could use Photo-real CGI to train a neural network that could then recognize and classify real images with the same subject matter.
The Rock Paper Scissors dataset contains images from a variety of different hand poses with different races, ages, and genders. These images have all been generated using CGI techniques as an experiment in determining if a CGI-based dataset can be used for classification against real photos. All of this data is posed against a white background, and each image is 300×300 pixels in 24-bit color.
From iteration Take1, we constructed and tuned machine learning models for this dataset using TensorFlow with two VGG blocks. Laurence also demonstrated the dataset using a model with four VGG blocks, each block with just one convolution layer. We also observed the best result that we could obtain using different VGG-2 models with a different number of convolution layers.
From iteration Take2, we constructed and tuned machine learning models for this dataset using TensorFlow with three VGG blocks. Laurence also demonstrated the dataset using a model with four VGG blocks, each block with just one convolution layer. We also observed the best result that we could obtain using different VGG-3 models with a different number of convolution layers.
In this Take3 iteration, we will construct and tune machine learning models for this dataset using TensorFlow with VGG blocks and dropout. Laurence also demonstrated the dataset using a model with four VGG blocks, each block with just one convolution layer. We will observe the best result that we could obtain using different VGG models with a different number of convolution and dropout layers.
ANALYSIS: From iteration Take1, the performance of the baseline model achieved an accuracy score of 97.85% on the validation dataset after 15 epochs. After a series of modeling trials, the TensorFlow model with two VGG blocks and two convolution layers processed the validation dataset with an accuracy score of 95.16%.
From iteration Take2, the performance of the baseline model achieved an accuracy score of 100% on the validation dataset after 15 epochs. After a series of modeling trials, the TensorFlow model with three VGG blocks and two convolution layers processed the validation dataset with an accuracy score of 100%.
In this Take3 iteration, the performance of the baseline model achieved an accuracy score of 100% on the validation dataset after 15 epochs. After a series of modeling trials, the TensorFlow model with two VGG blocks and two convolution layers with dropout processed the validation dataset with an accuracy score of 99.19%.
CONCLUSION: For this dataset, the model built using TensorFlow with VGG blocks with dropout did not improve the result from the baseline model. However, we still should consider using TensorFlow and VGG blocks to model this dataset further.
Dataset Used: Rock Paper Scissors Dataset
Dataset ML Model: Multi-classification with numerical attributes
Dataset Reference: http://www.laurencemoroney.com/rock-paper-scissors-dataset/
The HTML formatted report can be found here on GitHub.