1

SVMでのコストパラメータCの意味は何ですか?つまり、Cが大きい場合、「間違った分類を許容できない」という意味ですか?

また、実験で最適なパラメータを見つけるときに、範囲とステップサイズをどのように決定できますか?

ちなみに、どちらのパラメータが良いかを決める基準は何ですか?交差検定からのエラーの数またはSVMから取得するサポートベクターの数?

4

3 に答える 3

2

Cとは何ですか?

SVMトレーニングが解決する最適化問題には2つの用語があります。

  1. 「より単純な」重みに役立つ正則化用語
  2. 重みがトレーニングデータポイントを正しく分類することを保証する損失項。

Cは、用語に対するこれらの重要性のバランスです。Cが高い場合は、(2)に大きな重みを与え、Cが低い場合は、(1)に大きな重みを与えます。

正確な結果が必要な場合は、Cを本当に高く設定しないのはなぜですか?

用語(1)は、過剰適合を防ぎます(トレーニングデータの分類は非常に得意ですが、見えないテストデータの分類は非常に得意ではありません)

正確な結果が欲しいのですが、Cを本当に低く設定しないのはなぜですか?

項(2)は、トレーニングの最適化がトレーニングデータに注意を払うようにします。「単純な」(L2の意味での)重みだけでなく、トレーニングデータを正しく分類する単純な重みが必要です。

まとめ:

SVMのトレーニングは、2つの用語のバランスです。Cは、正則化項に対する損失項の相対的な重要性です。

于 2013-06-18T20:14:59.940 に答える
0

-Cは、分類エラー(スラック変数)をどのように許容できるかを意味します。より良いモデルを見つけるには、大きなしきい値を設定して交差検定を行う必要があると思います。

于 2013-06-18T20:03:37.857 に答える
0

このようにしてください。SVMのCパラメータは、誤差項のペナルティパラメータです。これは、アルゴリズムが満たす必要のある正しい分類の程度、またはSVMが満たす必要のある最適化の程度と見なすことができます。

Cの値が大きい場合、 SVMオプティマイザーが単一のポイントを誤分類する可能性はありません。はい、あなたが言ったように、SVMオプティマイザの許容範囲はCの値が高いほど高くなります。ただし、小さいCの場合、SVMオプティマイザーは、最高の超平面を満たすために、少なくともある程度の自由度が許可されます。

SVC(C=1.0, kernel='rbf', degree=3, gamma='auto') ->低耐性RBFカーネル

SVC(C=1000.0,kernel='linear',degree=3,gamma='auto')->高耐性線形カーネル

参照:http ://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC

于 2017-06-16T07:32:52.377 に答える