問題タブ [liblinear]

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 投票する
3 に答える
2128 参照

machine-learning - liblinear L1 と L2 ロジスティック回帰のパフォーマンスの違い

LIBLINEAR を使用して単純なロジスティック回帰分類器をトレーニングしています。特徴は 3 つだけで、ラベルはバイナリ 0-1 です。

サンプル入力ファイル:

ここで、「 L1 正則化ロジスティック回帰」である「-s 6」を使用すると、10 倍の交差検証の精度は約 70% になり、各反復は数秒以内に終了します。しかし、「-s 7」、つまり「L2 正則化ロジスティック回帰 (デュアル)」を使用すると、トレーニングの反復回数が 1000 回を超え、10 倍の精度は 60% しかありません。

この種の奇妙な行動を見た人はいますか?私の理解では、L1 と L2 の唯一の違いは、正則化項が abs(x) を使用するか pow(x, 2) を使用するかです。

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

scala - Liblinear を実行している Spark が JBLAS jar をロードできない

私は spark 1.4.0、hadoop 2.7.0、および JDK 7 を実行しています。ここに示されている Liblinear のサンプル コードを実行しようとしています。

liblinear jar は機能しますが、モデルのトレーニング時に JBLAS ライブラリが見つかりません。spark を起動するときに --jars オプションに JBLAS ライブラリを含めてみました。また、maven で jar をインストールしようとしました (ただし、私は maven と同様に spark の初心者でもあるので、おそらく間違っていたと付け加える必要があります)。

スローされる特定のエラーは次のとおりです。

この行を実行するとき:

ありがとう。

0 投票する
0 に答える
114 参照

svm - Liblinear の同じトレーニング データが異なるモデルを生成する

分類問題のモデルをトレーニングするために、Liblinear を使用しています。トレーニング データのサンプルの順序を変更すると、異なるモデルになる可能性があることに気付きました。これをテストするために、同じデータを異なる順序で含む 2 つの異なる liblinear 問題を作成しました。

これの理由は何ですか?これは回避できますか?

0 投票する
0 に答える
265 参照

svm - LIBSVM でのモデル ファイル サイズの削減

モデルのファイルサイズを小さくしたい。モデルファイルの重みの桁数を減らすことで、それを減らすことができますか? 私のモデル ファイル内のクラスの数は約 3800 で、機能の数は約 357000 です。モデル ファイルからの抜粋を次に示します。これらの重みの桁数を減らすことはできますか?

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

python - LIBLINEAR または LIBSVM を使用したカスタム SVM 最適化

PU 学習タスクがあり、この論文でそれを解決するための例外的なアルゴリズムのように見えるものを見つけました: https://www.cs.uic.edu/~liub/publications/ICDM-03.pdf

パート 5 で説明したように、「偏った」SVM の非標準的な定式化を実装したいと考えています。

これは、2 つのパラメーター C+ と C- を使用して、正のエラーと負のエラーに異なる重みを付けます。

この問題に既存の SVM ソルバーを使用して、レッグワークを促進するだけでなく、最適な時間の複雑さを確保することも考えました。これは、特徴空間とサンプル数の両方が非常に大きいためです (したがって、LIBLINEAR を使用したいのです)。

上記のようなカスタム損失関数を指定する方法はありますか?

助けてくれてありがとう。

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

c# - Accord.Net と Liblinear 変更クラスの重みを使用する

Liblinear 実装を使用して、分類 (任意のモデル) のために Accord.Net のクラスの重みを指定するにはどうすればよいですか。さらに、sciKit.Learn の実装と同様に、バランスの取れていないデータに使用できる自動バランスがあります。

前もって感謝します

0 投票する
0 に答える
115 参照

r - 異なるサンプルでトレーニングされた線形 SVM モデルの決定値は比較可能ですか?

私の質問が明確でない場合は、より具体的な例を挙げてみます。

線形 SVM モデルのコスト パラメーターに適合させるために、ak フォールド クロス検証を実行しています (R で LiblineaR パッケージを使用しています)。したがって、コスト値ごとに k 個のモデルがあり、それぞれが異なるが重複するデータセットのサンプルでトレーニングされます。次のステップは、トレーニング セット全体でモデルをトレーニングし、k フォールドのいずれにも含まれていない検証セット (標準) でテストすることです。

私が取り組んでいる問題では、偽陽性は偽陰性よりもコストがかかると考えられているため、k フォールドのそれぞれで、加重精度測定に基づいて決定しきい値を調整しています。私の質問は、k 個のモデルのそれぞれに対して決定しきい値が選択されたら、これらの決定しきい値の平均を取り、これを最終的なモデル出力に適用することは理にかなっていますか?

たとえば、コスト 1 が最適であることが判明し、コスト 1 でトレーニングされた k=4 モデルがあるとします。これら 4 つのモデルの調整された決定しきい値は 0.12、0.14、0.04、0.02 であり、平均は 0.08 です。次に、データセット全体でコスト 1 を使用してモデルをトレーニングする場合、決定しきい値として 0.08 を使用できますか?

それとも、異なるサンプルでトレーニングされたモデルからの決定値は比較できないのでしょうか? その場合、平均を取ることは無意味になりますか?

0 投票する
0 に答える
395 参照

scikit-learn - scikit Learn Linearsvc 信頼度

私は scikit-learn の LinearSVC SVM 実装を使用しており、マルチクラス予測を理解しようとしています。coef_ と intercept_ を見ると、超平面の重みを取得できます。たとえば、2 つの機能と 4 つのラベルを使用した学習問題では、次のようになります。

decision_function メソッドを使用すると、上記の関数に対応する値が得られます。しかし、ドキュメントによると

サンプルの信頼スコアは、そのサンプルから超平面までの符号付き距離です。

しかし、decision_function は符号付き距離を返さず、単に f() を返します。

より具体的に言うと、LinearSVC は定数 1 機能を使用してしきい値を表すという標準的なトリックを使用していると想定しています。(これは間違っているかもしれません。) 私の例の問題では、インスタンスが常に (1,x1,x2) の形式である 3 次元の特徴空間が得られます。他のしきい値項がないと仮定すると、アルゴリズムは、この 3 次元空間の原点を通る超平面 w=(w0, w1, w2) を学習します。これで、予測するポイントが得られました。これを z=(1,a,b) と呼びます。この点から超平面までの符号付き距離 (マージン) はいくらか。それは単なる dot(w,z)/2norm(w) です。LinearSVC コードは dot(w,z) を返しています

ありがとう、クリス