Why is fitcsvm not saving model convergence history?

My supervisor would like me to graph the objective function per iteration for my SVM model, and so I was trying to save convergence history.
According to the fitcsvm documentation, if you set 'Verbose' to 2 then convergence history will be found at Mdl.ConvergenceInfo.History
Yet this is not the case when using L1QP as the solver (it is found exactly there when using the SMO solver). This is especially strange as the actual per iteration information is still displayed in the Matlab console/command window, but after training the model there is no History struct under the ConvergenceInfo struct.

回答 (1 件)

Darshak
Darshak 2025 年 2 月 6 日

0 投票

Hi Vishesh,
It is correct that when we run “fitcsvm“ with “L1QP” as the solver and verbose 2 there is no convergence history generated, but the “L1QP” solver doesn’t actually work in an iterative manner. This will be due to the working of the algorithm for both the solvers, according to which -
“SMO” – This solver is iterative in nature, due to which we can have more detailed and iterative convergence history, through which we can track progress.
“L1QP” – The solver is based on solving a quadratic programming problem using optimization routines, which doesn’t involve iteration, so there isn’t any convergence history. Although using verbose we can see more details when we use this.
This is mentioned in the documentation of the “fitcsvm” function too, which can be found here:
I hope this helps with your question.

カテゴリ

ヘルプ センター および File Exchange で MATLAB についてさらに検索

製品

リリース

R2021a

質問済み:

2021 年 10 月 19 日

回答済み:

2025 年 2 月 6 日

Community Treasure Hunt

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

Start Hunting!

Translated by