問題タブ [vowpalwabbit]

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 に答える
99 参照

svm - vowpal_wabbit トレーニング データ

トレーニング データとテスト データの vowpal_wabbit データ構造を理解しようとしていますが、理解できないようです。

私はいくつかのトレーニングデータを持っています。

機能 1: 0 機能 2: 1 機能 3: 10 機能 4: 5 クラス ラベル: A

機能 1: 0 機能 2: 2 機能 3: 30 機能 4: 8 クラス ラベル: C

機能 1: 2 機能 2: 10 機能 3: 9 機能 4: 7 クラス ラベル: B

このウェブサイトに基づいて、いくつかのトレーニング データの例を調べました。

http://hunch.net/~vw/validate.html

私の検証データ

ただし、それぞれ 4 つと 5 つの機能があると主張する理由がわかりません。

検証:

検証フィードバック

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

vowpalwabbit - コンテキスト バンディット モードで -a (監査) オプションを使用して vw 出力を解釈するにはどうすればよいですか?

アクション変数のみが異なる2つの異なるセットに対して、コンテキストバンディットアプローチを実行しています。モデルを構築する 1 つのセット (klaster3.model) には 6 つの異なるアクション タイプがあり、モデルも構築するもう 1 つのセット (klaster8.model) には 7 つの異なるアクション タイプがあります。

head testLabels -n 1 | vw -i klaster8.model -t -p /dev/stdout --quiet コマンドラインで そのような行を実行すると 5.000000 Mloda_kobieta 、そのコンテキストのポリシーから選択されたアクションのように見えます。

しかし、-a(audit) オプションを使用して同じコードを試すと、次のような出力が表示されます。

0.943965 Mloda_kobieta Constant:142055:1:0.50745 ^K:136407:1:0.236886 ^Young:101199:1:0.199628 0.994175 Mloda_kobieta Constant:142056:1:0.488827 ^K:136408:1:0.281023 ^Young:101200:1:0.224326 0.948740 Mloda_kobieta Constant:142057:1:0.482498 ^K:136409:1:0.2568 ^Young:101201:1:0.209442 0.979921 Mloda_kobieta Constant:142058:1:0.497253 ^K:136410:1:0.241421 ^Young:101202:1:0.241247 0.910945 Mloda_kobieta Constant:142059:1:0.506602 ^K:136411:1:0.208468 ^Young:101203:1:0.195875 1.004143 Mloda_kobieta Constant:142060:1:0.49813 ^K:136412:1:0.280554 ^Young:101204:1:0.225459 0.934807 Mloda_kobieta Constant:142061:1:0.494118 ^K:136413:1:0.240735 ^Young:101205:1:0.199954 0.953710 Mloda_kobieta Constant:142048:1:0.582269 ^K:136400:1:0.213502 ^Young:101192:1:0.15794 0.994442 Mloda_kobieta Constant:142049:1:0.526175 ^K:136401:1:0.243671 ^Young:101193:1:0.224595 0.944228 Mloda_kobieta Constant:142050:1:0.504455 ^K:136402:1:0.22308 ^Young:101194:1:0.216693 0.979964 Mloda_kobieta Constant:142051:1:0.521737 ^K:136403:1:0.233687 ^Young:101195:1:0.22454 0.907704 Mloda_kobieta Constant:142052:1:0.547686 ^Young:101196:1:0.186401 ^K:136404:1:0.173617 1.004132 Mloda_kobieta Constant:142053:1:0.549014 ^K:136405:1:0.247787 ^Young:101197:1:0.207331 0.937724 Mloda_kobieta Constant:142054:1:0.525254 ^K:136406:1:0.236784 ^Young:101198:1:0.175686 5.000000 Mloda_kobieta

これは、このコンテキストのアクションの何らかのスコアリングのように見えます。私の意見では、スコアリングが最も少ないアクションを選択する必要があります (これは、この例ではアクション 5 です)。このデータセットには7つの異なるacionタイプしかないのに、なぜ14行あるのだろうか? そして、6 つの異なるアクション タイプがあるのに、なぜ 12 行を受け取るのでしょうか。number_of_different_acion_types*2 のように見えます。私の場合、説明変数は年齢と性別の 2 つだけです。

質問は次のとおりです。

1) 監査 (-a) を使用した出力の行数は次の式に対応していますか: number_of_different_acion_types*number_of_explanatory_variables

2) はいの場合、最初の 7 行 (その例では) は最初の変数に対応し、他の 7 行は 2 番目の変数に対応しますか?

