(Be sure to watch the newsgroup for possible further directions.)

You will need to use the code in ZIP file.

**Datasets**:

- The training data is randomly generated by the test_gp functions, so every time you make a run (a plot) you get different results.

**You should hand in:**

- The Matlab code (well commented!),
- GP_regression.m

- The classification results. You can choose the experiment parameters on your own. Do it to get interesting plots for the conclusion (Please submit both .fig and .jpg files).
- plots for test_fn_1d_1.m function: fn_1d_1_plot_{1,2}.{fig,jpg}
- plots for test_fn_1d_2.m function: fn_1d_2_plot_{1,2}.{fig,jpg}
- plots for test_fn_2d_1.m function: fn_2d_1_plot_{1,2}.{fig,jpg}
- plots for test_fn_2d_2.m function: fn_2d_2_plot_{1,2}.{fig,jpg}

- the running times of the algorithms in seconds.
- a summary about the experiments with your conclusions in PDF format

**Dataset**:

- The data set is the one used in Figure 2.1. of the textbook. It has 200 data points. The input is 200x2 dimensional (tr_p) and the output is 200x1 (label) which is either +1 or -1.

**You should hand in:**

- The Matlab file (well commented!)
- back_prop.m The back_prop function will have two inputs P and T, in which P is the network inputs (nx2) and T (nx1) is the network outputs. Note that n is number of training points. It will also have two outputs, IW and LW. IW is a 2x2 matrix for the wights that connect the input layer to hidden layer and it should be in the form of [A,C;B,D]. LW is for the weights that connect hidden layer to output layer. It is 2x1 vector of the form [E;F]. Considering the bias nodes is not necessary here.

- The Results
- Q5a.{fig,jpg} This should plot both the data points and the classification boundary. Use 'x' and red color for points with label +1 and 'o' and green color for the points with label -1.

**[hint: you do not need to compute the boundary. The first dimension of inputs ranges from [-3,5] and the second dimension ranges from [-2,3]; therefore, you can just consider many points in the input space and plot a red dot for positive points and a green dot for negative points and a black dot for points near zero.]**

**You should hand in:**

- The Matlab files (well commented!)
- GradientDescent.m Note that the specification of the inputs and outputs are available in the .pdf file of the assignment.

- Comparison of the behavior of three routines over the given initial set-ups.
- For this part, just add three columns to the given initial set-ups table and specify the number of iterations required for the algorithm to converge. Submit this table along with the value that was used for &kappa in the paper part of your submission.