2

非線形SVMのカーネルを理解する上でいくつか問題があります。最初に非線形SVMで理解したのは、カーネルを使用して、入力が非常に高次元の空間に変換され、変換された入力を線形超平面で分離できることです。

カーネルの例:RBF:

         K(x_i, x_j) = exp(-||x_i - x_j||^2/(2*sigma^2));

ここで、x_iとx_jは2つの入力です。ここでは、問題に適応するためにシグマを変更する必要があります。

       (1) Say if my input dimension is d, what will be the dimension of the 
           transformed space?

       (2) If the transformed space has a dimension of more than 10000 is it 
           effective to use a linear SVM there to separate the inputs?
4

3 に答える 3

2

通常、変換によってデータの次元数が増加しますが、必ずしも非常に多くなるわけではありません。場合によります。RBF カーネルは、最も一般的なカーネル関数の 1 つです。各データ ポイントの周りに「バンプ」を追加します。対応する特徴空間は、無限次元のヒルベルト空間です。

データの特定の背景を知らずに、10000 次元への変換が分類に有効かどうかを判断するのは困難です。ただし、問題に対して適切なマッピング (事前知識のエンコード + 関数クラスの適切な複雑さの取得) を選択すると、結果が向上します。

たとえば、手書き数字の MNIST データベースには、28x28 のバイナリ イメージを使用した 60,000 のトレーニング サンプルと 10,000 のテスト サンプルが含まれています。

  • 線形 SVM には ~8.5% のテスト エラーがあります。
  • 多項式 SVM には ~ 1% のテスト エラーがあります。
于 2012-10-22T22:24:20.080 に答える
2

まあ次元を上げればいいだけじゃない。これは一般的なメカニズムですが、アイデア全体ではありません。カーネル マッピングの唯一の目的が次元を増やすことである場合、すべてのカーネル関数は同等であると結論付けることができますが、そうではありません。

マッピングがどのように行われるかによって、新しい空間で直線的な分離が可能になります。あなたの例について話し、緑が言ったことを少し拡張するために、RBFカーネルは、活性化を生成するために入力ベクトルが既存の球に近い必要がある超球の観点から特徴空間を注文します。

したがって、質問に直接答えるには:

1) 特徴空間を直接操作しないことに注意してください。代わりに、最適化問題は特徴空間のベクトルの内積を使用して解決されるため、計算上、ベクトルの次元を増やすことはありません。

2)データの性質にもよりますが、高次元パターンを持つことはオーバーフィッティングを防ぐのに何らかの形で役立ちますが、必ずしも線形に分離できるとは限りません。繰り返しになりますが、新しい空間での線形分離可能性は、マップがより高い次元にあるという理由だけでなく、マップの作成方法によって達成されます。その意味で RBF は役に立ちますが、データがローカルに囲まれていない場合、一般化でうまく機能しない可能性があることに注意してください。

于 2012-10-23T12:38:59.347 に答える
1

あなたの質問は非常に自然なものであり、カーネル法について学んだほとんどすべての人がのいくつかの変形を尋ねています。ただし、ほとんどの非自明なカーネルには視覚化が非常に難しい特徴空間があるため、線形超平面が動作している暗黙の特徴空間の観点から、非線形カーネルで何が起こっているのかを理解しようとはしません。

代わりに、カーネルトリックの理解に焦点を合わせ、カーネルを入力空間に特定の形式の非線形決定境界を導入するものと考えてください。カーネルトリックと、それに慣れていない場合はかなり困難な数学のため、特定のプロパティを満たすカーネル関数は、ある特徴空間で動作していると見なすことができますが、その空間へのマッピングは実行されません。興味がある場合は、次の(かなり)アクセス可能なチュートリアルを読むことができます:ゼロから12ページ以下のカーネルヒルベルト空間の再現まで

また、スラック変数に関する定式化のため、超平面は点を正確に分離する必要がないことにも注意してください。インスタンスの誤分類に対するペナルティを含む最大化されている目的関数がありますが、結果の分類子のマージンがあれば、ある程度の誤分類は許容できます。ほとんどの場合、より良いです。基本的に、次のいくつかの基準に従って分類ルールを最適化しています。

  1. マージンの大きさ
  2. トレーニングセットのエラー

SVMの定式化により、これを効率的に解決できます。あるカーネルが優れているか別のカーネルが優れているかは、アプリケーションに大きく依存します(たとえば、テキスト分類やその他の言語処理の問題は、おそらく入力データの極端な次元のために、線形カーネルで日常的に最高のパフォーマンスを示します)。たくさん試して、どれが最も効果的かを確認することに代わるものはありません(そして、SVMハイパーパラメーターが適切に設定されていることを確認してください--- LibSVM作成者の1人によるこの講演には厄介な詳細があります)。

于 2012-10-24T14:51:09.357 に答える