VWとは
The Vowpal Wabbit (VW) project is a fast out-of-core learning system sponsored by Microsoft Research and (previously) Yahoo! Research.
Install
要Boost.
Linux
vowpal_wabbit/README.mdに書いてある通り,git cloneしてmakeする.それが駄目なら./autogen.shしてからmakeする.
自分の場合は./autogen.shがエラーを吐いたので調べたところ,./autogen.sh内部でldconfigに失敗してBOOST_DIR_ARGが取得できていないのが原因だった.su権限でldconfigをしてLIBFILEの箇所を以下のように書き換えて対処した.当然ながらこれは環境に依存するので,自身の環境でLIBFILEに渡すコマンドを実行して置き換える.
1 2 |
|
Mac OS X
Mac OS Xの場合Homebrewでバイナリをインストール可能だが,vw-varinfo等のutil系は入らない.
1 2 3 4 5 6 7 8 9 10 |
|
Windows
VWを始めるときに気をつけるポイント
- VWの独自フォーマット
- VWを使いはじめるときの最初の難関ポイント
- 自分でcsvなどのデータをVWフォーマットに変換する必要がある
- カテゴリ変数やテキストはそのまま列挙しても大丈夫.VWの方でn-gramも取ることができる
- VWのパラメータ名
- 資料によってパラメータの名前が違うので注意
- 自分の環境で
vw --help
して適宜読み替える
Tutorial
- Tutorial · JohnLangford/vowpal_wabbit Wiki
- https://github.com/JohnLangford/vowpal_wabbit/wiki/v7.0_tutorial.pdf
- Binary Classification and Regression
- Multiclass Classification
- “Offline” Contextual Bandit
- Sequence Predictions
- https://github.com/JohnLangford/vowpal_wabbit/wiki/v7.0_tutorial.pdf
- Convex Optimized - Vowpal Wabbit tutorial for the Uninitiated
- かなり幅広く網羅したtutorial
vw-varinfoについて
vw-varinfoを使うことによって,変数ごとに重み等の情報を出力することができる.
Other Resources
- Terascale Learning
- Technical Tricks of Vowpal Wabbit
- Large scale L1 feature selection with Vowpal Wabbit - FastML
- L1 Regularizationについて
- Vowpal Wabbit eats big data from the Criteo competition for breakfast - FastML
- コンペの評価方法がLogarithmic Lossだから,VWの
--loss_function
をlogisticにしてくとVWの標準出力のaverage lossの部分がだいたいKaggleのスコアになるという話 - 変数が大量にあるとfeature hashingの時にHashValが衝突(collision)するから,
-b
でhashing spaceをちょっと大きめにしておくといいという話- Feature Hashing and Extraction · JohnLangford/vowpal_wabbit Wiki
- -bのデフォルトが18なので,218 =262,144くらいのfeature数なら問題無い.むやみに大きくしても意味がないので,使用するデータのfeature数に合わせて調節する
- VWは通常メモリ使わないほうだけど,
-b
を大きくするとGBレベルでメモリ消費するようになる.最大の-b 32
だと64GB程度
- コンペの評価方法がLogarithmic Lossだから,VWの
- Vowpal Wabbit for Fast Learning - Machine Learning - Site Home - TechNet Blogs
- Vowpal Wabbitの名前の由来が書いてある
- Go non-linear with Vowpal Wabbit - FastML
- VWの様々な機能(Neural Network,Quadratic and cubic features, N-grams)について
- Movie Review Sentiment Analysis with Vowpal Wabbit | MLWave
- 映画レビューサイトのテキストを使ったsentiment analysisにVWを使った話
- vw-varinfoを使うことによってpositive/negativeな単語のfeature relevanceを可視化している
- Vowpal Wabbit, Liblinear/SBM and StreamSVM compared - FastML
- Vowpal Wabbit,LiblinearとStreamSVMの比較
- Open Machine Learning
- 以下の2つの講演を見ることができる
- ” Vowpal Wabbit and Learning to Search by John Langford and Hal Daume”
- msrvideo.vo.msecnd.net/rmcvideos/227009/dl/227009.mp4
- Vowpal Wabbit - Microsoft Researchのほうが,講演とスライドが並列に見ることができて便利
- “Vowpal Wabbit future plans”
- How to run external programs from Python and capture their output - FastML
- Vowpal WabbitをPythonから動かして出力をスクリプト内で取得する方法
- 記事内にも書いてあるけれども,PythonでVowpal Wabbitを扱うならvowpal_porpoiseやpyvw,wabbit_wappaなどのパッケージを使うという手もある
- Vowpal Wabbit 7.8 at NIPS « Machine Learning (Theory)
- Vowpal Wabbit 7.8のリリースノート
- Text Analytics and Vowpal Wabbit in Azure Machine Learning Studio | Windows Azure | Channel 9
- “This video talks about text analytics capabilities in Azure Machine Learning Studio using Vowpal Wabbit to solve text classification problems.”