diehl / Incremental-SVM-Learning-in-MATLAB

This MATLAB package implements the methods for exact incremental/decremental SVM learning, regularization parameter perturbation and kernel parameter perturbation presented in "SVM Incremental Learning, Adaptation, and Optimization" by Christopher Diehl and Gert Cauwenberghs.
72 stars 42 forks source link

Infinite loop #1

Closed dhruvmullick closed 7 years ago

dhruvmullick commented 7 years ago

Hi, While training an online SVM, for certain cases it goes into an inf loop. Particularly, p is never >=1 in that case. Can you suggest how I can fix this? Ignore the example altogether?

This problem arises only with svmtrain2, and not with svmtrain.

diehl commented 7 years ago

@dhruvmullick every issue I've seen over the years and heard about from other users invariably traces back to situations where the SVM solution is not unique. This arises when all of the examples are support vectors and are at bound, meaning their coefficients are equal to the regularization parameter C. That's the direction I'd take in investigating.

dhruvmullick commented 7 years ago

@diehl As a matter of fact when using svtrain, all the examples are categorised as error support vectors. This is probably because the dimensionality of X is 1024xn. I say this because on experimenting with the test example you provided, it turned out that when I repeated the features 512 times, to produce an X of size 1024x100, all 100 were categorised as Error support vectors.

diehl commented 7 years ago

@dhruvmullick bingo. that's exactly what I meant. when all the examples are at bound - i.e. they are support vectors and the coefficients on those support vectors equals C - the SV solution is not unique.

dhruvmullick commented 7 years ago

Ah. Okay. I figure I should focus on dimensionality reduction for this. Would you recommend anything else?