This page is intended to show some of my past projects regarding Machine Learning.
Project Index |
---|
Project 1: Non-Linear Regression via Feedforward Neural Net w/ Back-propagation |
Project 2: Kohonen Self Organizing Map (KSOM) |
Project 3: MLP vs Deep Learning CNN Study |
The goal of this project was to create a neural net that could solve a non-linear regression equation. The neural net was created using keras, and scikit-learn was used for K-fold cross validation. During this project, I investigated the effect of varying the number of hidden nodes within the neural net, and the number of training data points the neural net was given.
The following is the non-linear equation that the model is trying to predict.
The most accurate model created, was the one given the most amount of data points, and the most hidden nodes. It's prediction of the smooth curve is shown overlaid in red.
Given an image comprised of random coloured pixels, I created a Kohonen Self Organizing Map to cluster similar hues into the same neighbourhoods.
This is the initial image:
Once I had created the KSOM, I studied the effects of changing the number of epochs run, as well as the initial neighbourhood radius (sigma). I learned that the larger neighbourhood radius, the smoother the colour gradient, however more epochs were required for the full colour range to be expressed properly. Some of the KSOM outputs studied are shown in the table below.
Sigma = 10 | Sigma = 40 | Sigma = 70 |
---|---|---|
Using TensorFlow, Keras, and scikit-learn, I created a multi-layer perceptron and two deep learning CNN's with different architectures to compare the training and testing accuracies of the models. I also evaluated the training times for each model.
The model accuracies are:
These results indicate the CNN's are much more accurate than a multi-layer perceptron. CNN1 having a training accuracy so much higher than it's testing accuracy points towards the model being overfit. However, CNN2 having more balanced accuracies indicates it is the best model.
The MLP accuracies over time are:
The CNN1 accuracies over time are:
The CNN2 accuracies over time are:
The Model Training times are: