問題タブ [libsvm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
999 参照

python - Pymlで取得した分類器の使い方

私は Python の PyML の新しいユーザーです。チュートリアルを使用して、次のことを行いました。

結果セットを取得しましたが、rこの結果セットを使用して Python でまったく新しいインスタンスを分類する方法がわかりません。より経験豊富な人が私を助けることができますか? 任意の提案をいただければ幸いです。

ありがとう。

0 投票する
1 に答える
891 参照

scale - svmlib のスケーリングと pyml の正規化、スケーリング、および変換

線形カーネル SVM で使用するために特徴ベクトルを正規化する適切な方法は何ですか?

LIBSVM を見ると、各機能を単一の標準的な上限/下限の範囲に再スケーリングするだけで完了しているように見えます。ただし、PyML がこの方法でデータをスケーリングする方法を提供しているようには見えません。代わりに、ベクトルを長さで正規化し、標準偏差で再スケーリングしながら各特徴値を平均でシフトするオプションがあります。

いくつかの数値を除いて、ほとんどの機能がバイナリである場合を扱っています。

0 投票する
1 に答える
1227 参照

opencv - CvSVM に関する質問

opencv CvSVM の使用に関するいくつかの質問

  1. どのようなsvmを使用していますか? svmlightを使用していますか?OpenCV2.2 には svmlight がありますが、それへの参照があまり見つかりません。

  2. CvSVM を使用している場合、80% のトレーニング データと 20% のテスト データを手動で作成し、5 倍の再検証を繰り返してより良い出力を得る必要がありますか?

  3. 私は HOG を使用して検出器を作成しており、パッケージ内の opencv サンプル歩行者検出器に厳密に従っています。歩行者以外のオブジェクトを検出するには、分類器を学習する必要があります。任意の提案をいただければ幸いです。

ありがとう!

0 投票する
5 に答える
5200 参照

machine-learning - java libsvm で xor 問題に対して svm_predict と svm_predict_probability が異なる結果をもたらすのはなぜですか?

libsvm の RBF カーネルを使用して学習したい単純な xor 問題があります。次のような XOR 問題を使用して Java libsvm をトレーニングすると:

テスト ベクトル (0,0) を分類した結果は、svm.svm_predict を使用すると -1 になりますが、svm.svm_predict_probability を使用すると +1 になります。返される確率も逆になります。私が使用するコードと結果は以下のとおりです。ここで私が間違っていることを誰かに教えてもらえますか?

- - - - - 結果 - - - - - - -

明らかに、結果は完全に反対です。これは、テストとして選択したすべての例で発生するようです。

誰かがこれに光を当てることができますか? 前もって感謝します

0 投票する
2 に答える
5473 参照

machine-learning - テキスト分類に libsvm を使用するには?

SVM を使用してスパム フィルタ プログラムを作成したいと考えており、ツールとして libsvm を選択しました。
私は 1000 通の良いメールと 1000 通のスパムメールを受け取り、それらを次のように分類し
まし

:

libsvm には次のような形式が必要であることを知りました。

1 1:3 2:1 3:0
2 1:3 2:3 3:1
1 1:7 3:9

その入力として。1, 2, 1 がラベルであることは知っていますが、1:3 とはどういう意味ですか?
持っているものをこの形式に転送するにはどうすればよいですか?

0 投票する
2 に答える
3808 参照

statistics - 分類スコア: SVM

マルチクラス分類に libsvm を使用しています。分類スコアを添付して、分類の信頼性を特定のサンプルの出力と比較するにはどうすればよいですか。

0 投票する
2 に答える
1958 参照

java - Java-ML(LibSVM) クラスの確率を取得するにはどうすればよいですか?

マルチクラス問題で SVM アルゴリズムを実行するために、Java-ML(LibSVM) を使用しています。

classDistributtion()標準ベクトルを返します (つまり、すべての値は 0 ですが、1 に等しい値が 1 つあります)。

java-ml - http://java-ml.sourceforge.net/

0 投票する
2 に答える
1200 参照

libsvm - SVMの厳密なクラスラベル

私はone-vs-allを使用して21-classsvm分類を行っています。

各カーネルについて、ラベルが「このクラスにない」-1を意味し、ラベルが「実際にこのクラスにある」を意味するようにします。121

この標準を使用して、事前に計算されたカーネルとテストベクトルを生成しました。

すべてを使用することはクラスのeasy.pyすべてでうまくいきました20が、そのうちの1つでは、クラスに含まれるためにラベル付けされているはずのすべての入力にラベルが付けられるように、またその逆になるようにラベルが切り替えられまし1-1

そのクラスの違いは、事前に計算され1たカーネルの最初のベクトルにラベルが付けられていたのに対し、他のすべてのカーネルでは最初のベクトルにラベルが付けられていたこと-1です。これは、LibSVMが私のすべてのベクターにラベルを付け直すことを示唆しています。

これを防ぐ方法やそれを回避する簡単な方法はありますか?

0 投票する
2 に答える
5291 参照

artificial-intelligence - ヘルプ -- LibSVM で 100% の精度?

名目上は良い問題ですが、何かおかしいことが起こっているからだと確信しています...

コンテキストとして、私は顔の表情/認識空間の問題に取り組んでいるので、100% の精度を得ることは信じられないほど信じられないようです (ほとんどのアプリケーションでもっともらしいというわけではありません...)。データセットには一貫したバイアスがあり、SVM が答えを引き出すのを非常に簡単にしている、= または = のいずれかだと思います。おそらく、SVM 側で何か間違ったことをしたのでしょう。

何が起こっているのかを理解するのに役立つ提案を探しています-それは私ですか(=私のLibSVMの使用法)? それともデータですか?

詳細:

  • 約 2500 個のラベル付きデータ ベクトル/インスタンス (変換された個人のビデオ フレーム -- 合計 20 人未満)、バイナリ分類問題。~900 機能/インスタンス。約 1:4 の比率で設定された不均衡なデータ。
  • subset.py を実行して、データをテスト (500 インスタンス) とトレーニング (残り) に分けました。
  • 「svm-train -t 0」を実行しました。(注:明らかに「-w1 1 -w-1 4」は必要ありません...)
  • テスト ファイルに対して svm-predict を実行しました。精度=100%!

試したこと:

  • 不注意なコマンドライン引数エラーにより、同じデータファイルでトレーニングとテストを行っていないことを約10回確認しました
  • Subset.py を (-s 1 を使用しても) 何度も再実行し、複数の異なるデータ セットのみをトレーニング/テストしました (最も魔法のようなトレーニング/テスト PA をランダムに実行した場合)
  • テストファイルがトレーニングデータのサブセットではないことを確認するために、単純な差分のようなチェックを実行しました
  • データの svm-scale は精度に影響しません (accuracy=100%)。(ただし、サポート ベクターの数は nSV=127、bSV=64 から nBSV=72、bSV=0 に減少します。)
  • ((奇妙)) デフォルトの RBF カーネル (逆線形 -- つまり、'-t 0' を削除) を使用すると、精度がガベージ (?!) になります
  • (サニティ チェック) スケーリングされたデータ セットでトレーニングされたモデルをスケーリングされていないデータ セットに対して使用して svm-predict を実行すると、精度 = 80% になります (つまり、常に支配的なクラスを推測します)。これは厳密には、私のマシンで svm-predict が名目上正しく動作していることを確認するための健全性チェックです。

暫定的な結論?:

データの何かがおかしくなっています。どういうわけか、データ セット内に、SVM が検出している微妙な実験者主導の効果があります。

(しかし、これは最初のパスで、RBF カーネルがガベージ結果を返す理由を説明しません。)

a) LibSVM の使用法を修正する方法 (それが実際に問題である場合) または b) LibSVM が拾っているデータの微妙な実験バイアスを判断する方法についての提案をいただければ幸いです。

0 投票する
2 に答える
3605 参照

matlab - libsvm (matlab) で事前計算された chi2 カーネルを使用すると悪い結果が生じる

libsvm を試しています。ソフトウェアに付属の heart_scale データで svm をトレーニングする例に従います。自分で事前計算した chi2 カーネルを使用したい。トレーニング データの分類率は 24% に低下します。カーネルを正しく計算していると確信していますが、何か間違ったことをしているに違いないと思います。コードは以下です。間違いが見られますか?助けていただければ幸いです。

これは、カーネルが事前計算される方法です。

別の svm 実装 (vlfeat) を使用すると、トレーニング データの分類率が約 90% になりました (はい、何が起こっているかを確認するためにトレーニング データをテストしました)。したがって、libsvm の結果が間違っていると確信しています。