Question

Task 3: Deep neural networks

Working principle: Write the working principle or the mathematics behind the

backpropagation or feed forward ANN. Note: Explain the working principles of ANN.

Include a model architecture of ANN, label every component, and explain how the

information flows from one end to another end (please label everything in the model

diagram) and how you train and test the ANN (you can discuss based on the quality/size

of the dataset).

Then use ANN or DNN to predict the crystal morphology. Try different architectures and

report the best ANN architecture that predicts the crystal morphology in both training

and testing dataset with reasonable accuracy.

For consistency/convenience, use 90% of the data for training and 10% of the data for

training. Create a plot showing the experimental versus predicted value. Clearly label the

x-axis provide suitable legends (which symbol is experimental and which symbol is

predicted. Likewise, which one comes from training data set, and which one comes from

testing dataset) involved, add suitable legends, clearly label the x-axis and y-axis (Note: It

will be easier if you to discuss and interpret, if you could split the graphs into two, one

graph for the training dataset and another graph for the testing dataset). Finally discuss

about the limitations/advantages of ANN based on your understanding (e.g., you can

make your arguments based on what you think about ANN, and do you think it can

always provide accurate results and the results can it be trusted?)

Make a table like the one below and give a suitable comment on which DNN/ANN

structure is best and why.

Network

structure

Propagation

functions used

(mention in

which

layer, what

MSE between

experimental

value in the

training set and

ANN predicted

MSE between

experimental

value in the

testing set and

ANN predicted

Number of

effective

parameters used

(if you trained

the network/n(You can get

directly from

MATLAB)

(You can

calculate this

using excel

sheet)

*Also comment about this value and do you think, these values change as a function of

the hidden layers or the number of neurons in the hidden layer. Based on this value and

MSE of the testing set comment about the overtraining/overprediction of neural nets and

explain how using the function trainbr eliminated this issue.

Include all the neural networks generated by MATLAB (you can use the code view(net)).

Add parity plots, for the training and testing data set (you will have 10 parity plot

(Experimental value on x-axis and ANN predicted values on the y-axis), if you have ten

different ANNs). Plot training and testing data set on the same graph.

Quantify your results where possible, and provide critical analysis / discussion of the

results

Add a general conclusion

Codes: Copy paste the MATLAB codes/scripts you used in the assignment and add a

suitable explanation/comment for each line in the code.

Question image 1Question image 2