- Monte Carlo Machine Learning Library (MCMLL)
-
The Monte Carlo Machine Learning Library (MCMLL) is an open source C++ template library which already relies on some C++0x specs. MCMLL is licensed under the GNU GPL. It is developed under the 64 bit Linux OS. MCMLL should be usable on other platforms as well, since it is based on ISO C++.
The philosophy behind MCMLL is to have a broad range support for Monte Carlo methods to implement machine learning applications. Since Monte Carlo methods are inherently parallelizable, the goal is to provide multi-threaded implementations of the most important methods.Contents
Overview
MCMLL has an emphasis on Monte Carlo methods. Some main components of MCMLL are:
- complete framework for vector and matrix computations
- multi-threaded support for generic Evolutionary algorithms (EA)
- support for generic Sequential Monte Carlo methods ('Particle Filtering').
Example applications include:
- support for learning Artificial Neural Networks (ANN) using EA's
- example programs for Sequential Monte Carlo methods ('Particle Filtering')
- a benchmark suite for testing and implementing Evolutionary Algorithms.
Supported Evolutionary Algorithms
The supported EA's are:
- Genetic Algorithm (GA)
- Particle Swarm Optimization (PSO)
- Differential evolution family: (DE, jDE[1], JADE[2] without history, R2DE[3], SAR2DE[4], ...)
- Covariance Matrix Adaptation Evolution Strategies (CMA-ES)
- Artificial Bee Colony Algorithm (ABC)
- many more...
Supported Sequential Monte Carlo Methods
For particle filtering, the Sequential Importance Resampling (SIR) method is supported. To create an SMC application based on MCMLL, one has to define an observation distribution, a transition distribution and optionally an importance distribution to be used in the SIR operator.
References
- ^ J. Brest, S. Greiner, B. Boskovic, M. Mernik, V. Zumer. Self-Adapting Control Parameters in Differential Evolution: A Comparative Study on Numerical Benchmark Problems. IEEE Transactions on Evolutionary Computation, 2006. DOI 10.1109/TEVC.2006.872133
- ^ Jingqiao Zhang and Arthur C. Sanderson. 2009. JADE: adaptive differential evolution with optional external archive. Trans. Evol. Comp 13, 5 (October 2009), 945-958. DOI=10.1109/TEVC.2009.2014613 http://dx.doi.org/10.1109/TEVC.2009.2014613
- ^ Onay Urfalioglu and Orhan Arikan, Randomized and Rank Based Differential Evolution, Machine Learning and Applications, Fourth International Conference on, vol. 0, isbn 978-0-7695-3926-3, 2009, pp 95--100, http://doi.ieeecomputersociety.org/10.1109/ICMLA.2009.29
- ^ Urfalioglu, Onay and Arikan, Orhan, Self-adaptive randomized and rank-based differential evolution for multimodal problems, Journal of Global Optimization, Springer Netherlands, 2011, pp 1--34, http://dx.doi.org/10.1007/s10898-011-9646-9
External links
Categories:- Free software programmed in C++
- Monte Carlo software
- Concurrent programming libraries
- Evolutionary computation
- Classification algorithms
- Data mining and machine learning software
Wikimedia Foundation. 2010.