Description
In this homework, you will implement a multilayer perceptron for multiclass discrimination in R, Matlab, or Python. Here are the steps you need to follow:
-
Read Section 11.7.3 from the textbook.
-
You are given a multivariate classification data set, which contains 1000 clothing images of size 28 pixels × 28 pixels (i.e., 784 pixels). These images are from five distinct classes, namely, T-shirt, trouser, dress, sneaker, and bag. The figure below shows five sample figures from each class. You are given two data files:
-
-
hw03_images.csv: letter images,
-
-
-
hw03_labels.csv: corresponding image labels (1: T-shirt, 2: trouser, 3: dress,
-
4: sneaker, and 5: bag).
-
Divide the data set into two parts by assigning the first 500 images to the training set and the remaining 500 images to the test set.
-
Train a multilayer perceptron for multiclass discrimination using the sigmoid activation function for twenty nodes in the hidden layer ( = 20) and using the softmax activation function for five nodes in the output layer. You should develop a backpropagation algorithm under batch learning scenario with the following learning parameters.
eta <- 0.0005
max_iteration <- 500
You should initialize the weight parameters to the values given in initial_W.csv and initial_V.csv files before running your algorithm.
-
Draw the objective function values throughout the iterations. Your figure should be similar to the following figure.
Error
800
600
400
200
0 100 200 300 400 500
Iteration
-
Calculate the confusion matrix for the data points in your training set using the discrimination rule you will develop using the trained multilayer perceptron. Your confusion matrix should be similar to the following matrix.
-
y_predicted
y_train
3
4
5
1
2
1
101
1
4
0
0
2
0
82
0
0
0
3
6
3
108
0
0
4
0
0
0
100
0
5
0
0
0
0
95
-
Calculate the confusion matrix for the data points in your test set using the discrimination rule you will develop using the trained multilayer perceptron. Your confusion matrix should be similar to the following matrix.
-
y_predicted
y_test
2
3
4
5
1
1
84
1
2
0
2
2
0
87
1
0
0
3
13
3
101
0
2
4
0
0
0
103
1
5
2
0
1
0
97
What to submit: You need to submit your source code in a single file (.R file if you are using R,
.m file if you are using Matlab, or .py file if you are using Python) and a short report explaining your approach (.doc, .docx, or .pdf file). You will put these two files in a single zip file named as STUDENTID.zip, where STUDENTID should be replaced with your 7-digit student number.
How to submit: Submit the zip file you created to Blackboard. Please follow the exact style mentioned and do not send a zip file named as STUDENTID.zip. Submissions that do not follow these guidelines will not be graded.
Late submission policy: Late submissions will not be graded.
Cheating policy: Very similar submissions will not be graded.