29

http://scikit-learn.org/stable/auto_examples/svm/plot_oneclass.html#example-svm-plot-oneclass-pyに示されている例に従っています。ここでは、異常検出に 1 クラス SVM が使用されています。さて、これはscikit-learn特有の表記かもしれませんが、OneClassSVMコンストラクターに与えられたパラメーターnuの使い方の説明が見つかりませんでした。

http://scikit-learn.org/stable/modules/svm.html#nusvcでは、パラメーター nu はパラメーター C (私がよく知っている正則化パラメーター) の再パラメーター化であると述べられていますが、そうではありませんその再パラメータ化を実行する方法については述べていません。

公式と直感の両方が高く評価されます。

ありがとう!

4

2 に答える 2

55

C の問題点と nu の導入

パラメータ C の問題は次のとおりです。

  1. 任意の正の値を取ることができる
  2. 直接的な解釈はありません。

したがって、正しく選択することは難しく、適切な値を見つけるために相互検証または直接実験に頼らなければなりません。

それに応じてSchölkopf等。新しい正則化パラメータ nu を取るように再定式化された SVM。このパラメーターは次のとおりです。

  1. 0 と 1 の間で制限されます
  2. 直接的な解釈がある

ニューの解釈

パラメーター nu は、トレーニング サンプルの総数に対するマージン エラーの割合の上限とサポート ベクターの割合の下限です。たとえば、0.05 に設定すると、トレーニング サンプルの最大 5% が誤分類されていることが保証されます (わずかなマージンを犠牲にして)。トレーニング サンプルの少なくとも 5% がサポート ベクターです。

C と nu の関係

C と nu の関係は、次の式によって決まります。

nu = A+B/C

A と B は、残念ながら計算が簡単ではない定数です。

結論

重要なメッセージは、C と nu SVM は分類能力に関して同等であるということです。nu に関する正則化は、C に比べて解釈が容易ですが、nu SVM は通常、最適化が難しく、ランタイムは、入力サンプル数を使用した C バリアントほどスケーリングしません。

詳細 (A と B の式を含む) は、次の場所にあります: Chang CC、Lin CJ - 「nu-support vector classifiers のトレーニング: 理論とアルゴリズム」

于 2013-03-24T13:27:51.130 に答える