サポートベクターマシン用の線形カーネルと非線形カーネル?


45

サポートベクターマシンを使用する場合、RBFのような線形カーネルと非線形カーネルの選択に関するガイドラインはありますか?特徴の数が多くなると、非線形カーネルはうまく機能しない傾向があると聞いたことがあります。この問題に関する参照はありますか?


1
私の知恵では、これは目前の問題に基づいており、実際にそのようなつまみを使用するのは危険です。
htrahdis

回答:


66

通常、決定は線形カーネルまたはRBF(別名ガウス)カーネルのどちらを使用するかです。考慮すべき2つの主な要因があります。

  1. 線形カーネルの最適化問題の解決ははるかに高速です。たとえば、LIBLINEARを参照してください。
  2. 一般的に、可能な限り最良の予測パフォーマンスは、非線形カーネルの方が優れています(または少なくとも線形カーネルと同等)。

線形カーネルはRBFの縮退バージョンであることが示されているため、線形カーネルは適切に調整されたRBFカーネルよりも正確ではありません。リンクした論文の要約を引用:

分析では、ガウスカーネルを使用した完全なモデル選択が行われた場合、線形SVMを考慮する必要がないことも示されています。

基本的な経験則は、ベクトル分類をサポートするための NTUの実用ガイドで簡単に説明されています(付録C)。

フィーチャの数が多い場合、データをより高次元の空間にマップする必要はありません。つまり、非線形マッピングはパフォーマンスを改善しません。線形カーネルを使用するだけで十分であり、パラメーターCのみを検索します。

あなたの結論は多かれ少なかれ正しいですが、あなたは後方に議論を持っています。実際には、線形カーネルは、特徴の数が多い場合に非常にうまく機能する傾向があります(たとえば、さらに高い次元の特徴空間にマッピングする必要はありません)。この典型的な例は、入力空間に数千の次元があるドキュメント分類です。

これらの場合、非線形カーネルは必ずしも線形カーネルよりも大幅に正確ではありません。これは基本的に、非線形カーネルの魅力が失われることを意味します。予測パフォーマンスをほとんどまたはまったく向上させずにトレーニングするために、より多くのリソースが必要です。

TL; DR

トレーニングはより高速であるため(ANDテスト)、常に最初に線形を試します。精度が十分であれば、よくやった仕事のために背中を軽くたたいて、次の問題に進みます。そうでない場合は、非線形カーネルを試してください。


1
:私は、カーネルトリックのために、この説明していstats.stackexchange.com/questions/131138/...

37

Andrew Ngが14:46から始まるこのビデオで大まかな説明をしいますが、ビデオ全体を見る価値はあります。

キーポイント

  • 特徴の数が観測の数よりも大きい場合、線形カーネルを使用します。
  • 観測数が特徴数よりも大きい場合は、ガウスカーネルを使用します。
  • 観測数が50,000を超える場合、ガウスカーネルを使用するときに速度が問題になる可能性があります。したがって、線形カーネルを使用することをお勧めします。

合意……
datmannz

1
リンクは死んでいます:これは同じビデオだと思います:youtube.com/watch
v
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.