- Building vlfeat and libsvm can be tricky, depending on your system. Try to get this working early. If you can't, you can use a Windows machine in one of the computer labs with the pre-built binaries for both libraries. - Feature extraction can take a long time -- some students have reported up to four hours, depending on hardware and how many features they extract, and even a very fast machine might take ten minutes. While you're figuring out where to put your SIFT windows, you may want to use a subset of the data -- perhaps 2 or 3 folds. And if your machine is not new, this may be another reason to use a machine in one of the computer labs. Once you've decided on your features, extract them once and use matlab's save() function to save them, so you don't have to re-extract them every time you make a little change. - Make sure you are using libsvm, and not matlab's built-in SVM implementation. Both training functions have the same name, "svmtrain". If libsvm is properly installed, running svmtrain() without arguments should show a usage message whose first line is "Usage: model = svmtrain(training_label_vector, training_instance_matrix, 'libsvm_options');" - This classification problem is considerably more difficult than the previous labs. You should be aiming for an accuracy in the 70s. - For the roc() function's "labels" parameter, you should pass the true labels, not the output of the classifier. For the "scores" parameter, pass the decision values from the classifier (the third return value from svmpredict().