Check the current quality of a training while trainning a SVM with a SMO

130 views
Skip to first unread message

Ben Hur Bahia do Nascimento

unread,
Oct 29, 2014, 1:57:08 PM10/29/14
to accor...@googlegroups.com
Hi, I want to know if there is a way to know, by an event, the current accuracy of the SMO learning algorithm.
For example, I can use the SubproblemFinished event to know how much of the trainning is done, but I can't get the current accuracy of the algorithm.

I need this for example, when the trainning is at 50% and the current accuracy is 95%, and that result is good for me, I can stop the trainning and use this result.

With regards.

César

unread,
Oct 30, 2014, 4:41:40 PM10/30/14
to accor...@googlegroups.com
Hi there,

First and foremost, thanks for the interest in the framework!

Now, regarding the question, one problem with this request is that the SMO algorithm is not an iterative algorithm in the sense it approaches a better answer after every iteration. The SMO learning is a constrained quadratic learning problem, and as such, it may either finish with an optimal answer (within the desired criteria) or it fails. In this case, what you could do to achieve a perhaps similar behavior would be to increase the "Tolerance" parameter of the SMO object to a higher value. Increasing this value may cause the learning to stop earlier, but with a less precise answer.

In any case, I will also be adding an issue in the issue tracker for adding more ways to check the performance of the SVM learners while they are being trained, so it can be included in the next framework release. Thanks for the suggestion!

Hope it helps!

Best regards,
Cesar

donak...@gmail.com

unread,
Feb 7, 2016, 8:15:28 AM2/7/16
to Accord.NET Framework
Reply all
Reply to author
Forward
0 new messages