필터 지우기
필터 지우기

SVM - SVMTRAIN method SMO (error: No convergence achieved within maximum number of iterations)

조회 수: 4 (최근 30일)
Hello, I am using the method SMO for SVMTRAIN. When training the svm, the parameter MaxIter (set in default at 15000) is used to control the time needed to get convergence.
If convergence not reached before iteration number [MaxIter] then an error is lauched and svmtrain function stops.
the error lauched displays (error: No convergence achieved within maximum number of iterations).
I increased the parameter MaxIter to 100000 (=10^5) but still svmtrain crashes.
*HOW CAN I HANDLE THIS ERROR? INCREASING THE PARAMETER TO INFINITY IS IT A GOOD SOLUTION ?
BY REDUCING THE SAMPLE SIZE, IS IT GOING TO DECREASE THE COMPLEXITY OF THE CLASSIFICATION PROBLEM, AND HELP IT TO ACHIEVE CONVERGENCE FASTER ?*
thank you guys !
  댓글 수: 2
allline
allline 2013년 2월 25일
Here are some details: The SVMtrain function do not reach convergence when:
for MaxIter = 100.000; (10^5) boxconstraint = 1000; RBF_gamma = 0.1;
please be aware that when I set MaxIter = 1.000.000 (10^6) it works.
So, is there a consequence of increasing the MaxIter param to inf ?
Walter Roberson
Walter Roberson 2013년 2월 25일
If you set MaxIter to inf, how would you know whether at the end of that time, the calculation had converged or not ?

댓글을 달려면 로그인하십시오.

채택된 답변

Ilya
Ilya 2013년 2월 25일
You can do 3 things:
  1. Lower the box constraint.
  2. Increase tolkkt.
  3. Set kktviolationlevel to a positive value.
Any of these things should speed up convergence.
You can set MaxIter to Inf, but then be ready to spend a long time waiting till SMO converges.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by