svmtrain与fitcsvm相比

时间:2015-07-07 03:59:31

标签: matlab svm

在之前使用但现已弃用的svmtrain函数中,函数将停止并返回"无收敛错误"如果在一定次数的迭代后它无法成功训练svm。

但是,我注意到较新的fitcsvm返回时没有任何错误消息,即使没有达到收敛。是否有强迫sourcePath仅在svm成功训练时才返回,否则会抛出错误?

1 个答案:

答案 0 :(得分:2)

不,这不受支持。它在IterationLimit选项下的documentation of fitcsvm中说:

  

无论优化程序是否成功收敛,软件都会返回训练有素的分类器。

所以你必须手动抛出错误。之一:

SVMModel = fitcsvm(X,Y)
if not(SVMModel.ConvergenceInfo.Converged)
    error('SVM training did not reach convergence')
end

或者:

SVMModel = fitcsvm(X,Y)
assert(SVMModel.ConvergenceInfo.Converged, ...
       'SVM training did not reach convergence')