Build single-input regression-style ann models


Assignment Task: Artificial Neural Network (ANN) Regression Models

Part A.

Build single-input regression-style ANN models capable of approximating each of the following functions:

1. f(x) = sin(x) x ∈ [0 ... 4π]

2. f(x) = x4 - 2/3x3 - 2x2 + 2x x ∈ [-2 ... +2]

In the programming language of your choice, implement classes that will allow you to create functional neural network models with non-linear activation functions and a single hidden-layer.

You may choose the number of hidden nodes in your hidden (middle) layer for each model.

For each model:

- generate two disjoint sets of valid inputs (say 500 for each of training and testing sets) from the continuous valid input-range provided for each. Also generate a _target set of correct matching outputs for each item in your training set

- Build your network from a set of classes (e.g. InputNode, HiddenNode, OutputNode, BiasNode)

- I suggest using the sigmoid act_fcts (shown in class) in all hidden and perhaps also output nodes. Alternately, you may use tanh().

- Use bias nodes in each non-output layer

- Train your network

- by: presenting an input to the network, feed it forward, determine the error in the output, determine the delta-value of each output/hidden node, and then determine and make the change to be made to each weight leading in to each node;

- and repeat for each input

- until either: a) the RMSE of the set of outputs on the training set is less than 10-1, or b) you have made ~10,000 or so passes (i.e. "epochs") through your training set

- Determine the RMSE of your model on the testing set

- Try to determine the fewest hidden nodes required to still achieve acceptable RMSE accuracy

- Generate a graph of your results. In the same graph, display: the target function, and the approximated function (example follows)

- Draw a picture of the final, trained models, including the weights assigned to the connections (to three significant digits)

Prepare a PPT presentation to deliver on the due-date, show some snippets of your code, and demo your program and/or its results. Show outputs of trained models beyond simply the values they were trained upon (i.e. on values between the values trained-on, although extrapolated values can be interesting -- but not often useful)

Download and install a Python or C# Machine Learning library that includes classification- and regression-style Artificial Neural Network models.

Familiarize yourself with the documentation of the library of Machine Learning functions

o Describe in your report how to build a regression-style neural network model using library methods -- paying particular attention to the parameters (and optional parameters) of available methods. You may use an example provided in the documentation as illustration

o May also want some passing familiarity with an accompanying dataViz library

o (And in Python: the numpy library)

1. Use your library to build trained models for the two equations shown in Part A

2. Classify the Iris dataset (as per the second Google Developers ML video -- Decision Trees -- shown in class: https://www.youtube.com/watch?v=tNa99PG8hR8)

- Note: the video presenter uses the pydot library to visualize the tree, which is incompatible with Python v. 3.x. The video presenter uses Python 2.7, so it works for him.

o Compare these results to those you generated over the course of the semester using the various WEKA models. Do they appear significantly better, worse, or the same? Why do you suppose this is?

3. Build a Regression ANN for the following function:

f(x, y) = sin(sqrt(x2 + y2))/sqrt(x2 + y2) (Note: IF x = y = 0: return +1)

o Follow the "For each model" instructions in part A above for this model

- (if the given library-functions are such that you cannot do so exactly for any of the steps above, attempt to come as close as possible)

o Report on the library methods you employed throughout your implementation of this model, the parameters you chose and your rationales for choosing them.

o Report on the advantages/disadvantages of using scikit and the other library functionality vs. implementing the ANN models yourself.

4. Prepare a PPT presentation to deliver on the due-date, explaining to the class the pros and cons of using this library, show some snippets of your code, and demo your program and/or its results.

Get in touch with our Artificial Neural Network Assignment Help service and get benefitted in the most professional manner.

Tags: Artificial Neural Network Assignment Help, Artificial Neural Network Homework Help, Artificial Neural Network Coursework, Artificial Neural Network Solved Assignments

Attachment:- Artificial Neural Network.rar

Request for Solution File

Ask an Expert for Answer!!
Other Subject: Build single-input regression-style ann models
Reference No:- TGS03054136

Expected delivery within 24 Hours