問題タブ [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.
machine-learning - デーモン モードで Vowpal Wabbit から生の予測を取得する
次のコマンドを使用して、デーモン モードで Vowpal Wabbit を起動しています。
vw --loss_function hinge --ect 250 --quiet --passes 5 -b 25 --daemon --port 10001 --pid_file pidfile
これはうまく機能し、ソケットに接続してデータを送信し、回答を読み取ることで予測を取得できます。
私の質問は、デーモンモードのときにソケットを介して渡された生の予測を取得することも可能ですか?
答えとしてだけではなく、代わり
1.000000
に何かを得たいと思い1:-2.31425 2:-3.98557 3:-3.97967
ます。
r - CSV から Vowpal への入力形式 - 遅い R コードの最適化
高速な CSV から Vowpal への入力形式トランスレータを構築しようとしています。libsvmに関連するいくつかの優れたコードを見つけ、それに基づいて例を示しました。提供された小さなタイタニック データ セットではうまく機能しますが、実際のデータ セットは 4.5 ミルを超えています。200 以上の機能を備えた観測。強力なサーバーで提供されるコードでは、3 日かかります。
ここで単一のループを削除する方法はありますか? Vowpal には独自のスパース性があるため、コードは毎回インデックスをチェックして、すべての行で 0 または NA を除外する必要があることに注意してください。(vowpal は、データ フレームとは異なり、各行に同じ数のフィーチャを保持する必要はありません)。すべての行をメモリに保持するのではなく、すべての行をファイルに書き込むことで問題ありません。どんな解決策も大歓迎です!
vowpalwabbit - vowpal wabbit は勾配降下アルゴリズムでどのように機能しますか?
vowpal wabbit アルゴリズムを理解しようとしています。VWとその実装方法を理解するのを手伝ってくれる人はいますか
feature-selection - Vowpal Wabbit 相互作用の冗長性
-q パラメータを介して、VW が相互作用項を作成するように見える方法に興味があります。
この図では、cats.vm というおもちゃのデータを使用しています。
VW が相互作用用語を作成する方法には、いくつかの矛盾があるようです。以下にいくつかの例を示します。コマンドは常に次のようになり、-q のみが変更されます。
1.-qaa
ここでは、名前空間内で機能が 1 つだけの相互作用があり、期待どおりに黒と白 (黒 ^ 2 と白 ^ 2) の 2 次項のみが得られます。
2.-q ab
2 つの名前空間 (そのうちの 1 つには複数の機能があります) 間の相互作用では、a または b のいずれにもアイテムの二次項がないことを除いて、物事は予想どおりです (例: 黒*黒)
質問 1: これらの「名前空間間の相互作用」に、black*black などの多項式項を強制的に含める方法はありますか?
3. -q bb
ここでは、2 つの機能がある名前空間内で対話します。重複があります (例: b^large^b^green:81557:0.112864 と b^green^b^large:110857:0.112864)。
質問 2: これらの重複した用語はモデル内にありますか、それとも --invert_hash の問題ですか? 重みはすべての複製で同じです。たとえば、緑と大きな相互作用の完全な効果を得るには、緑*大きな重みを 2 倍にする必要がありますか?
vowpalwabbit - Vowpal Wabbit 特徴抽出
vw が機能を抽出する方法について混乱しています。文字 ngram を機能として使用したいテキスト分類の問題を考えてみましょう。私の質問を説明する最も単純なケースでは、入力文字列は「aa」で、1 グラムの機能のみを使用します。したがって、この例は、次のように、カウントが 2 の単一の機能「a」で構成されている必要があります。
ただし、文字列「aa」を vw に渡すと (文字間にスペースが入ります)、vw は次の 2 つの機能を報告します。
実際のモデルには 1 つの機能しか含まれていませんが (予想どおり)、その重み (0.375311) は最初のモデル (0.196698) とは異なります。
より高次の n グラムを使用して実際のデータセットでトレーニングを行う場合、使用する入力形式によって、平均損失に大きな違いが見られます。私は parser.cc のソース コードを調べましたが、もう少し時間があれば何が起こっているのか理解できるでしょう。しかし、誰かが上記の 2 つのケースの不一致 (バグですか?) を説明したり、ソースの関連部分を教えてくれたりしたら、助けていただければ幸いです。