/machine_learning_course

Machine learning course at UCF

Primary LanguageTeX

repo for CAP 5610 Machine Learning

Common ML problems, overview of (a) supervised, (b) unsupervised, and (c) reinforcement learning

ML terminology, linear regression, training & loss, gradient descent, stochastic gradient descent

Linear regression using the normal equation - numpy implementation

To understand the mathematics underlying the normal equation, read the following materials:

Effect of learning rate on gradient descent

Linear regression using gradient descent - numpy implementation

Overview of TensorFlow and Keras

Keras examples

Generalization, overfitting, splitting data in train & test sets

Validation

Logistic regression, gradients for squared error and binary cross-entropy loss functions

Softmax, categorical cross entropy loss, gradients

Sequential neural networks with dense layers

Deep learning for computer vision (convolutional neural networks)

TO DO: add note of preventing overfitting with data augmentation (also, add L2/L1 regularization and dropout earlier!)

Classification of MNIST digits and fashion items

Classification of cats and dogs

based on Chapter 5 Deep learning for computer vision of the book Deep learning with Python by F. Chollet


based on Google ML Practicum: Image Classification


Visualizing what convnets learn

based on chapter 5 Deep learning for computer vision of the book Deep learning with Python by F. Chollet


Some cool looking stuff

Based on Section 8.2 DeepDream and Section 8.3 Neural style transfer of the book Deep learning with Python by F. Chollet. I am not going to explain in detail how deep dream and neural style transfer work. I just wanted to include these notebooks to show you two cool examples of what can be done with deep neural networks.


Deep learning for computer vision (residual networks)

The goal is to introduce more advanced architectures and concepts. This is based onthe Keras documentation: CIFAR-10 ResNet.

The relevant research papers are:

Notebooks

I have made several changes to the code from the Keras documentation. In the above notebook, I had to change the number of epochs and the learning rate schedule because the model is only trained on 40k and validated on 10k, whereas the model in the Keras documentation is trained on 50k and not validated at all. I wanted to have a situation that is similar to the situation in HW 2 so we can better compare the performance of the ResNet and the (normal) CNN.


Visualizing high-dimensional data using t-SNE


Deep learning for text and sequences (RNN, LSTM)


Generative deep learning (VAE, GAN)


Tools, additional materials