Why is fitcsvm not saving model convergence history?

7 ビュー (過去 30 日間)
Vishesh Sarin
Vishesh Sarin 2021 年 10 月 19 日
回答済み: Darshak 2025 年 2 月 6 日
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 日
Hi Vishesh,
It is correct that when we run fitcsvmwith 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.

カテゴリ

Help Center および File ExchangeManual Performance Optimization についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by