3) 出力の順序を知る方法は? どの変数が 1 番目として処理され、どの変数が 2 番目として処理されますか? 入力データセットの列の順序に対応していますか?

4) 最初の 7 行が 1 番目の変数のコスト係数に対応し、他の 7 行が 2 番目の変数のコスト係数に対応する場合、出力ポリシーはこれらの係数の合計が最小のアーム/アクションを選択しますか? (2 つの変数があるため、各アクションには 2 つの係数があります)。

出力の順序が入力の列の順序に対応している疑いがありますが、よくわかりません。

ご回答ありがとうございます。

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

text - テキスト特徴のエンコード規則

VW を使用してこれらのデータをトレーニングしたいと思います。

-1 | 単語1 単語2

1 | 単語1 単語3 単語1

...など

ご覧のとおり、2 番目の例では「word1」が 2 回繰り返されています。

VW のドキュメントによると、VW のデフォルトの動作は、各トークンに「:1」を自動的に追加することです。たとえば、最初の例では次のようになります。

-1 | ワード 1:1 ワード 2:1

私の質問は: 2 番目の例で何をしなければなりませんか?

  • オプション #1: 次のように変換します。

1 | ワード1:2 ワード3

  • オプション #2: 「そのまま」のままにします。

1 | 単語1 単語3 単語1

(この場合、多少の衝突は発生すると思います)

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

bash - 「docker run daemon」で起動したデーモンが動作しない

このコマンドを実行すると、リッスンしているデーモンはありません。私が走るとき

プロセスはありませんが、docker container bash に移動して実行すると

リッスンしているデーモンがあり、docker ps でも表示されます。何か案は?

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

bash - 読めるようにデーモンのオプション出力を送信する場所

私のデーモンにはオプションがあります

デーモンはポート 26542 でリッスンしており、同じポートに書き込みます。追加のデータを 26542 にも出力したいので、使用してみました

うまくいかないとき

接続が拒否されます。私が使用するデーモン: vowpal_wabbit、機械学習ライブラリ。何かアイデアはありますか?

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

vowpalwabbit - Vowpal Wabbit の読み取り可能なモデルの重みの解釈

最近、分類に Vowpal Wabbit を使用していますが、readable_model について質問があります。

これが私のコマンドです: vw --quiet --save_resume --compressed aeroplane.txt.gzip --loss_function=hinge --readable_model aeroplane.txt

そして、以下のような読み取り可能なモデル ファイル:

各例に 1024 の機能があり、i 機能の機能名として i-1 を使用します。私の質問は次のとおりです。各フィーチャに対して 3 つの重みを取得するのはなぜですか? 重さは1つだけじゃないの?私はMLの初心者で、かなり混乱しています。

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

machine-learning - Vowpal Wabbit の出力の解釈

基本的なユニグラム機能を使用して、バイナリ感情分類 (正と負) に Vowpal Wabbit を使用しています。これは私の列車の機能がどのように見えるかです:

各行はラベルで始まり、語彙内の単語の一連のインデックスが続きます。これらの機能のデフォルト値は 1 です。

このコマンドを使用してトレーニングします。

これは、テストに使用するコマンドです。

出力ファイル test.pred は次のようになります。

値の範囲は -0.114076 ~ 28.641335 です。値がしきい値、たとえば 14 より大きい場合は正であり、それ以外の場合は負であるというルールを使用すると、51% の精度と 40.7% の f 値が得られます。

しかし、私がフォローしている論文では、このデータセットで 81% の精度が報告されています。したがって、実装または結果の解釈において、私が行っていることは間違いありません。私はそれが何であるかを理解することができません。

編集: テスト コマンドで --binary オプションを使用したところ、{-1,+1} というラベルが付けられました。評価した結果、精度は 51.25%、f 値は 34.88% でした。

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

image - Vowpal Wabbit モデルは、ピクセル RGB 値を使用した画像のマルチクラス分類でうまく機能しません

マルチクラスの画像を分類するために Vowpal Wabbit を使用しています。私のデータ セットはhttp://www.cs.toronto.edu/~kriz/cifar.htmlに似ており、3000 のトレーニング サンプルと 500 のテスト サンプルで構成されています。特徴量は 32*32 画像の RGB 値です。Vowpal Wabbit ロジスティック損失関数を使用して、100 回の反復でモデルをトレーニングしました。トレーニング プロセス中の平均損失は 0.02 未満です (この数値はかなり良いと思いますよね?)。次に、出力モデルを使用してトレーニング セットのラベルを予測し、予測が非常に悪いことがわかりました。それらのほぼすべてがカテゴリ 6 です。何が起こったのか本当にわかりません。トレーニング プロセス中は予測がほとんど正しいように思えますが、モデルで予測した後、突然すべて 6 になります。

