Deep Learning

 

k

Back Propagation

Neural Network

For the multi

layer neural network that you will be implementing in the following problems, you may use 

either the hyperbolic tangent or the sigmoid for the activation function.  Obviously you will be implementing 

the back propagation method to train the n

etwork.  Your code should include an arbitrary method that allows 

you to code it for any number of input dimensions, hidden layers, neurons and output neurons, (i.e. you need 

it to be able to allow you to change a variable and it changes the number of laye

rs, or the number of neurons 

at a given layer, or the number of dimensions, or the number of output layers…in other words this cannot be 

hard coded

for a specific data set

).   

1.

(25pts) 

Develop a multi

layer neural network to solve the 

regression problem: f

(x) = 1/x

, (for only the 

positive values of x)

.  Be sure to create a testing and training set.  

I am 

NOT

providing you with data. 

The 

number of hidden layers and neurons 

is your discretion, however, you must provide an explanation as to why 

the number of l

ayers and nodes you used was a good choice.  You will need to create multiple different 

structures that you train and p

lot this error for the different models to show why you chose the final model 

that you did for this problem.

Report your network configu

ration, and comment on your observations 

regarding the performance of your network as you try to determine the number of hidden layers and hidden 

nodes of your final network, once you determine the correct model

:

a.

(10pts) 

T

rack 

your training and testing history.  

This means that you 

check your training performance 

and your testing performance at multiples of some fixed number of 

iterations

(and over many Epochs 

also)

[thus you will provide a graph of this information]

, implement 

the online learning method.

Be 

sure to label plots appropriately.

(Remember to scale the data in the range that provides the best 

results for your activation function

… normalization is a must)

b.

(5pts) 

What did you observe regarding the value of the learni

ng parameter and how the network 

performed given

(do one of each)  

i.

(2.5pts)

a fixed value, 

ii.

(2.5pts) 

and a time decreasing value 

c.

(2.5pts) 

Choose a couple of points beyond your training set (i.e., if your max training input 

is 

x=10, 

try testing your netw

ork with, say, x=10.5, x=

12

, and x=

30

).  What do you observe regarding the 

networks ability to generalize for data that is beyond its training set (note, you may have to increase 

the v

alue of x 

to a large number 

to get a good idea

to answer this

)

.

d.

(2.5pts)

Briefly comment on 

the extrapolation capability 

compared 

to the interpolation capability

of 

the network.

e.

(5pts) 

Plot the final results

showing the capability of your network to determine the function f(x) = 

1/x versus the function f(x) = 1/x.

2.

(25pts)

Develop a multi

layer neural network to

classif

y

the 

IRIS 

data set.  

Use K

Fold Cross Validation for 

this problem.

The code you use for thi

s problem will be an extension of the code you created for problem 1.

a.

(12pts) Implement the NN and r

eport your network configuration: number of hidden layers, number 

of nodes per hidden layer, learning rate/learning schedule, encoding of the output

, etc.

b.

(

5pts) 

Plot 

the 

error metric versus the number of training steps (similar to problem 

1

).

c.

(8pts) 

Comment on how well your network learned the data.  Things to think about: did the network 

classify the data well (or not), and why (or why not); how well did it

classify each class independently 

(you might consider contingency

table

s for this

); and what observation do you have regarding number 

of training samples

: was the normalization technique I used adequat

Tags: No tags