web-dev-qa-db-ja.com

MatlabのSVM:関数fitcsvmのパラメーター「ボックス制約」の意味

私はMatlabのSVMを初めて使用するので、少し助けが必要です。

StatisticsToolboxの組み込み関数fitcsvmを使用してサポートベクターマシンをトレーニングしたいと思います。もちろん、SVMのトレーニング方法を制御する多くのパラメーターの選択肢があります。

Matlabのヘルプは、パラメーターがより良いトレーニング結果をアーカイブする方法についてのちょっとした賃金です。特に、パラメーター 'Box Contraint'は、選択されたサポートベクターの数と一般化の品質に重要な影響を与えるようです。

ヘルプ( http://de.mathworks.com/help/stats/fitcsvm.html#bt8v_z4-1 )は言う

マージン違反の観測に課せられる最大ペナルティを制御し、過剰適合(正則化)の防止に役立つパラメーター。

ボックス制約を増やすと、SVM分類器が割り当てるサポートベクターは少なくなります。ただし、ボックスの制約を増やすと、トレーニング時間が長くなる可能性があります。

このパラメータはどの程度正確に使用されていますか? ウィキペディア リファレンスのソフトマージンファクターCと同じですか、それとも似ていますか?それともまったく違うものですか?

ご協力いただきありがとうございます。

13
cahilx

あなたは間違いなく正しい道を進んでいました。 fitcsvmのドキュメント(質問に投稿したとおり)の説明は非常に短いですが、MATLABドキュメントの サポートベクターマシンについて サイトを参照する必要があります。

分離不可能なケース(しばしばソフトマージンSVMと呼ばれる)では、ペナルティ係数Cを犠牲にして、誤分類を許可します。 SVMの数学的定式化は次のようになります。

SVM Minimization Problem

スラック変数s_iを使用すると、Cで重み付けされたペナルティ項が発生します。 Cを大きくすると、誤分類の重みが大きくなり、より厳密な分離につながります。この係数Cボックス制約と呼ばれます。この名前の理由は、二重最適化問題の定式化では、ラグランジュ乗数が[0,C]の範囲内に制限されているためです。したがって、Cは、ラグランジュ乗数にボックス制約を課します。

tl; drあなたの推測は正しかった、それはソフトマージンSVMのCです。

17
hbaderts