### Readme for HW#2 [CMPUT 466 / 551 ]

#### To submit your solutions: For Questions 1-7 and 10-13 (and 14-15): submit in paper form to the course assignment drop box (on the first floor of CSC). Please ensure that your name, login, and student ID are written on your assignment. To submit your solution to Questions 8-9: First zip your codes and figures into a single file, then email that file to c466-submit@cs.ualberta.ca. (Be sure to watch the newsgroup for possible further directions.)

The following data and matlab codes can be downloaded in one single .zip file from here
http://www.cs.ualberta.ca/~poczos/HW/HW2_all.zip

You can use the following Matlab codes for plotting the data points and separators:
http://www.cs.ualberta.ca/~poczos/HW/SVCplot_demo.zip

Q8 (b)

#### You should produce:

• Classification results for these datasets using both the Primal and Dual Perceptron algorithms.
• In the Dual algorithm use linear, polynomial, and RBF kernels.
Try to find the best parameters for these kernels.

#### You should hand in

• the Matlab codes (well commented!),
• Q8-primal.m
• Q8-dual-lin.m
• Q8-dual-rbf.m
• Q8-dual-poly.m
• the classification results (by plotting the data points and the separators in the original space) on the training datasets with parameter values and kernels you used.
• Q8-primal-{iris1,iris2,chess}.{fig,jpg}
• Q8-dual-lin-{iris1,iris2,chess}.{fig,jpg}
• Q8-dual-rbf-{iris1,iris2,chess}.{fig,jpg}
• Q8-dual-poly-{iris1,iris2,chess}.{fig,jpg}
• the running times of the algorithms in seconds.
• if an algorithm didn't converge, report that, too.

#### Datasets:

• The same as in Q8 (b)

#### You should produce:

• Classification results with the Primal and Dual SVM algorithms.
Feel free to play with the parameters and kernels, and report the results.
Which kernels and parameter values gave the best results?

#### You should hand in

• the Matlab codes (well commented!),
• Q9-primal.m
• Q9-dual-lin.m
• Q9-dual-rbf.m
• Q9-dual-poly.m
• the classification results (by plotting the data points and the separators in the original space) on the training datasets with parameter values and kernels you used.
• Q9-primal-{iris1,iris2,chess}.{fig,jpg}
• Q9-dual-lin-{iris1,iris2,chess}.{fig,jpg}
• Q9-dual-rbf-{iris1,iris2,chess}.{fig,jpg}
• Q9-dual-poly-{iris1,iris2,chess}.{fig,jpg}
• The running times of the algorithms in seconds.

#### http://www.cs.ualberta.ca/~poczos/HW/x.mat

This Matlab file include three 20D vectors for the vector x.
Please use them for producing the plots in Question a.

#### You should hand in

• The plot gereator matlab file and the plots in Matlab.fig and in .jpg format.
• Q11-pnorm-plotter.m
• Q11-{pnorm}.{fig,jpg} : |x|_p as a function of p (... and use log-scale for the axis Y).
• Q11-{pnorm_powerp}.{fig,jpg}:  |x|_p^p as a function of p (... and use log-scale for the axis Y).