SVM TRAIN - WARNING ABOUT SINGULAR MATRIX

3 views (last 30 days)
Hello, I am using SVMTRAIN and sometimes it gives me this warning:
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 5.646367e-131.
What can I do to fix this ? is it really bad if I keep my algo this way ?
thank you
  2 Comments
Ilya
Ilya on 1 Mar 2013
What method are you using, QP or LS?
allline
allline on 3 Mar 2013
Edited: allline on 3 Mar 2013
Hi, I am using LS. and I noticed that I have always the warning this problem when the box_constraint is SUPER small (C = 10^-10).
I get the warning not really often for much higher box_constraint.
PS: in order to select the best box constraint, I train and test different SVM with
box_constraint = 10^.[-10 : 1: 10] = [10^-10, 10^-9, ... ,10^10]

Sign in to comment.

Accepted Answer

Ilya
Ilya on 4 Mar 2013
This warning is thrown by the backslash operator \ when it solves the linear system based on the kernel matrix. You don't need to fix this. You just need to keep in mind that the solution (alphas) in this case is not unique because the matrix is singular. If you'd like to learn more, search Answers or the newsgroup for posts comparing the backslash operator and pinv. If the obtained SVM model is accurate, as measured by cross-validation or using independent test data, use it.

More Answers (1)

Walter Roberson
Walter Roberson on 1 Mar 2013
An rcond that low is pretty much saying that the matrix is singular for numeric purposes. Your results are likely to be quite wrong.
  2 Comments
allline
allline on 1 Mar 2013
Edited: allline on 1 Mar 2013
Ok, thanks for your answer. Could you tell me how to fix it? Is it about my input data ?
Walter Roberson
Walter Roberson on 1 Mar 2013
Sorry I am not familiar with the requirements for input to svmtrain()

Sign in to comment.

Categories

Find more on Descriptive Statistics in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!