私は SVM を勉強しており、python sklearn.svm.SVC を使用して svm を実装します。
私が知っているように、SVMの問題はQP(二次計画法)で表すことができるので、ここでは、sklearn svmでSVM QP問題を解決するためにどのQPソルバーが使用されているのか疑問に思っていました.
SMOか座標降下アルゴリズムだと思います。
sklearn svmで使用されている正確なアルゴリズムを教えてください
私は SVM を勉強しており、python sklearn.svm.SVC を使用して svm を実装します。
私が知っているように、SVMの問題はQP(二次計画法)で表すことができるので、ここでは、sklearn svmでSVM QP問題を解決するためにどのQPソルバーが使用されているのか疑問に思っていました.
SMOか座標降下アルゴリズムだと思います。
sklearn svmで使用されている正確なアルゴリズムを教えてください
過去には既製の QP ソルバーが使用されていましたが、現在は専用のコードが使用されています (はるかに高速で堅牢です)。これらのソルバーはもはや (一般的な) QP ソルバーではなく、この 1 つのユース ケース用に構築されています。
sklearn の SVC はlibsvm (証明) のラッパーです。
リンクが言うように:
バージョン 2.8 以降、この論文で提案されている SMO タイプのアルゴリズムを実装しています。
R.-E. ファン、P.-H. チェン、C.-J. リン。SVM をトレーニングするための 2 次情報を使用したワーキング セットの選択。機械学習研究のジャーナル 6、1889-1918、2005。
(論文へのリンク)