<p>Vowpal Wabbit is based on online learning (SGD-like updates, but there is also <code>--bfgs</code> if you really need batch optimization) and (machine learning) <a href="https://vowpalwabbit.org/features.html" rel="nofollow noreferrer">reductions</a>. See some of the <a href="https://vowpalwabbit.org/tutorials.html" rel="nofollow noreferrer">tutorials</a> or <a href="https://vowpalwabbit.org/research.html" rel="nofollow noreferrer">papers</a> to understand the idea of reductions. Many VW papers are also about Contextual Bandit, which is implemented as a reduction to a cost-sensitive one-against-all (OAA) classification (which is further reduced to regression). See a simple <a href="https://medium.com/value-stream-design/machine-learning-reductions-mother-algorithms-part-i-introduction-67c1a69a4b4e" rel="nofollow noreferrer">intro into reductions</a> or a simple <a href="https://github.com/VowpalWabbit/vowpal_wabbit/blob/master/vowpalwabbit/binary.cc" rel="nofollow noreferrer">example how binary classification is reduced into regression</a>.</p>
<p>As far as I know, VowpalWabbit does not support Decision trees nor ensembles, but see <a href="https://arxiv.org/abs/1502.02651" rel="nofollow noreferrer"><code>--boosting</code></a> and <a href="https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Command-Line-Arguments#learning-algorithm--reduction-options" rel="nofollow noreferrer"><code>--bootstrap</code></a>. It does not support SVM, but see <code>--loss_function hinge</code> (hinge loss is one of the two key concepts of SVM) and <a href="https://github.com/JohnLangford/vowpal_wabbit/wiki/ksvm.pdf" rel="nofollow noreferrer"><code>--ksvm</code></a>. It does not support NN, but <code>--nn</code> (and <a href="https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Command-Line-Arguments#neural-network-options" rel="nofollow noreferrer">related options</a>) provides a very limited support simulating a single hidden layer (feed-forward with tanh activation function), which can be added into the reduction stack.</p>
Can we specify which algorithm to use (e.g., decision tree, SVM, ensemble, NNs) in Vowpal Wabbit? Or, does Automl select the algorithm itself?
<p>I am trying to read the <a href="https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Algorithm-details" rel="nofollow noreferrer">documentation</a> of Vowpal Wabbit and it doesn't specify how to select specific learning algorithms (Not loss) like SVM,NN, Decision trees, etc. How does one select a specific learning algorithm?</p>
<p>Or does it select the algorithm itself depending on problem type (regression/classification like an automl type or low-code ML library?</p>
<p>There are some blogs showing to use Neural networks with <code>-nn</code> command but that isn't part of documentation--is this because it doesn't focus on specific algorithm, as noted above? If so, What is Vowpal Wabbit in essence?</p>