カーネルメソッドの制限とカーネルメソッドをいつ使用するか。


10

カーネルメソッドは、多くの教師付き分類タスクで非常に効果的です。では、カーネルメソッドにはどのような制限があり、カーネルメソッドをいつ使用するのでしょうか。特に大規模データ時代において、カーネル手法の進歩は何ですか?カーネルメソッドと複数インスタンス学習の違いは何ですか?データが500x10000500サンプル数、および10000各特徴の次元である場合、この状況でカーネルメソッドを使用できますか?

回答:


16

カーネルメソッドは、監視ありおよび監視なしの問題に使用できます。よく知られている例は、それぞれサポートベクターマシンカーネルスペクトルクラスタリングです。

カーネルメソッドは、変換が通常非線形(およびより高次元の空間)である変換されたフィーチャ空間で線形アルゴリズムを使用する構造化された方法を提供します。このいわゆるカーネルトリックがもたらす主な利点は、合理的な計算コストで非線形パターンを見つけることができることです。

計算コストは​​妥当であるが、無視できないと述べたことに注意してください。カーネルメソッドは、通常、カーネルマトリックスし、はトレーニングインスタンスの数です。したがって、カーネルメソッドの複雑さは、入力次元の数ではなく、トレーニングインスタンスの数の関数です。たとえば、サポートベクターマシンはと間のトレーニングの複雑さを持っています。が非常に大きい問題の場合、この複雑さは現在非常に困難です。 N O N 2O N 3NKRN×NNO(N2)O(N3)N

これにより、次元数が多く、サンプル数が比較的少ない(たとえば、100万未満)場合に、計算の観点からカーネルメソッドが非常に興味深いものになります。

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

大規模問題のためのSVM

以下のために非常にのような高次元の問題、10000あなたは質問に言及寸法、より高次元の特徴空間にマッピングする必要がしばしばありません。入力スペースはすでに十分です。そのような問題の場合、線形法は桁違いに速く、ほぼ同じ予測性能です。これらの方法の例は、LIBLINEARまたはVowpal Wabbitにあります。

高次元の入力空間に多くのサンプルがある場合、線形法は特に興味深いものです。サンプル数がしかない場合、非線形カーネルメソッドを使用するとコストも低くなります(が小さいため)。たとえば、次元のサンプルがある場合、カーネルメソッドは実行不可能です。N 5.000.000 10.000500N5.000.00010.000

多くのトレーニングインスタンスを含む低次元の問題(いわゆるラージスモール問題)では、線形法では予測精度が低くなる可能性があります。このような問題に対して、EnsembleSVMなどのアンサンブルメソッドは、標準のSVMと比較して大幅に削減された計算コストで非線形の決定境界を提供します。pNp


詳細な回答に感謝します。高次元の状況で、RBFカーネルをで使用した場合libsvm、それは常に過剰適合であり、分類器はテストセットで高精度を実現しますが、低精度を実現します。そして、分類器の前に次元削減を行い、削減された次元がトレーニングサンプルの数に近い場合、分類器はトレーニングとテストセットの間で良い利益を達成する可能性があります。結果はほとんどの経験的結果に適合しますか?ありがとう。
マイニング

カーネルメソッドは、高い入力次元に対してかなり堅牢です。通常、使用する前に次元削減を実行する必要はありません。特にgammaRBFカーネルでは、すべてのパラメーターを調整することが非常に重要です。の最適値gammaは、入力次元の数に関連しています。最も一般的な調整アプローチは、相互検証です。gamma次元削減の有無にかかわらず同じ値を使用した場合、おそらく間違いを犯しています。
Marc Claesen、2013年

かしこまりました。私は通常、相互検証を行うためgrid.pylibsvmパッケージ内を使用します。また、ほとんどの状況では、高次元データの場合、このレベルのgammaように常に非常に小さい0.00001です。
マイニング

こんにちは、私はあなたのオープンソースプロジェクトをチェックしました。EnsembleSVMクロス検証手続きをマルチスレッド化する必要がありますか?そして、私は予測段階で、バッチとマルチスレッドまたはマルチマシンで巨大なデータを予測するのは良いことだと思いますか?
マイニング

EnsembleSVMではマルチスレッドの使用はオプションですが、esvm-trainおよびではデフォルトで有効になっていますesvm-predict。マルチスレッドを無効にするには、これらのツールで次のフラグを使用します-threads 1
Marc Claesen 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.