(60 pts) Each group will implement one classifier (assigned below) and
train and test it on the same six data sets from
homework 1. The conditions of homework 1 also apply to
this homework: You must handle both binary and multiclass data,
you must vary all
the relevant parameters in your learning algorihtm, and you must
assess training and testing speeds and classification error.
In addition, all your error rates must be reported with 95% confidence intervals.
You will report your initial results in a brief report that is due
by 11:59:59 p.m. on Tuesday, March 25. This report need not be extremely detailed,
but it must be sufficient for others to completely understand your classifier's
performance. These results will be posted on the course web page.
You will then submit a much more detailed report by
11:59:59 p.m. on Monday, March 31. This report will analyze your results in much
greater depth and also contrast your results (error rates and run times)
with all others. When you compare error rates, report the confidence levels of significant differences (either to your advantage or to the other algorithms)
under a paired t test. As with homework 1,
much of your grade will depend on the quality of your report, including the level
of detail and the quality and depth of the analysis. Also as with homework 1, you
will receive extra credit for substantial work above and beyond what is required for
this homework, e.g. innovative experiments or insightful interpretation of the results.
Here are the groups and their assigned classifiers:
- Cory Strope and Pooja Khati
: SVM with polynomial kernel (for simplicity, you need not maximize the margin)
- Jiazheng Shi
: multi-layer neural network trained with backpropagation derived from exponentiated gradient
- Andrew Breiner
: multi-layer neural network trained with backpropagation derived from gradient
- Zhaohui Sun and Chang Wang
: SVM with Gaussian kernel (for simplicity, you need not maximize the margin)
- Chris Hammack
: decision tree
- Nurzhan Ustemirov
: k nearest neighbor classifer
For this homework, you may refer to other implementations for ideas, but
you must write your own code (do not copy someone else's!). Also,
if you refer to other implementations, you must cite them.