# HW assignment 2, ECE662 Spring 2008, Prof. Boutin

### Assignment Description

[Official version: HTML PDF]

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.

#### 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 (please, follow the link under Tools_OldKiwi).

a). KNN classifiter

b). Classification using SVM

c). Demonstration of parzen window

d). Serval matlab codes realated to learning, clustering, and pattern classification

a). Neural classifier for multiple class data

b). Neural classifier for binary class data

The voronoi diagram is related to the nearest neighbor technique.

5. The Netlab library includes software implementations of a wide range of data analysis techniques, many of which are not yet available in standard neural network simulation packages (in Matlab)

It contains lots of pattern recognition algorithms and gives the description and pesudo code of them.

Links to many SWM softwares, tutorials, etc: Most of these sites are compilation of several links to codes on the web

1. SVM and Kernel Methods Matlab Toolbox http://asi.insa-rouen.fr/enseignants/~arakotom/toolbox/index.html

2. SVM - Support Vector Machines Software http://www.support-vector-machines.org/SVM_soft.html

3. Some SVM sample data http://www.cs.iastate.edu/~dcaragea/SVMVis/data_sets.htm

4. LIBSVM - A library of SVM software, including both C and Matlab code. Various interfaces through several platforms available as well. http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 