LFD Book Forum (http://book.caltech.edu/bookforum/index.php)
-   Homework 8 (http://book.caltech.edu/bookforum/forumdisplay.php?f=137)
-   -   on the right track? (http://book.caltech.edu/bookforum/showthread.php?t=4044)

 marek 05-26-2013 12:52 PM

Re: on the right track?

Quote:
 Originally Posted by Anne Paulson (Post 9704) Now I have a different problem (sorry to bug you all, thanks for your help). I'm getting the right (or at least, the same) results as the rest of you. But now I can't get answers to Q5 and Q6. I'm getting more than one statement being true, and numbers are not increasing/decreasing monotonically. Suggestions? Hints?
I managed to reproduce the results earlier in this thread so I also had some confidence until I hit Q5 and Q6.

As I try to figure out what's going wrong, I guess I have one initial question. What are we supposed to do with -h, should we leave it at 1 as by default? -h 0 has no impact on the earlier questions but dramatically changes my answers for Q5 and Q6... and also takes incredibly long to compute.

Also regardless of which setting I choose, I always get the warning for hitting the max number of iterations... Any clues as to why that is or how I can prevent that?

Edit: Nevermind, after hours of trying to figure it out, minutes after I make a post I discover I had fat fingered -d 22 instead of -d 2. However, I am still curious as to what the effect of -h is if anyone knows.

 dlammerts 05-26-2013 04:29 PM

Re: on the right track?

Quote:
 Originally Posted by Sendai (Post 9581) I thought it would be nice to have a way to check if we're on the right track with problems 2-5 without giving away the answers. I ran SVM (with the polynomial kernel) for a couple of cases and pasted the results below. Are others getting the same numbers? 0 vs 7 classifier, C=0.01, Q=2 number of support vectors = 861 = 0.071778 = 0.063241 2 vs 8 classifier, C=0.1, Q=3 number of support vectors = 721 = 0.234878 = 0.291209
Great idea. Got (almost) identical results using svm from the e1071 R plugin:

SVM model for 0-vs-7 classification with C = 0.01 and Q = 2: SVs = 861 Ein = 0.07177814 Eout = 0.06324111
SVM model for 2-vs-8 classification with C = 0.1 and Q = 3: SVs = 722 Ein = 0.2348782 Eout = 0.2912088

 mvellon 05-27-2013 08:17 PM

Re: on the right track?

I'm stuck half-way in this problem. I'm trying to use the C# version of libsvm and, I think it's working, but I can't corroborate the numbers I'm seeing here. Actually, I match on the # of support vectors, but my Ein and Eout numbers are significantly different.

For 0 vs. 7 with Q=2 and C=.01 I get 861 SVs but using Sign(svm_predict) and counting sign mismatches I get:

Ein=.060 and
Eout=.057

Looking at 2 vs 8 with C=.1 and Q=3, I get 721 SVs but errors are much worse:

Ein=.67
Eout=.63

Since I'm getting the right number of support vectors, I think things are somewhat ok, but I'm perplexed regarding the results from svm_predict.

One dumb question: I presume the right way to feed data into libsvm (using its data file reading capabilities) is to manually subset the data as well as to prep it for libsvm format. Is this correct? When processing 2 vs 8, for example, I'll generate a +1 for "2" data, a -1 for "8" data and then discard the rest. Is this the right approach?

 mvellon 05-27-2013 09:11 PM

Re: on the right track?

Hmm - running command-line versions of libsvm are corroborating numbers posted by others. I suspect the (mjohnson) .NET version has problems.

 Elroch 05-28-2013 03:45 AM

Re: on the right track?

Quote:
 Originally Posted by mvellon (Post 10967) I'm stuck half-way in this problem. I'm trying to use the C# version of libsvm and, I think it's working, but I can't corroborate the numbers I'm seeing here. Actually, I match on the # of support vectors, but my Ein and Eout numbers are significantly different. For 0 vs. 7 with Q=2 and C=.01 I get 861 SVs but using Sign(svm_predict) and counting sign mismatches I get: Ein=.060 and Eout=.057 Looking at 2 vs 8 with C=.1 and Q=3, I get 721 SVs but errors are much worse: Ein=.67 Eout=.63 Since I'm getting the right number of support vectors, I think things are somewhat ok, but I'm perplexed regarding the results from svm_predict. One dumb question: I presume the right way to feed data into libsvm (using its data file reading capabilities) is to manually subset the data as well as to prep it for libsvm format. Is this correct? When processing 2 vs 8, for example, I'll generate a +1 for "2" data, a -1 for "8" data and then discard the rest. Is this the right approach?
Yes, you need to extract just the data for those two digits, and your outputs are as instructed in the assignment.

Since several alternative interfaces to LIBSVM have got similar results (I used the R interface through the e1071 package myself), you might consider trying a different interface, if there is one that you could use in limited time. Other than that, the combination of right looking support vector count and wrong looking errors (behaving spectacularly different in the two test runs) is difficult to explain by something you have done.

 chiraz 05-28-2013 05:29 AM

Re: on the right track?

I'm getting two possible cases (answers) for Q5. Randomisation did not help. Anyone have the same problem?

Not sure if there are any parameters to be tweaked that could help separate the cases...

 mluser 05-28-2013 06:49 AM

Re: on the right track?

Was able to verify my numbers thanks to the original post. Got exactly the same results using libsvm with octave :D

 Elroch 05-28-2013 07:40 AM

Re: on the right track?

Quote:
 Originally Posted by chiraz (Post 10970) I'm getting two possible cases (answers) for Q5. Randomisation did not help. Anyone have the same problem? Not sure if there are any parameters to be tweaked that could help separate the cases...
It's safe to say exactly one of (a) to (e) is correct, as otherwise the question would have been fixed by now. It is not the case that people are generally finding two of the answers to be correct. Checking your individual results should get you there.

[EDIT: checking posts on the previous page, around #17, might also be helpful]

 chiraz 05-28-2013 09:56 AM

Re: on the right track?

Thanks for the hint!

 chiraz 05-28-2013 10:02 AM

Re: on the right track?

so just what I thought: it boils down to interpreting "decreasing" as "strictly decreasing". C'mon, isn't that silly now

All times are GMT -7. The time now is 07:11 PM.