CSCE 478/878 (Fall 2004) Homework 2

Assigned Tuesday, October 5
Due Sunday, October 24 at 11:59 p.m.

When you hand in your results from this homework, you should submit the following, in separate files:

  1. A single .tar.gz or .tar.Z file (make sure you use a UNIX-based compression program) called username.tar.gz where username is your username on cse. In this tar file, put:
  2. A single .pdf file with your writeup of the results for all the homework problems, including the last problem. Only pdf will be accepted, and you should only submit one pdf file, with the name username.pdf, where username is your username on cse. Include all your plots in this file, as well as a detailed summary of your experimental setup, results, and conclusions. If you have several plots, you might put a few example ones in the main text and defer the rest to an appendix. Remember that the quality of your writeup strongly affects your grade. See the web page on ``Tips on Presenting Technical Material''.
Submit everything by the due date and time using the web-based handin program.


On this homework, you must work on your own and submit your own results written in your own words.
  1. (10 pts) Do Problem 4.3 on p. 124

  2. (15 pts) Do Problem 4.8 on p. 125

  3. (10 pts) Do Problem 5.4 on p. 152

  4. (60 pts) Implement an artificial neural network (ANN) with at least one hidden layer. The input layer will have n nodes (i.e. there are n features per example) and the hidden layer will have k nodes. Here, n and k are parameters passed to the learner (i.e. do not hard-code these values into your program). The number of output nodes may be fixed at 1 if you wish, though if you plan to handle multi-class data, you should make this dynamic as well. Your ANN will be trained by the Backpropagation algorithm, either GD- or EG-based. (If you implement EG-based backpropagation, you will receive extra credit. Note that in this case you need to be able to represent negative weights.)

    You are to compare your ANN's results to those from ID3 on the same UCI data sets you used for Homework 1. Your goal is to convince the reader that, for each data set, either one of the two algorithms is superior to the other (and give a significance level as well) or that there is no statistically significant difference between them. To accomplish this task, you may use any tools from Lecture 5 that you wish, under two conditions: (1) you must use the tools correctly and thoroughly corroborate your assertion, and (2) you must have at least one confidence interval and at least one ROC curve in your report. Note that in order to use certain statistical tools correctly, you may need to run a few additional experiments with ID3.

    You are to submit a detailed, well-written report, with real conclusions and everything. In particular, you should answer the following questions for both your new classifier and ID3. Did training error go to 0? Did overfitting occur? Should you have stopped training early? Was there a statistically significant difference between the performance of ID3 and that of the ANN? What algorithm would you recommend for your data sets? Of course, this is merely the minimum that is required in your report.

    Extra credit opportunities include (but are not limited to) running on extra data sets, using other activation functions, using multiclass data, and running experiments on more ANN architectures and/or with more learning rates. As always, the amount of extra credit is commensurate with the level of extra effort and the quality of your report of the results.

  5. (5 pts) State how many hours you spent on each problem of this homework assignment. For CSCE 878 students, this includes the next problem.

    The following problem is only for students registered for CSCE 878. CSCE 478 students who do it will receive extra credit, but the amount will be less than the number of points indicated.

  6. (40 pts) Implement a support vector machine (SVM) with the kernel of your choice. (See Table II of Muller et al. for formulas of commonly-used kernels. Note that these kernels have parameters that you will have to set; you may use just a single value of each parameter if you wish.) You need not worry about formulating the problem as a quadratic program, nor must you even try to maximize the margin. Instead, if you wish you may use the dual form of the standard Perceptron algorithm. (You may need to play with the learning rate η a bit and/or rescale the input data to fit in a ball of radius 1 in order to get a good value of b. One thing you can try is, after training, try many values of b as if you're generating a ROC curve and choose the best one.) You should compare your SVM results to those of the ANN and ID3 as in Problem 4.

back
CSCE 478/878 (Fall 2004) Home Page

Last modified 16 August 2011; please report problems to sscott AT cse.