1

LIBSVM がどのように機能して多変量回帰を実行するかは、私の一般的な質問ですか? 詳細には、特定の数のリンクのデータがあります。(例 3 リンク)。各リンクには 3 つの従属変数があり、モデルで使用すると出力 Y が得られます。これらのリンクで一定間隔でデータを収集しています。

LinkId | var1 |  var2  | var3 | var4(OUTPUT)
   1   |  10  |  12.1  |  2.2 |  3
   2   |  11  |  11.2  |  2.3 |  3.1
   3   |  12  |  12.4  |  4.1 |  1
   1   |  13  |  11.8  |  2.2 |  4
   2   |  14  |  12.7  |  2.3 |  2
   3   |  15  |  10.7  |  4.1 |  6
   1   |  16  |  8.6   |  2.2 |  6.6
   2   |  17  |  14.2  |  2.3 |  4
   3   |  18  |  9.8   |  4.1 |  5

出力を見つけるために予測を実行する必要があります

(2,19,10.2,2.3). 

LIBSVMを使用してMatlabでトレーニングするために上記のデータを使用してそれを行うにはどうすればよいですか? モデルを作成するためにデータ全体を svmtrain への入力としてトレーニングできますか?それとも、各リンクを個別にトレーニングし、モデル作成を予測に使用する必要がありますか? 違いはありますか?注 : 同じ ID を持つ各リンクの値は同じであることに注意してください。

4

1 に答える 1

2

これは実際にはmatlabまたはlibsvm質問ではなく、一般的なsvm関連する質問です。

LIBSVM がどのように機能して多変量回帰を実行するかは、私の一般的な質問ですか?

LibSVM は単なるライブラリであり、特に、回帰タスク用のサポート ベクター回帰モデルを実装しています。簡単に言えば、線形の場合、SVR は、データ ポイントが周囲のマージンに配置されている超平面を見つけようとします (これは、可能な限り大きなマージンでデータを分離しようとする従来の SVM に対する非常に二重のアプローチです)。 .

ソース:kernelsvm.tripod.com/

非線形の場合、カーネル トリックが (SVM と同じ方法で) 使用されるため、依然として超平面を探しますが、特定のカーネルによって誘導される特徴空間で、入力空間で非線形回帰が発生します。 .

ここに画像の説明を入力

SVR の非常に優れた紹介がここにあります: http://alex.smola.org/papers/2003/SmoSch03b.pdf

LIBSVMを使用してMatlabでトレーニングするために上記のデータを使用してそれを行うにはどうすればよいですか? モデルを作成するために、データ全体を svmtrain への入力としてトレーニングできますか?それとも、各リンクを個別にトレーニングし、モデルの作成を予測に使用する必要がありますか? 違いはありますか?注 : 同じ ID を持つ各リンクの値は同じであることに注意してください。

SVRデータ全体を使用して (回帰問題であるため)トレーニングできますが、次のようになります。

  • とは同じ変数 ( )var3のようです。この場合は、列を削除する必要があります。LinkId1->2.2, 2->2.3, 3->4.1LinkId
  • var1一意の昇順の整数の値ですか? もしそうなら、これらもおそらく役に立たない機能です(情報を持っていないように見えるので、あなたのid数字のようです)、
  • SVMを適用する前にデータを前処理する必要があります。各列には[0,1]間隔からの値が含まれます。そうしないと、スケールのために、一部の機能が他の機能よりも重要になる場合があります。

ここで、リンクごとに個別のモデルを作成し、上記の手がかりに従う場合、1入力変数 ( var2) と1出力変数var4になるため、そのような手順はお勧めしません。一般的に、機能セットは非常に限られているようです。より有益な機能を収集することは価値があります

于 2013-08-15T05:34:26.543 に答える