Implement a back propagation multi-layer neural network

Assignment Help Computer Engineering
Reference no: EM132272064

Assignment

Aim:
This assignment is intended to provide basic experience in writing neural network applications and conducting classification experiments with MLPs. After having completed this assignment you should know how to implement a back propagation multi-layer neural network which can be used for a variety of classification tasks.

Assignment Specification:

Your main task in this assignment is to implement selectable ordering of the training data and make the net more powerful by enabling the MLP to be configured as a 3-, 4- or 5-layer MLP with a specified number of neurons in each layer and to use the MLP to classify all the given data. You are to also provide a test function so that the MLP can learn training data and be tested with different test data. For this assignment you can write and compile your code on PC or UNIX platforms. To complete this assignment, it is recommended you follow the steps below.

Step 1: To improve MLP training, implement an option for providing selectable ordering of the training data. The "Ordering" parameter should be added to the definition header of the training data files after ObjErr. e.g.:
. . .
Mtm1 : 1.2
Mtm2: 0.4
ObjErr: 0.005
Ordering: 1
. . .
"Ordering" determines which training pattern is selected each training iteration (epoch). The options are:
0 Fixed Always uses the same given order of training patterns.
1 Random Make completely different (random) order at each epoch (i.e. new permutation).
2 Random Swap Random permutation at start. After each epoch, two patterns are randomly selected and exchanged.

Tip: Try using an index array to rearrange the selection order.

Step 2: Implement 4- and 5-layer neural networks (i.e., have 2 and 3 hidden layers, respectively) trained with the back propagation algorithm by modifying the code in mlp.cpp. To do this rename the TrainNet() function to TrainNet3() and make modified copies of this function (named: TrainNet4() and TrainNet5()) with 4- and 5-layers respectively. Then incorporate a switch statement into your code so that the appropriate TrainNet() function is invoked according to the data specs. Test your completed code on the provided data and ensure that the MLP configuration in the data files (i.e., the number of layers, number of neurons, etc.) is being complied with.

Step 3: Write a TestNet() function that tests the MLP's performance by using the MLP trained with the training data to classify the test data in the data files and report the error rate. A typical run of you MLP should look like:

NetArch: IP:8 H1:5 OP:1
Params: LrnRate: 0.6 Mtm1: 1.2 Mtm2: 0.4
Training mlp for 1000 iterations: #
1:
2:
3:
4:
5:
6:
7:
8:
. . . .
1000:

Testing mlp:
MinErr AveErr MaxErr %Correct
0.001126 0.008256 0.015060 10.1607
End of program.

Step 4: Your task here is to devise various back-propagation neural network of minimum size (in terms of the number of neurons in the MLP) that can correctly classify the Two Spiral Problem (data1.txt) and the other data sets associated with Problems 2 and 3 (see below). Note: the data for problems 2 and 3 may need extra work, like normalizing the data, dividing it into training and test data and adding the MLP header information. You should experiment with various MLPs with variations in the numbers of layers, number of neurons in each layer, parameters (e.g., learning rate and momentum) and the number of training iterations. If you are unable to classify all the data correctly, then your final MLP configuration should be a best case compromise between size and performance. For each data set you must write a report comprised of the following information with the given headings:
1) About the problem
A brief description of the problem.
2) On the various MLPs experimented

A report of the various MLPs (at least 3 MLPs) that you experimented with including any parameter changes you made and the results that were achieved. Try running each MLP a few times to determine if the problem has local minimums. If so state this in the report and see if this can be avoided by increasing the momentum. You should also indicate the approximate architecture that you think is most suited for the problem and how long and the number of epochs it takes to learn the data. (e.g., "... the best MLP for the problem appears to be a network with a large number of hidden layers with few nodes in each layer..."). Use graphs if you think this is helpful in understanding the performance differences of the various MLPs.

3) On the final MLP's architecture
Report on the final MLP that you consider is either the one that classifies all the data correctly or is a best case compromise between size and performance. Provide a description of the final MLP architecture together with a drawing of the MLP.

4) On the final MLP's performance
Write a brief summary of the final MLP's performance. Also, provide a graph showing the epochs vs error rate. (Note: for binary classification problems, the error rate should indicate the percentage of patterns correctly classified on the training and test data.) Was the final MLP able to learn all the training data and classify the test data correctly? If not, why not? Are there local minimums with this MLP?

Attachment:- Assignment.rar

Reference no: EM132272064

Questions Cloud

Why did you select phd in information technology : Why did you select PhD in information technology? Why did you select this university?
Calculate the sustainable growth rate for xyz corporation : Calculate the sustainable growth rate for XYZ Corporation: Profit margin = 9.2%, Capital intensity ratio = .80, Debt-Equity Ratio = .70, Net Income = $80,000, D
Write about women issues in multicultural policing : Women Issues In Multicultural Policing. Your essay will consist of a 3-5 pages about the topic you chose. Your essay will have an APA formatted cover page.
Two risky assets into a portfolio : Is it possible to combine two risky assets into a portfolio such that the risk of the portfolio
Implement a back propagation multi-layer neural network : Implement 4- and 5-layer neural networks (i.e., have 2 and 3 hidden layers, respectively) trained with the back propagation algorithm by modifying the code
Describe an example of a very poorly implemented database : Describe an example of a very poorly implemented database that you've encountered (or read about) that illustrates the potential for really messing things up.
Research on chevrons use of seismic imaging technology : Why is it increasing most important for a CIO or IT executive who oversees geographically distributed enterprise networks to be business literate?
Explain one example of a state-level decision or change : For this discussion, I would like you to explain one example of a state-level decision or change that has had an observable impact on its citizens.
Which component is currently lacking : Aldrich's Chapter 1 provides several theoretical perspectives on political parties. Composed during a particularly moderate time in American party history.

Reviews

Write a Review

Computer Engineering Questions & Answers

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd