1
COMP 627 – Assignment 1
Note: Referto Eq. 2.11 in the textbook for weight update. Both weights, w1 and b, need to be adjusted.
According to Eq. 2.11, for input x1, error E = t-y and learning rate β:
w1_new=w1_old+ β E x1;
bnew= bold+ β E
COMP 627 Neural Networks and Applications
Assignment 1
Perceptron and Linear neuron: Manual training and real-life case
studies
Part 1: Perceptron
[08 marks]
Download Fish_data.csv file from LEARN page. Use this dataset to answer the two questions (i) and (ii)
below on Perceptron. The dataset consists of 3 columns. The first two columns are inputs (ring
diameter of scales of fish grown in sea water and fresh water, respectively). The third column is the
output which states whether the category of the fish is Canadian or Alaskan (the value is 0 for Canadian
and 1 for Alaskan). Perceptron model classifies fish into Canadian or Alaskan depending on these two
measures of ring diameter of scales.
(i)
Extract the first AND last row of data and label these rows 1 and 2. Use an initial weight
vector of [w1= 102, w2= -28, b= 5.0] and learning rate β of 0.5 for training a perceptron
model manually as below:
Adjust the weights in example-by-example mode of learning using the two input vectors.
Present the input data in the order of rows 1 and 2 to the perceptron. After presentation
of each input vector and corresponding weight adjustment, show the resulting
classification boundary on the two data points as in Fig. 2.15 in the book. For each round
of weight adjustment, there will be a new classification boundary line. You can do the
plots on Excel, by hand, python or any other plotting software. Repeat this for 2 epochs
(i.e., pass the two input vectors twice through the perceptron).
(4 marks)
(ii)
Write python code to create a perceptron model to use the whole dataset in fish.csv to
classify fish into Canadian代 写COMP 627 COMP 627 Neural Networks and Applications or Alaskan depending on the two input measures of ring
diameter of scales. Use 200 epochs for accurate models.
Modify your python code to show the final classification boundary on the data.
Write the equation of this boundary line.
Compare with the classification boundary in the book.
(4 marks)2
COMP 627 – Assignment 1
Note: For adjusting weights, follow the batch learning example for linear neuron on page 57 of the
textbook that follows Eq. 2.36. After each epoch, adjust the weights as follows:
w1_new=w1_old + β (E1 x1 + E2 x2)/2
bnew= bold + β (E1 + E2)/2
where E1 and E2 are the errors for the two inputs.
Part 2: Single Linear Neuron
[12 marks]
Download heat_influx_north_south.csv file from LEARN page. Use this dataset to develop a single
linear neuron model to answer the questions(i) to (v) below. Thisis the dataset that we learned about
in the text book and lectures where a linear neuron model had been trained to predict heat influx in
to a house from the north and south elevations of the house. Note that the dataset has been
normalised (between 0 and 1) to increase the accuracy of the models. When data (inputs and outputs)
have very different ranges, normalisation helps balance this issue.
(i)
Use two rows of data (rows 1 and 2 (0.319, 0.929) and (0.302, 0.49)), respectively, to train
a linear neuron manually to predict heat influx into a home based on the north elevation
(angle of exposure to the sun) of the home (value in ‘North’ column is the input for the
single neuron where output isthe value in ‘HeatFlux’ column). Use an initial weight vector
of [b (bias) = 2.1, w1= -0.2] and learning rate of 0.5. Bias input =1. You need to adjust
both weights, b and w1.
(3 marks)
- a) Train the linear neuron manually in batch mode. Repeat this for 2 epochs.
Note:
Try to separate the dataset into two datasets based on the value in ‘Canadian_0_Alaskan_1’ column.
Example code is given below.
#create dataframe X1 with input columns of the rows with the value 0 in 'Canadian_0_Alaskan_1' column
X1 = df.loc[df["Canadian_0_Alaskan_1"] == 0].iloc[:, 0:2]
Plot the data of two datasets with different markers‘o’ and ‘x’.
Plot the decision boundary line using the equation used in Laboratory Tutorial 2 – Part 2 (Please note
that there is a correction in the equation and the updated assignment is available on LEARN).
Final plot should be like this.3
COMP 627 – Assignment 1
1 2
Note: To retrieve the mean squared error, you can use the following code
from sklearn.metrics import mean_squared_error
print(mean_squared_error(Y, predicted_y))
- b) After the training with the 2 epochs is over, use your final weights to test how the
neuron is now performing by passing the same two data points again into the neuron
and computing error for each input (E1 and E2). Compute Mean Square Error (MSE)
for the 2 inputs using the formula below.
标签:plot,627,COMP,neuron,two,Applications,input,model,data From: https://www.cnblogs.com/vvx-99515681/p/18372316