Contents
Hw assignment 2
Assignment Description
Due Tuesday April 1, 2008
Guidelines:
- Write a short report to present your results.
- Be sure to include all the relevant graphs as well as a copy of your code.
- Teamwork is encouraged, but the write up of your report must be your own.
- Please write the names of ALL your collaborators on the cover page of your report.
Question 1
In the Parametric Method section of the course, we learned how to draw a separation hyperplane between two classes by obtaining w0, the argmax of the cost function $ J(w)=w^TS_Bw / w^TS_ww $. The solution was found to be$ w_0= S_w^{-1}(m_1-m_2) $, where $ m_1 $ and $ m_2 $ are the sample means of each class, respectively.
Some students raised the question: can one simply use $ J(w)= w^TS_Bw $ instead (i.e. setting $ S_w $ as the identity matrix in the solution $ w_0 $? Investigate this question by numerical experimentation.
Question 2
Obtain a set of training data. Divide the training data into two sets. Use the first set as training data and the second set as test data.
a) Experiment with designing a classifier using the neural network approach.
b) Experiment with designing a classifier using the support vector machine approach.
c) Compare the two approaches.
Note: you may use code downloaded from the web, but if you do so, please be sure to explain what the code does in your report and give the reference.
Question 3
Using the same data as for question 2 (perhaps projected to one or two dimensions for better visualization),
a) Design a classifier using the Parzen window technique.
b) Design a classifier using the K-nearest neighbor technique
c) Design a classifier using the nearest neighbor technique.
d) Compare the three approaches.
Data
- Publicly available data sources are listed here.
- Simple perl script that converts data from the libsvm to the fann format. Allows you to quickly convert data if you're using the [FANN] and [LIBSVM].
Matlab Code
a). KNN classifiter
b). Classification using SVM
c). Demonstration of parzen window
d). Serval matlab codes realated to learning, clustering, and pattern classification]