Experiment with neural network, Computer Engineering

Assignment Help:

Assignment 3.b: Experiment with Neural Network

Background:

In this assignment, you will experiment with neural network for solving different types of practical problems. You will study how to use neural network for learning Boolean functions, real-valued functions, and classification tasks. First, you will design a 2-layer neural network. In the hidden layer, there will be m number of nodes. In the output layer, use only 1 node. Write the algorithm in your preferred language. For learning the neural network, you will use the multilayer version of Gradient Descent learning algorithm which is called Back-propagation algorithm. However, rather than using the normal gradient descent version, you will use the stochastic gradient descent algorithm. The pseudo-code of this algorithm will be like:

While  not converged to minimum

{

                For each sample s, do the following

Step 1: Find the outputs for each network nodes. First find outputs for hidden layer nodes. Then using the outputs of hidden layer nodes, find outputs for the output layer node.

Step 2: Find the weight update vectors. First find the update vectors for the output layer node. Then find update vectors for the hidden layer nodes. Note that, in this step, find the update vectors and save them. Do not apply the updates in this step.

Step 3: Update the weights. Update all weights of output layer nodes and hidden layer  nodes with the update vector found in Step 2 above.

                end

}

 

Problems to solve:

In this assignment you will study and solve the following three types of problems:

1.       Learning Boolean functions using neural network:

You will learn the Boolean functions using neural network. In this problem, you will use sigmoid activation function for hidden layer nodes and linear/sigmoid activation function for output layer node. Use the data sets provided to train your neural network.

2.       Learning real values function using neural network:

You will learn the Boolean functions using neural network. In this problem, you will use sigmoid activation function for hidden layer nodes and linear activation function for output layer node. Use the data set provided to train your neural network.

3.       Learning classification task using neural network:

You will learn the Boolean functions using neural network. In this problem, you will use sigmoid activation function for hidden layer nodes and linear/sigmoid activation function for output layer node. Use the data set provided to train your neural network.

When to stop the Learning?

You can stop your learning after sufficient number of iterations. The number of iterations that will be sufficient is not fixed and it will depend on your learning parameter eta and problem complexity, number of nodes in hidden layer etc. Hence, you have to experiment with different value of iterations (such as 100, 1000, 10000). You can also stop your learning when you will find that the value of error function begins to increase rather than decrease. At each step of the algorithm, it is expected that, value of the error function will decrease by some amount. Whenever you find that, value of error function has been increased from the previous iteration, and then you can stop learning.

General Instructions:

1.       Experiment with varying hidden layer nodes, m (start using m=3, then test with m=5, 10, 20, 50 nodes).

2.       Experiment with learning rate, eta (start using eta=0.1, then test with eta=0.3, 0.5, 0.9).

3.       Experiment with iterations, (use 100, 1000, 10000) iterations.

4.       For each of the data sets, report the following:

a.       Report the value of error for each data set, m, eta, iterations.

b.       Best value of m, eta, iterations for each data set which gives you lowest error.

 


Related Discussions:- Experiment with neural network

Microprocessors and digital design, Describe the purpose and operation of R...

Describe the purpose and operation of Register 2 (R2) for the MSP430

Explain deadlock detection algorithm for single instance, Explain deadlock ...

Explain deadlock detection algorithm for single instance of each resource type. For single instance of each resource type the deadlock detection algorithm: (i) Maintain a wa

What is asynchronous reset, What is Asynchronous Reset? Asynchronous re...

What is Asynchronous Reset? Asynchronous reset: The biggest problem along with asynchronous resets is the reset release, which termed as reset removal. By using an asynchron

Personal computing environment, Reply and discuss the role of the SAS 70 re...

Reply and discuss the role of the SAS 70 report in reviewing internal controls. Provide publicly available examples of SAS 70 reports and explain. Problem Discuss the

Describe the graphic accelerators, Q. Describe the Graphic Accelerators? ...

Q. Describe the Graphic Accelerators? A Graphic Accelerator is actually a chip as a matter of fact most significant chip in your video card. The Graphic Accelerator is essentia

Compare memory mapped i/o with i/o mapped i/o, Compare memory mapped I/O wi...

Compare memory mapped I/O with I/O mapped I/O. Memory Mapped I/O Scheme: In this scheme there is only one address space. Address space is stated as all possible addresses tha

Determine about the logical shift, Logical shift A logical shift operat...

Logical shift A logical shift operation transfers 0 through serial input. We apply symbols shl and shr for logical shift left and shift right microoperations, examples:. R1

Show the ranges of port numbers, Q. Show the ranges of Port numbers? P...

Q. Show the ranges of Port numbers? Port numbers are divided into three ranges: Well-known ports are those from 0 through 1,023. Registered ports are those from

Simplify the Boolean expression, The Boolean expression A‾.B + A.B‾ + A.B i...

The Boolean expression A‾.B + A.B‾ + A.B is equivalent to ? Ans. The Boolean expression A‾ .B + A. B‾+ A.B is equivalent to A + B (A‾ .B + A. B‾+ A.B = B( A‾ + A) + A. B‾ =

What do you mean by data distribution, Q. What do you mean by Data Distribu...

Q. What do you mean by Data Distribution? Data distribution directives tell compiler how program data is to be distributed among memory areas connected with a group of processo

Write Your Message!

Captcha
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