Tutorials¶
This page gives a gentle introduction into Shark. The quick tutorial section gives an introduction into the most important core components. For neural network training, following the neural entwork tutorials is very helpful for a first step. If you are already familiar with the Shark architecture, the documentation of the key concepts and list of classes can be found below:
Concept |
Class List |
---|---|
Gradient-Based Optimization, Direct-Search Optimizers, Multi-Objective Optimizers |
|
Quick tutorial¶
In case you are new to Shark, we give you a quick tour over the core components. We first show how to set up either a traditional Makefile or a CMake file for your application program. Then we move on to a simple Hello-World example of what linear binary classification can look like in Shark. The third tutorial illustrates the model-error-optimizer trias often encountered in Shark through a simple regression task.
Neural Networks¶
A very important class of machine-learning models are Neural Networks. This section discusses the creation and training of multi-layer neural networks
Data Handling¶
Since many machine learning algorithms work on real-world datasets, we extensively cover Shark’s Data class as well as common operations on them:
Specific Machine-Learning Algorithms¶
Here come tutorials for some selected algorithms implemented in Shark. It must be said that this is only the tip of the iceberg, many more machine learning algorithms and tools are provided by the library.
Let’s start with some classical methods:
Tree-based algorithms:
Kernel methods – support vector machine training and model selection:
Optimization:Direct-Search¶
Shark offers many direct-search algorithms. The most important one is the CMA-ES in the single and multi-objective variants
Restricted Boltzman Machines¶
Tools¶
Finally, we present functionality which are not machine learning facilities themselves, but necessary or helpful tools.
For convenience, Shark provides a statistics class wrapper, as well as generic support for serialization:
For Shark developers¶
Note that Shark follows a
If you contribute to Shark, you might also find these documents helpful: