問題タブ [svm]
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.
data-mining - RBFKernel による SMO の最適化 (C およびガンマ)
サポート ベクター マシンで RBF カーネルを使用する場合、C と γ の 2 つのパラメーターがあります。1 つの問題に対してどの C と γ が最適かは事前にわかりません。したがって、何らかのモデル選択 (パラメータ検索) を行う必要があります。目標は、適切な (C;γ) を識別して、分類器が未知のデータ (つまり、テスト データ) を正確に予測できるようにすることです。
weka.classifiers.meta.GridSearch
パラメータのペアを調整するためのメタ分類子です。ただし、完了するまでに時間がかかるようです (データセットがかなり大きい場合)。このタスクを完了するのに必要な時間を短縮するために何をすることをお勧めしますか?
A User's Guide to Support Vector Machines によると:
C : ソフトマージン定数。C の値を小さくすると、境界に近い点を無視できるようになり、マージンが増加します。
γ> 0 は Gaussian の幅を制御するパラメータです
machine-learning - 悪い URL から良い URL を取り除く優れた機械学習手法
良い HTTP GET 要求と悪いものを区別する必要があるアプリケーションがあります。
1) SVM はこのタスクに適していますか? 2) 生の URL でトレーニングできますか? - 「機能」を明示的に指定せずに 3) 予測がうまくいくにはいくつの URL が必要ですか? 4) どの種類の SVM カーネルを使用すればよいですか? 5) トレーニング後、最新の状態に保つにはどうすればよいですか? 6) 目に見えない URL を再度 SVM でテストして、それが良いか悪いかを判断するにはどうすればよいですか? 私
machine-learning - SVM の逐次最小最適化の収束の問題
Support Vector Machine に取り組んでから約 2 か月が経ちました。私は自分で SVM をコーディングしました。SVM の最適化問題には、John Platt 博士による逐次最小最適化 (SMO) を使用しました。
現在、自分のデータセットに最適な C 値を見つけるためにグリッド検索を行うフェーズにいます。(私のプロジェクト アプリケーションの詳細とデータセットの詳細については、こちらを参照してくださいSVM 分類 - 各クラスの入力セットの最小数)
2^0 から 2^6 の範囲の C 値について、カスタム実装された SVM の精度を正常にチェックできました。しかし、現在、C> 128 の SMO の収束に関していくつかの問題があります。C=128 のアルファ値を見つけようとしたのと同様に、実際に収束してアルファ値を正常に与えるまでに長い時間がかかります。
SMO が収束するのにかかる時間は、C=100 で約 5 時間です。これは大きいと思います (SMO は高速であるはずなので)。精度は高いのですが? Cのより高い値の精度をテストできないからではなく、私は正しくねじ込まれています.
私は実際に SMO のすべてのパスで変更されたアルファの数を表示しており、10、13、8... アルファが連続的に変化しています。KKT 条件は収束を保証しますが、ここで何が起こっているのでしょうか?
実行時間は長くなりますが、私の実装は C<=100 に対して良好な精度で正常に動作することに注意してください。
この問題に関する情報を教えてください。
ありがとうと乾杯。
python - LibSVMを使用した平均/標準偏差ペアへの最も近い一致の計算
私はSVMを初めて使用し、Pythonインターフェイスを使用してlibsvmを使用して、平均値と標準偏差を含むサンプルを分類しようとしています。しかし、私は無意味な結果を得ています。
このタスクはSVMに不適切ですか、それともlibsvmの使用にエラーがありますか?以下は、私がテストに使用している単純なPythonスクリプトです。
ドメインはかなり単純なようです。2.5の平均がラベル1を意味することを知るように訓練されている場合、2.4の平均を見ると、最も可能性の高い分類としてラベル1を返すはずです。ただし、各カーネルの精度は0%です。どうしてこれなの?
いくつかの補足事項ですが、ターミナルでlibsvmによってダンプされたすべての冗長なトレーニング出力を非表示にする方法はありますか?libsvmのドキュメントとコードを検索しましたが、これをオフにする方法が見つかりません。
また、スパースデータセットのキーとして単純な文字列を使用したかったのです(例:{'mean':2.5、'stddev':3.5})。残念ながら、libsvmは整数のみをサポートしています。文字列の長整数表現(例:'mean' == 1109110110971110)を使用しようとしましたが、libsvmはこれらを通常の32ビット整数に切り捨てているようです。私が見る唯一の回避策は、各文字列を整数にマップする個別の「キー」ファイルを維持することです('mean' = 0、'stddev' = 1)。しかし、シリアル化された分類子と一緒に2番目のファイルを維持および永続化する必要があるため、明らかにそれは面倒です。誰かがもっと簡単な方法を見ていますか?
artificial-intelligence - LibSVM の公称属性
libsvm トレーニング ファイルを作成するとき、名義属性と数値属性をどのように区別しますか? 特定の公称属性を整数としてエンコードしようとしていますが、libsvm がそれらを数値として誤って解釈しないようにしたいと考えています。残念ながら、libsvm のサイトにはドキュメントがほとんどないようです。Pentaho のドキュメントは、libsvm がこの区別をしていることを暗示しているようですが、それがどのように行われているかはまだはっきりしていません。
matlab - MATLAB での SVM の可視化
Matlab で SVM トレーニングを実行したら、SVM 分類を視覚化するにはどうすればよいですか?
これまでのところ、SVM を次の方法でトレーニングしただけです。
machine-learning - 既製の差別的再ランキング ソフトウェア
Charniak NLP パーサー、Shen、Sarkar、および Och のパーサー、またはShen と Joshi の手法で使用されるような、識別的な再ランキング用の既存のソフトウェアはありますか? 解析の再ランキングに似た、自分の用途に簡単に適応できるものが欲しいです。
python - PyML.classifiers.multi.OneAgainstRest(SVM())オブジェクトを保存しますか?
PYMLを使用して、マルチクラス線形サポートベクターマシン(SVM)を構築しています。SVMをトレーニングした後、分類器を保存できるようにしたいと思います。これにより、以降の実行で、再トレーニングせずに分類器をすぐに使用できます。残念ながら、.save()関数はその分類子に実装されておらず、それを(標準のpickleとcPickleの両方で)pickleしようとすると、次のエラーメッセージが表示されます。
誰かがこれを回避する方法またはこの問題のない代替ライブラリを知っていますか?ありがとう。
編集/更新
私は現在、次のコードで分類子をトレーニングして保存しようとしています。
現在、ピクルスではなくPyML保存メカニズムを使用して保存していることに注意してください。また、トレーニング関数に「saveSpace=False」を渡していることに注意してください。ただし、まだエラーが発生しています。
ただし、saveSpace = Falseを渡しています...では、分類子を保存するにはどうすればよいですか?
PS
私がこれを使用しているプロジェクトはpyimgattrです。完全なテスト可能な例が必要な場合に備えて、プログラムは「./pyimgattr.pytrain」で実行されます...このエラーが発生します。また、バージョン情報に関する注意:
java - libsvmで最適なC/ガンマパラメータを見つける方法は?
多数の機能/属性(各アイテムあたり約5,800)を持つデータセットのマルチクラス分類にlibsvmを使用しています。現在使用しているデフォルトよりも、Cとガンマに適したパラメーターを選択したいと思います。
すでにeasy.pyを実行しようとしましたが、使用しているデータセットの場合、推定時間はほぼ永久になります(20、50、100、および200のデータサンプルでeasy.pyを実行し、予測される超線形回帰を取得しました何年もかかる私の必要なランタイム)。
デフォルトよりも優れたC値とガンマ値にすばやく到達する方法はありますか?違いがあれば、私はJavaライブラリを使用しています。
java - libsvmを使用してマルチクラス予測の確率を計算する方法は?
私はlibsvmを使用しており、ドキュメントは、出力分類の精度の信じられている確率を出力する方法があると私に信じさせます。これはそうですか?もしそうなら、誰かがコードでそれを行う方法の明確な例を提供できますか?
現在、私は次のようにJavaライブラリを使用しています