2016-08-25 4 views
-1

私はサポートベクターマシンに関する質問があります。 SVMには2つのラベルが必要ですか? 1つのラベルが存在し、そのラベルに基づいて予測が行われる可能性はありますか?たとえば、次のtestDataはtrainingDataには適合しないため、1というラベルは付けられませんが、他の任意の整数になります。ジレンマは、すべての値がユーザーの入力から得られているため、最悪のシナリオの値がわからないということです。SVMには2つのラベルが必要ですか?

int labels[3] = {1, 1, 1}; 
cv::Mat labelsMat(3, 1, CV_32S, labels); 

float trainingData[3][3] = { { 25, 191, 19 }, { 24, 186, 17}, { 25, 200, 19} }; 

float testData[3] = {70, 500, 100}; 
+0

SVMの背後にある理論を見ましたか?そうでない場合は、少なくともあなたがしようとしていることが意味をなさない理由を理解するためには、[SVMに関するWikipediaページ](https://en.wikipedia.org/wiki/Support_vector_machine)の紹介を少なくとも読んでおくことを強くお勧めします – Sunreef

+0

はい、しました。私のアプリケーションは、ユーザーから3つの入力を受け取り、いくつかの認証パターンを生成するので、入力データが異なるため、第三者が情報にアクセスすることができません。上記の3つのtrainingDataは成功例であり、testDataは第三者の入力です。 – aatalyk

+0

私はあなたが何をしようとしているのか理解しています。このためにSVMを使用することには基本的な問題があります。 testDataとtrainingDataのマッチングをどのように定義しますか? testDataがあなたの3つのポイントで定義された球に属していますか? testDataの3つの元々の点までの距離がある閾値よりも小さいのでしょうか?あなたの問題は根本的にあいまいです。 – Sunreef

答えて

0

SVMは分類方法です。 SVMを使用することにより、データを複数の部分に分けることができ、ラベルにはこれが必要です。 SVMを複数のラベルで訓練し、新しい入力でそれをテストする必要があります。

関連する問題