Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems. It is used in both industry and academia in a wide range of domains including robotics, embedded devices, mobile phones, and large high performance computing environments.
The machine learning algorithms include:
- Deep Learning
- Conventional SMO based Support Vector Machines for classification and regression
- Reduced-rank methods for large-scale classification and regression
- Relevance vector machines for classification and regression
- General purpose multiclass classification tools
- A Multiclass SVM
- A tool for solving the optimization problem associated with structural support vector machines.
- Structural SVM tools for sequence labeling
- Structural SVM tools for solving assignment problems
- Structural SVM tools for object detection in images as well as more powerful (but slower) deep learning tools for object detection.
- Structural SVM tools for labeling nodes in graphs
- A large-scale SVM-Rank implementation
- An online kernel RLS regression algorithm
- An online SVM classification algorithm
- Semidefinite Metric Learning
- An online kernelized centroid estimator/novelty detector and offline support vector one-class classification
- Clustering algorithms: linear or kernel k-means, Chinese Whispers, and Newman clustering.
- Radial Basis Function Networks
- Multi layer perceptrons
The numerical algorithms include:
- A fast matrix object implemented using the expression templates technique and capable of using BLAS and LAPACK libraries when available.
- Numerous linear algebra and mathematical operations are defined for the matrix object such as the singular value decomposition, transpose, trig functions, etc.
- General purpose unconstrained non-linear optimization algorithms using the conjugate gradient, BFGS, and L-BFGS techniques
- Levenberg-Marquardt for solving non-linear least squares problems
- Box-constrained derivative-free optimization via the BOBYQA algorithm
- An implementation of the Optimized Cutting Plane Algorithm
- Several quadratic program solvers
- Combinatorial optimization tools for solving optimal assignment and min cut/max flow problems as well as the CKY algorithm for finding the most probable parse tree
- A big integer object
- A random number object
No comments:
Post a Comment