これは機能のサンプル行です。

1 | 211 174 171 165 161 161 162 163 163 163 163 163 163 163 163 162 161 162 163 163 163 163 164 165 168 168 167 168 163 160 187 153 102 96 90 89 90 91 91 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92 91 90 90 90 90 90 91 92 94 95 96 99 97 97 98 127 111 71 71 71 64 66 68 69 69 69 69 69 69 69 70 70 69 69 70 71 71 69 68 68 68 68 68 68 70 72 73 75 78 78 81 96 111 69 69 68 61 64 67 67 67 67 67 67 67 68 67 67 66 67 67 68 68 68 67 66 66 67 69 69 69 69 69 71 77 89 116 74 76 71 71 72 74 74 72 73 74 74 74 74 74 74 74 72 72 74 74 76 76 76 76 75 55 74 74 74 73 73 72 73 74 85 92 123 83 86 83 82 83 83 82 83 83 82 82 82 82 82 82 81 80 82 85 85 84 83 83 85 85 85 85 85 85 86 95 127 92 93 93 93 92 91 91 91 91 91 91 90 89 89 86 86 86 86 87 89 89 88 88 88 88 92 92 93 98 100 96 98 96 132 99 101 98 98 97 95 93 93 93 93 93 95 95 96 97 95 96 96 96 96 94 100 103 98 93 98 93 95 100 105 103 103 96 139 106 108

これが私のトレーニングスクリプトです:

./vw train.vw --oaa 6 --passes 100 --loss_function logistic -c --holdout_off -f image_classification.model

これが私の予測スクリプトです(トレーニングデータセット上):

./vw -i image_classification.model -t train.vw -p train.predict --quiet

トレーニング中の統計は次のとおりです。

final_regressor = image_classification.model 重みビット数 = 18 学習率 = 0.5 initial_t = 0 power_t = 0.5 減衰学習率 = 1 cache_file を使用 = train.vw.cache テキスト入力を無視し、キャッシュ入力を優先 num sources = 1 例以降の平均
例 現在 現在 現在 現在 現在最後の損失カウンター
重量ラベル予測機能0.000000 0.000000 1 1.0 1 1 3073 0.0000000.000000 2 2.0 1 1 3073 0.0000000.000000 4 4.0 1 1 3073 0.000000 0.0000 8 8.0 1 1 3073 0.0000 0.000000 0.000000 16 16.0 1 1 3073 0.0000 1 1 3073 0.000000 0.000000 128 128.0 1 1 3073 0.000000 0.000000 256 256.0 1 1 3073 0.001953 0.003906 512 512.0 2 2 3073 0.002930 0.003906 1024 1024。0 3 3 3073 0.002930 0.002930 2048 2048.0 5 5 3073 0.006836 0.010742 4096 4096.0 3 3 3073 0.012573 0.018311 8192 8192.0 5 5 3073 0.014465 0.016357 16384 16384.0 3 3 3073 0.017029 0.019592 32768 32768.0 6 6 3073 0.017731 0.018433 65536 65536.0 6 6 3073 0.017891 0.018051 131072 131072.0 5 5 3073 0.017975 0.018059 262144 262144.0 3 3 3073014465 0.016357 16384 16384.0 3 3 3073 0.017029 0.019592 32768 32768.0 6 6 3073 0.017731 0.018433 65536 65536.0 6 6 3073 0.017891 0.018051 131072 131072.0 5 5 3073 0.017975 0.018059 262144 262144.0 3 3 3073014465 0.016357 16384 16384.0 3 3 3073 0.017029 0.019592 32768 32768.0 6 6 3073 0.017731 0.018433 65536 65536.0 6 6 3073 0.017891 0.018051 131072 131072.0 5 5 3073 0.017975 0.018059 262144 262144.0 3 3 3073

終了した実行 パスあたりのサンプル数 = 3000 パス使用 = 100 加重サンプル合計 = 300000.000000 加重ラベル合計 = 0.000000 平均損失 = 0.017887 合計特徴数 = 921900000

トレーニング中は完全に予測しているように見えますが、出力されたモデルを使用した後、突然すべてがカテゴリ 6 になります。何が問題なのか本当にわかりません。