0% found this document useful (0 votes)
5 views2 pages

Project 2

K
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views2 pages

Project 2

K
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

ECE/MSIM 607 Machine Learning I

Fall 2024, 4:30pm – 7:10pm T


INSTRUCTOR: Jiang Li, Professor, ECE Department.
Office: 231D KH, Cell Phone: 389-2242, Email: [email protected]
Office Hours: 9:00am-10:30am MT

Project 2

This is a teamwork project, each team can have up to three members to work on the project. Of
course, you can work on the project individually.

Due on Nov. 26th, 2024.

You will build neural network for regression and classification in this project by using the
Matlab built-in functions or any other publicly available packages such as Keras (Python),
Pytorch (Python + Torch), SciKit-Learn (Python), Weka (Java), etc.

Task 1: We will continue to work on the Red Wine Quality Dataset (from UCI) provided in
project 1. Still treat the dataset as a two-class problem using the same rule described in project 1.
In project 1, you designed two linear classifiers for this dataset. In this project, design a
Multilayer Perceptron (MLP) classier using built-in Matlab functions (for example, patternnet()
but not restricted to) or Scikit-learn APIs (for example: MLPClassifier(), not restricted to) with
the following model structure:
1. One hidden layer of 10 hidden units with Sigmoid activation function for both hidden
layer and the output layer.
2. One hidden layer of 50 hidden units with Sigmoid activation function for both hidden
layer and the output layer.
3. One hidden layer of 100 hidden units with Sigmoid activation function for both
hidden layer and the output layer.

Report the 3-fold cross-validation performance.

Task 2: Design a Convolutional Neural Network (CNN) to classify the benchmark handwritten
digit dataset: MNIST. If you are using Matlab or Keras or Pytorch software package, there are
built-in API to download the dataset (see the following links). There are 60000 training images
and 10000 testing images. Train the following baseline CNN model on the training dataset and
test the trained CNN model on the testing dataset. Report training and testing accuracies. The
baseline CNN model has the following structure:

First convolutional layer: 8@3x3 + bachNormaliztion + MaxPooling(2x2) + Relu


Second convolutional layer: 16@3x3 + bachNormaliztion + MaxPooling(2x2) + Relu
Third convolutional layer: 32@3x3 + bachNormaliztion + MaxPooling(2x2) + Relu
Fourth fully connected layer: 100 hidden units + Relu
The last classifier layer with softmax for classification (10 units)
Task 3: Transfer learning for CIFAR10. Download the pre-trained VGG16 model (Matlab and
Python format both available). VGG16 was pre-trained by ImageNet dataset and can classify the
ImageNet dataset to 1000 classes.
a) Illustrate the architecture of the model using build-in functions in Matlab or Python based
platform.
b) Replace the last layer in VGG16 to make it can classify 10 classes.
c) Finetune the model with 100, 1k, 10k and 50k images in the training dataset of CIFAR10,
respectively. Apply each of the finetuned model to the testing dataset of CIFAR10 and report
training and testing accuracies.

Task 4: For the provided Gaussian distributed dataset you used in Homework 2 (the generated
two-class dataset), ignore the class ID (the third column), apply the K-means clustering
algorithm (kmeans()) in Matlab to cluster the training and testing datasets, respectively, to TWO
clusters. Scatter plot the two datasets and used the cluster membership to color each data points.
You can use Scikit-learn API as well (KMeans()). You can scatter plot the data using the true
class ID and compare it with the clustering result.

Task 5: Discuss the results you achieved in Tasks 1 – Task 4. What have you observed and what
conclusions can you draw?

Reference:

Examples for MNIST dataset:

Matlab example can be found here:


https://www.mathworks.com/help/deeplearning/examples/create-simple-deep-learning-network-for-
classification.html

Keras example can be found here:


https://keras.io/examples/vision/mnist_convnet/

Pytorch example can be found here:

https://nextjournal.com/gkoehler/pytorch-mnist

You might also like