2

私はたくさんの資料を読んでサポートベクターマシン(SVM)を勉強しています。ただし、そのほとんどは、線形、多項式、RBF /ガウスなどのいくつかのカーネルを使用して入力2Dデータをマッピングすることにより、入力2Dデータを分類する方法に焦点を当てているようです。

私の最初の質問は、SVMが高次元(nD)入力データを処理できるかどうかです。

私が見つけたものによると、答えはイエスです!

私の理解が正しければ、nD入力データは

  1. ヒルベルト超空間で構築された場合、それらのデータは次のようになります
  2. いくつかのアプローチ(PCAなど)を使用して単純化し、2D平面に投影して結合します。
  3. カーネル法はそれを適切な形にマッピングすることができ、そのような線や曲線はそれを区別するグループに分けることができます。

これは、ほとんどのガイド/チュートリアルがステップ(3)に焦点を合わせていることを意味します。しかし、私がチェックしたツールボックスの中には、入力データが2Dより大きい場合にプロットできないものがあります。2Dに投影した後のデータはどのようにできますか?

データの予測がない場合、どのように分類できますか?

私の2番目の質問は:私の理解は正しいですか?

4

1 に答える 1

2

My first question is, does SVM can handle high-dimensional (n-D) input data?

はい。LIBSVMソフトウェアを使用するときにn>2500のデータを処理しました:http ://www.csie.ntu.edu.tw/~cjlin/libsvm/ 。線形カーネルとRBFカーネルを使用しました。

My second question is, does it correct my understanding?

ここであなたが何を意味するのか完全にはわかりませんので、あなたが最近言ったことについてコメントしようと思います。あなたの直感は一般的に正しいと思います。データはあるn次元空間で「構築」され、次元n-1の超平面を使用してデータを2つのグループに分類します。ただし、カーネル法を使用することにより、線形法を使用してこの情報を生成し、コンピューターのすべてのメモリを消費しないようにすることができます。

これをすでに見たかどうかはわかりませんが、見たことがない場合は、このペーパーの情報の一部に興味があるかもしれません:http: //pyml.sourceforge.net/doc/howto.pdf。私はあなたの考えに訴えるかもしれないテキストの一部をコピーして貼り付けました:

カーネル法は、内積のみを介してデータに依存するアルゴリズムです。この場合、内積は、高次元の特徴空間で内積を計算するカーネル関数に置き換えることができます。これには2つの利点があります。1つは、線形分類器用に設計されたメソッドを使用して非線形決定境界を生成できることです。第2に、カーネル関数を使用すると、ユーザーは、明確な固定次元のベクトル空間表現を持たないデータに分類子を適用できます。バイオインフォマティクスにおけるそのようなデータの代表的な例は、DNAまたはタンパク質のいずれかの配列、およびタンパク質の構造です。

また、あなたが参照している「ガイド」を説明できれば助かります。これまでに2次元平面にデータを投影する必要はなかったと思います。とにかく、とんでもない量の次元(または「機能」と呼ばれる)のデータに対してそうすることは意味がありません。 LIBSVM)。このようなデータを分類するには、選択したカーネルメソッドを使用するだけで十分です。

于 2012-07-16T16:29:07.940 に答える