Machine learning and Programming Languages
- Python 下的 TensorFlow 以及 torch 底层都是通过 C++ 实现的,考虑到性能的需要;
- Java:Weka
- C/C++:regression(Liblinear),SVM(Libsvm)
- Eric Yuan’s Blog(C++ 实现各种算法,以 OpenCV 作为矩阵运算的库)
1. C++开源库
矩阵运算库:
- JMLR Machine Learning Open Source Software
- mlpack :C++ machine learning library.
SHARK :a modular C++ library for the design and optimization of adaptive systems. It provides methods for :
- linear and nonlinear optimization, in particular evolutionary and gradient-based algorithms,
- kernel-based learning algorithms and neural networks, and various other machine learning techniques.
SHARK serves as a toolbox to support real world applications as well as research in different domains of computational intelligence and machine learning. The sources are compatible with: Windows, Solaris, MacOS X, and Linux.
Dlib-ml:an open source library, targetedat both engineers and research scientists, which aims to provide a similarly rich environment fordeveloping machine learning software in the C++ language.
Eblearn:an object-oriented C++ library that implements various machine learning models, including:
- energy-based learning,
- gradient-based learning for machine composed of multiple heterogeneous modules.
- In particular, the library provides a complete set of tools for building, training, and running convolutional networks.
2. 机器学习的开源软件
MLOSS:Machine Learning Open Source Software